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

Implement Compact Sparse Merkle Tree (CSMT) in javascript/solidity #1

Open
eezcjkr opened this issue Nov 6, 2018 · 1 comment
Open

Comments

@eezcjkr
Copy link

eezcjkr commented Nov 6, 2018

Reference: https://github.com/ZanjeerPlatform/csmt

We should implement CSMT to allow for verifiable reads/writes to be done in NSTs.

Checklist:

  • JavaScript library that implements the reference and can also generate proofs needed for reads, writes etc. in solidity
  • Solidity library that keeps the root of CSMT and can verify reads (inclusion, non-inclusion) and writes (insertion, deletion)
@eezcjkr eezcjkr changed the title Implement CSMT in javascript/solidity Implement Comapact Sparse Merkle Tree (CSMT) in javascript/solidity Nov 6, 2018
@eezcjkr eezcjkr changed the title Implement Comapact Sparse Merkle Tree (CSMT) in javascript/solidity Implement Compact Sparse Merkle Tree (CSMT) in javascript/solidity Nov 6, 2018
@johannbarbie
Copy link
Member

johannbarbie commented Nov 6, 2018

WHY?
Compact sparse merkle trees (CSMT) can implement authenticated mappings potentially more efficient than the Patricia Merkle Tree known in Ethereum. This opens the opportunity to outsource data storage off-chain and only keep the root of the authenticated data structure on chain. When read, add, update and delete operations are required, proofs are passed along with the transaction data to operate on the data without holding the data itself on-chain. This issue will create a pair of on/off-chain library that can be used in this way.

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