Skip to content
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

Followup from discussions with Agoric #126

Closed
10 tasks
cwgoes opened this issue Jun 15, 2019 · 2 comments
Closed
10 tasks

Followup from discussions with Agoric #126

cwgoes opened this issue Jun 15, 2019 · 2 comments
Assignees
Labels
brainstorming Open-ended brainstorming.

Comments

@cwgoes
Copy link
Contributor

cwgoes commented Jun 15, 2019

  • Timeouts should close ordered channels

  • Implement unordered channels, with causally independent packet timeouts

  • Investigate feasibility of DAG ordering on individual packets (including cross-chain)
    Hunch: more reliable channel ==> efficient acknowledging for multiple messages
    Unordered channel ==> selective acknowledgement with message hash
    Packet identities are hash of contents & predecessors, can assume ordering of receipt

  • Think about possible fairness guarantees across channels on a connection (maybe for v2)
    Fairness across set of connections
    Fairness across set of channels on a connection
    We can at most restrict validator ordering choices
    Priority of given message determined by sender

  • Clarify IBC relayer module interface, note that it is recommended to users

  • Optional acknowledgements of success / failure for packets
    Module can choose whether or not to register acknowledgement handler
    Can tell that no reaction will take place, so don't bother acknowledging

  • Close "reason" for channels
    Reason as bytestring for voluntary closure provided by channel
    System-level reasons for closure (maybe modules can register hooks)
    Think about cryptoeconomics

  • Think about multi-hop case, construct data structures accordingly (e.g. channels are end-to-end)
    Distinguish between multi-hop, single-hop in data structures, multi-hop not yet supported
    Maybe trivial "IBC routing" module, maybe it handles loopback

  • Review IBC interface for use "slotting in" as VatTP in Agoric's protocol

  • Write specification-compliance testsuite with full spec coverage
    Some level of "binary datagram" -> "binary datagram[s]"
    How to define testsuite, parse JSON

@cwgoes cwgoes added the brainstorming Open-ended brainstorming. label Jun 15, 2019
@cwgoes cwgoes self-assigned this Jun 15, 2019
@erights
Copy link

erights commented Jun 21, 2019

For reference, here's the recordings of my two presentations at the summit, with discussion:

Relative Routing
https://www.youtube.com/watch?v=a0Wr2BvIixk

ERights Pegging
https://www.youtube.com/watch?v=nNImbry1HLM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
brainstorming Open-ended brainstorming.
Projects
None yet
Development

No branches or pull requests

2 participants