JMT(Jellyfish Merkle Tree) a LSM-tree based Implementation of Sparse Merkle Tree

Inspired by Patricia Merkle Tree and has been implemented in Rust, but it is language-independent.

Merkel tree fits pretty well as an authenticated key-value store holding a huge amount of data in a tamper-proof way.

Two major concerns where people have been trying to achieve some enhnacements:

  • Computation cost

  • Storage footprint

    Among above: Sparse Merkel Tree cut off unnecessary complexity in more compact and efficient merkel tree design, to provide a more compact and efficient merkel tree.

    With sparseness can benefit:

  • Escape from excessive computation and space overhead.

  • Less CPU time in generation and verification: Smaller tree sizes, shorter proofs.

  • Less network bandwidth in transmission.

JMT(Jellyfish Merkle Tree) is built on top of a LSM-tree based key-value storage, featuring version-based key prevent heavy I/O.