merkle-mountain-range
github.com · 488 words · saved by 1 readers
OpenTimestamps server component. Contribute to opentimestamps/opentimestamps-server development by creating an account on GitHub.
Merkle Mountain Ranges As digests are accumulated we hash them into trees, building up the largest perfect binary trees possible as we go. At least one tree will always exist, with 2^k digests at the base, and 2^(k+1)-1 total elements. If the total number of digests doesn't divide up into one perfect tree, more than one tree will exist. This data structure we call a Merkle Mountain Range, for obvious reasons, and one obscure reason: /\ / \ /\ /\ /\ /\/\/\/\/\/\/\ Since the trees are strictly append only, we can easily build, and store them, on disk in the standard breadth first tree storage. I
related reading
- commonware > Merkle Mountain Ranges for Performant Data Authenticationcommonware.xyz
- Merkle Tree | Brilliant Math & Science Wikibrilliant.org
- Merklizing the key/value store for fun and profit | Joel Gustafsonjoelgustafson.com
- What is a Merkle Tree?decentralizedthoughts.github.io
- Merkle Trees · tendermint/tendermint Wiki · GitHubgithub.com
- Git at any scalecursor.com
- Peer-to-Peer Ordered Search Indexes – 0 FPS0fps.net
- Merkle Trees & Merkle Roots: Bitcoin & Blockchain | Geminigemini.com
- How Cursor Indexes Codebases Fastread.engineerscodex.com
- Building a BFT JSON CRDTjzhao.xyz
- Static search trees: 40x faster than binary search · CuriousCodingcuriouscoding.nl
- The Hitchhiker's Guide to Ethereum - Delphi Digitalmembers.delphidigital.io