-
Notifications
You must be signed in to change notification settings - Fork 33
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
[Persistence] Evaluate Celestia's Sparse Map Tree implementation #199
Comments
Update. I sent out an initial PR with some questions related to their implementation & edits here: celestiaorg/smt#74 I have a call with someone from their team this week as well |
tl;dr We will be using this Celestia's Merkle Tree for the time being, whichis being implemented in #285.Future WorkBased on the research in [1] and [2], this fits our use case so far. Follow-up work (to be tracked in future tickets) to explain and verify this will include:
Key Reasons - Technical
Key Reasons - Technical ReassuranceThese reassurances took place after the original decision as a result from [1] and [2] which is a big ➕ .
References[1] All the rough research notes on Trees & KV stores can be found here Note: If you are an external contributor trying to access [1] or [2], reach out to the team on discord! |
Objective
Determine if we can leverage an open source Sparse Merkle Tree implementation or if we need to implement our own.
Origin Document
The implementation of Pocket Network's V1 state hash can be done independently of #147 by leveraging an existing library, but its correctness is dependent on that of the underlying library.
With cosmos leaving IAVL, there are lots of other options available in the industry. cosmos/cosmos-sdk#7100. Per the research done in this deck, Libra's Jellyfish Merkle Tree seems to be the best path forward.
One of the best open source, fully in Go, implementations we've found online is from Celestia: https://github.com/celestiaorg/smt. I've reached out to see if this is being used in production via a Tweet but have not heard back.
Goals
Deliverable
Non-goals / Non-deliverables
Creator: @Olshansk
The text was updated successfully, but these errors were encountered: