Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VatTP over solo IBC #1670

Closed
6 tasks
michaelfig opened this issue Sep 2, 2020 · 1 comment
Closed
6 tasks

VatTP over solo IBC #1670

michaelfig opened this issue Sep 2, 2020 · 1 comment
Assignees
Labels
cosmic-swingset package: cosmic-swingset enhancement New feature or request security

Comments

@michaelfig
Copy link
Member

What is the Problem Being Solved?

We want to be able to use IBC to communicate between the Agoric solo machine to the Agoric chain.

Description of the Design

  • Use CosmJS's light client to connect to chain
    • remove all ag-solo Golang dependencies: use existing SwingSet-specific queries/transactions in JS
  • Implement solo IBC in Javascript
    • relayer functionality in JS
    • create a new Network API protocol to expose this functionality to ag-solo
  • Demonstrate establishing a new solo client and using VatTP over IBC as with Support IBC for comm #259

Security Considerations

Improved security, as we won't be trusting the full node we're connected to; we'll use CosmJS's light client to verify that they're telling the truth.

Test Plan

TBD, but based on #259

@dckc
Copy link
Member

dckc commented May 17, 2021

Interesting.

It looks to me like the problem being solved is rather:

  • The ag-solo wallet trusts the node that it connects to, which makes sense only for validators, not typical users (it's sort of OK in dev mode, since the dev can pretend to be a validator)
  • a separate solo/chain protocol is a source of design risk (e.g. overhaul solo-to-chain txn sending loop #2855)
  • golang code and dependencies are
    • a (small to moderate) burden on customers of the SDK who want to build from source
    • incompatible with ocap discipline (the go stdlib has lots of ambient authority and there's no feasible mechanism to confine go code)
    • a separate set of development practices and expertise (for example, unit test coverage for our go code is slim to none)

"We want to X" is rarely a useful problem statement :)

cc @warner @rowgraus

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
cosmic-swingset package: cosmic-swingset enhancement New feature or request security
Projects
None yet
Development

No branches or pull requests

2 participants