Merkle Tree多数是用来进行比对和验证处理,一般意义上来讲,它是哈希大量聚集数据“块”的一种方式,它依赖于将这些数据“块”分裂成较小单位
的数据块。每一个小单位数据块仅包含几个数据“块”,然后取每个小单位数据块再次进行哈希,重复同样的过程,直至剩余的哈希总数仅变为1,也就
是根哈希。
Merkle Tree具有以下特点:
1. 它是一种树,可以是二叉树,也可以多叉树,无论是几叉树,它都具有树结构的所有特点;
2. Merkle树的叶子节点上的value自主设定,Merkle Hash Tree会将数据的Hash值作为叶子节点的值;
3 非叶子节点的value是根据它下面所有的叶子节点值,然后按照一定的算法计算而得出的。如Merkle Hash Tree的非叶子节点value的计算方法是将该节点的所有子节点进行组合,然后对组合结果进行hash计算所得出的hash value。
比特币钱包服务用 Merkle Tree 的机制来作”百分百准备金证明“ 。证明主要过程是构建Merkle Tree,当构建完该树,且根节点的余额与公布的储蓄地址余额相同,即可100%储备。(如图)
参考:
http://blog.bifubao.com/2014/03/16/proof-of-reserves/