Paper 2021/038
Streaming Merkle Proofs within Binary Numeral Trees
Luke Champine
Abstract
We describe the binary numeral tree—a type of binary tree uniquely suited to processing unbounded streams of data—and present a number of algorithms for efficiently constructing and verifying Merkle proofs within such trees. Specifically, we present existence proofs for single leaves, for a contiguous range of leaves, and for multiple disjoint ranges. We also introduce Merkle "diff" proofs, which assert that an arbitrary modification was correctly applied to an existing tree. Each algorithm, operating on a tree with $n$ leaves and $k$ disjoint proof ranges, requires $\mathcal{O}(\log_2(n))$ space and $\mathcal{O}(n)$ time, and yields proofs of size $\mathcal{O}(k\log_2 (n))$. Furthermore, each algorithm operates in streaming fashion, requiring only a single in-order pass over the leaf data.
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Preprint. MINOR revision.
- Keywords
- merkle proofsstreaming
- Contact author(s)
- luke @ sia tech
- History
- 2021-01-12: received
- Short URL
- https://ia.cr/2021/038
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2021/038, author = {Luke Champine}, title = {Streaming Merkle Proofs within Binary Numeral Trees}, howpublished = {Cryptology {ePrint} Archive, Paper 2021/038}, year = {2021}, url = {https://eprint.iacr.org/2021/038} }