Skip to content
This repository has been archived by the owner on Apr 20, 2021. It is now read-only.

[MerkleTree] Other implementations #66

Open
nrryuya opened this issue Dec 31, 2018 · 4 comments
Open

[MerkleTree] Other implementations #66

nrryuya opened this issue Dec 31, 2018 · 4 comments
Labels
enhancement New feature or request

Comments

@nrryuya
Copy link
Member

nrryuya commented Dec 31, 2018

@nrryuya nrryuya added the enhancement New feature or request label Dec 31, 2018
@nrryuya
Copy link
Member Author

nrryuya commented Jan 6, 2019

Bryant's suggestion.

vyperlang/vyper#806 (comment)

@fubuloubu
Copy link

I think both of those implementations have different optimizations that they make... Hard to say what the core algorithm should be, but not sure how we capture optimizations.

@fubuloubu
Copy link

fubuloubu commented Jan 7, 2019

Note that OpenZeppelin example assumes a sorted tree, which is a non-standard optimization that makes an assumption for how the keypath should be processed. A more general algorithm should not make this assumption. I believe it is a general, non-sparse merkle tree not commonly used for Plasma proofs.

@fubuloubu
Copy link

Note that Loom's implementation has an optimization including an additional data structure that declares whether a given sibling corresponds to a null subtree (allowing the compression of the branch to exclude pre-defined null nodes)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants