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

Proof Verification of the Merkle Partricia Trie #3985

Open
cmwaters opened this issue Oct 17, 2024 · 0 comments
Open

Proof Verification of the Merkle Partricia Trie #3985

cmwaters opened this issue Oct 17, 2024 · 0 comments
Assignees

Comments

@cmwaters
Copy link
Contributor

cmwaters commented Oct 17, 2024

Summary

IBC Clients require a means of verifying parts of state of a counterparty chain. This is usually done in two steps 1) Verify the state root from a previous one 2) verify some set of data is included in the state root.

Most EVMs use a Merkle Patricia Trie (MPT) (I think here is the geth implementation). We need to support this tree structure (which is not currently part of ICS23 and has been too difficult in the past).

If we have a look at the VerifyMembership that it has to comply with we see the inputs:

  • StateRoot []byte
  • Value []byte
  • Proof []byte
  • Path string

Thus we need to use the geth library for some function that looks like this

Verify(stateRoot []byte, path string, value []byte, proof []byte) error

This will then be imported by the ZK IBC Client

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

No branches or pull requests

2 participants