Cheng Fang · Jason Li
n=32 P2P setup, interactive verification
Gen / Retrieve / Verify operations
Root trust, attack surface
Crypto exchange solvency
Decentralised file storage
Strengths, limitations & outlook
32 P2P nodes each store a copy of file d.
We want to verify integrity without downloading the whole network.
O(n) bandwidth
O(log n) proofs
Compute 32 leaf hashes from data blocks
Build tree bottom-up
Publish the Merkle root via trusted channel
Node returns a tuple:
Recompute leaf hash from received data
Follow auth path σ upward
Check computed root matches published
Assumption: The published Merkle root is authentic and delivered via a trusted channel.
Motivation: Following exchange collapses, Merkle-tree PoR is the industry standard for proving solvency without leaking user balances.
The Merkle root represents the total liabilities of the exchange.
Publish Merkle_root publicly
Send each user their leaf + σ
Users verify locally
Key insight: PoR proves "we owe you X" but not "we own X." Complete solvency proof requires Merkle PoR plus cryptographic signatures from cold-wallet addresses.
Files split into fixed-size blocks
Each chunk is hashed into a Merkle DAG
Root hash = Content Identifier
A single bit change alters the entire CID.
Identical files yield the same CID, enabling deduplication at scale.
Merkle trees provide a universal primitive for authenticated data structures — underpinning Bitcoin, Ethereum, IPFS, and Certificate Transparency.