-
Notifications
You must be signed in to change notification settings - Fork 329
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
MBT: keep the latest N
heights per client in TLA+ model
#633
Comments
This is a good start. In addition we should model the |
Which implementation? |
The Rust implementation. I updated the top-level comment clarifying that. |
Maybe we should say the Rust implementation of the mock chain? I also think the TLA+ model should specify that the |
Also, iirc the TLA+ spec keeps multiple heights per client and I thought you confirmed when we talked last time. |
Done.
Yes, that's why I wrote
The TLA+ spec (not the one for MBT) also contains a single height in the create client datagram: |
Yes, in create we just add one. But update should add to the client consensus state set. I believe around here: https://github.com/informalsystems/ibc-rs/blob/b654af39c0c658d831cff42ccb11ac5562a43793/docs/spec/tla/ibc-core/ICS02ClientHandlers.tla#L62-L69 |
Crate
modules
Problem Definition
The TLA+ model in #601 only keeps a single height per client. The Rust implementation of the mock chain keeps, per client, a
ClientState
and severalConsensusState
s such that the height in theClientState
is the max of the heights in the all theConsensusState
s. Keeping severalConsensusState
s allows verifying messages containing proofs with heights lower than the latest height (the one in theClientState
).Proposal
The TLA+ model should be extended to instead keep the latest
N
heights per client. (In the current model,N = 1
.)For Admin Use
The text was updated successfully, but these errors were encountered: