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

SMT proofs with ics23 v0.10.0 or later #1804

Closed
Tracked by #2021
yito88 opened this issue Aug 11, 2023 · 9 comments
Closed
Tracked by #2021

SMT proofs with ics23 v0.10.0 or later #1804

yito88 opened this issue Aug 11, 2023 · 9 comments

Comments

@yito88
Copy link
Member

yito88 commented Aug 11, 2023

We're using arse-merkle-tree (our modified Sparse Merkle Tree) because the old ics23 crate didn't support SMT proofs.
ics23 v0.10.x supports them.
We can use SMT for IBC-related data.

  • Require ibc-rs v0.42.0 or later Upgrade ibc-rs to 0.47.0 with mainstream tendermint-rs #2084

  • Gaia, Osmosis, and Noble should support SMT proofs, provided by ibc-go v7 or later

    • Gaia v0.15.1 or later supported
    • Osmosis v23 or later supported
    • [Blocked] Noble doesn't support because it is still using ibc-go v4
@yito88 yito88 added the IBC label Aug 29, 2023
@yito88 yito88 changed the title Bump up ics23 to v0.10.0 SMT proofs with ics23 v0.10.0 or later Nov 9, 2023
@yito88
Copy link
Member Author

yito88 commented Nov 10, 2023

Counterparty chains should be able to verify SMT proofs. They have to use:

  • ics23 v0.9.1 or later
  • ibc-go v7 or later

But the latest Gaia v13 (also the next v14) is still using ibc-go v4 (ics23 v0.9.0) which has been already EOL...

@cwgoes
Copy link
Collaborator

cwgoes commented Feb 5, 2024

@yito88 do you know if there have been any updates here Gaia-side?

@yito88
Copy link
Member Author

yito88 commented Feb 5, 2024

In Gaia's main branch, ibc-go has been updated to v7 supporting SMT proofs.
However, it's not included in the latest release v14.1.0.

@yito88
Copy link
Member Author

yito88 commented Mar 22, 2024

Gaia v15.1.0 has been released, which version has ibc-go v7.
Started replacing arse-merkle-tree.

@yito88
Copy link
Member Author

yito88 commented Mar 22, 2024

Osmosis v23 has ibc-go v7 already.
Noble is still using ibc-go v4 according to https://github.com/circlefin/noble-fiattokenfactory

@cwgoes
Copy link
Collaborator

cwgoes commented Aug 29, 2024

@yito88 Is this issue still relevant?

@cwgoes cwgoes added this to the Future breaking upgrade milestone Aug 29, 2024
@yito88
Copy link
Member Author

yito88 commented Dec 17, 2024

The latest Noble uses ibc-go v8. To reduce the Merkle tree size, we could go back to SMT for IBC-related data. I'll test it.

@yito88
Copy link
Member Author

yito88 commented Dec 18, 2024

hmm, the current ics23 can't support our SMT. Our hack to replace the key and value in the proof doesn't work by the changes which forces to apply the given spec instead of the leaf spec.

@yito88
Copy link
Member Author

yito88 commented Dec 18, 2024

We need to keep using arse-merkle-tree. We could open it again if ics23 would support other SMTs

@yito88 yito88 closed this as not planned Won't fix, can't repro, duplicate, stale Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants