-
Notifications
You must be signed in to change notification settings - Fork 384
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
IBC as layered-interchangeable-protocol-stack #45
Comments
This requires the block in consensus primitives need to specify the state structure. I think using Also, are we considering to send negotiation messages as a form of |
|
Big fan of this. This makes a ton of sense @cwgoes |
Great idea to keep these clearly defined levels that only depend on one clear interface. Then it is easy to add orthogonal power... 👍 |
Can we foresee places where the abstractions might leak ? |
I could foresee future optimizations that would traverse layers (as also exist in TCP/IP I think), but at the moment I can't think of any protocol-level "layer leakage" other than would result accidentally from imprecise design - although the layers I listed may not be the final set or ordering. |
This has been reflected in the protocol design. |
I think it will help to conceptualize IBC as a layered protocol stack (similar to the IP in this sense).
Layers:
The key insight is that lower layers (lower numbers) have no "knowledge" of higher layers - none of their security properties are dependent on those of higher layers, they rather provide primitives and security properties using which higher layers derive their primitives and security properties.
Furthermore, higher-layer protocols should:
For example, channel semantics should not depend on the kind of lite client proof used.
Then it will be easy to instantiate variants of different layers while retaining security guarantees.
This may seem banal but I think it will end up being important that we keep the hierarchy strict.
The text was updated successfully, but these errors were encountered: