-
Notifications
You must be signed in to change notification settings - Fork 381
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
Directed acyclic graph of causal dependencies (partial packet ordering) #550
Comments
Do we care about the "multi-chain execute or rollback" case or is that out of scope? Chain A executes state transition 1, chain B executes state transition 2, either:
Right now this would need to be done at the application layer, since A and B would have independent channels to C. With acyclic ordering, this would be possible if a packet receive on C were dependent on a send on A and a send on B, and the timeout of that packet could rollback both A & B - I think it breaks the channel abstraction though, so perhaps not worth it for now. Alternatively we could implement atomic co-dependencies:
What about that? Not too complex, and I think it does the trick... |
Note that validity predicates can be used across connections so new connections are not needed. |
Decided not to put this in IBC v1. Partial cross-chain ordering is a very interesting research topic and should be planned for IBC v2! |
Very cool idea here. And I definitely agree to keep this as a 2.0 feature. Let's get the basic ordered/unordered channels implemented, and deployed and then have some real use cases where this will be a useful optimizations. I ❤️ DAG, vector clocks, and CRDTs... it would be awesome to enable some advance distributed system techniques on top of IBC. |
Interchain Accounts would benefit greatly from this (it would order based on account sequences). See discussion I think this would be a great feature to add to TAO v1.1.0 |
Split off from #126.
Desiderata
Implementation
(source connection || source channel || packet sequence || packet data)
Questions
The text was updated successfully, but these errors were encountered: