比特币Merkle树是否总是二进制的?
(1)我想知道Merkle树的查找效率。
(2)我还没有发现任何证据表明Merkle树是强制性二进制,因此可以使用O(log2 n)查找算法。
(3)如果一个节点可以有任意数量的子节点,则查找函数将具有O(logK n * K),其中K是允许的最大子节点数(据我所记得)。
答案 0 :(得分:1)
默克尔树的定义是二进制的,请查看original patent here。比特币中的树形结构也是二进制的。
这些树不是像传统搜索树那样的查找树,而是它们被用作以后摆脱区块链数据的一种方式,但有证据证明,给定“根节点”的特定数据存在于一个块中。
您不必通过n
交易来传输整个比特币区块来表明您的交易存在于特定区块中,而只需从merkle树中提供log(n)
个节点即可。