Elea Notes.

词条 · 加密与分布式 · 核心

Merkle 树

把一批数据两两哈希、层层向上收成一个根指纹;验证其中任何一条只需要一条极短的路径。

也称:Merkle、默克尔树、Merkle tree、Merkle root、哈希树

一句话

把 1000 笔交易的指纹两两配对、算出上一层的指纹,再两两配对……最后收敛成一个根指纹(Merkle root)。改动任何一笔交易,根就变。

它买到的两件事

一,压缩。 一个区块头只需存这一个根,就代表了里面全部交易。

二,也是更妙的一点:可以只证明一条。 要证明”某笔交易在这个区块里”,不必给出全部 1000 笔,只需要给出从这笔交易往上走到根的那条路径上的兄弟指纹——大约 log₂(1000) ≈ 10 个。验证者自己往上算,看能不能得到已知的根。

为什么这让轻钱包成为可能

这就是白皮书第 8 节的地基:手机钱包不必下载整条链的全部交易,只要拿着区块头,再向网络索取那条约 10 个哈希的路径,就能确认”我这笔钱确实被打包进去了”。

存储从”全部数据”降到”一条路径”,这是数量级的差别。

还能顺便省磁盘

一笔交易被埋得足够深之后,它的具体内容可以丢掉,只保留 Merkle 树上还需要的那些节点——根指纹不变,区块头依然完整。白皮书第 7 节讲的就是这件事。