2018-08-10

区块体存储着交易信息,在区块中它们是以一棵Merkle树的数据结构进行存储的,而Merkle树是一种用来有效地总结区块中所有交易的数据结构。Merkle树是一棵哈希二叉树,树的每个叶子节点都是一笔交易的哈希值。

在比特币网络中,Merkle树被用来归纳一个区块中的所有交易,同时生成整个交易集合的数字指纹即Merkle树根,且提供了一种校验区块是否存在某交易的高效途径。

生成一棵Merkle树需要递归地对每两个哈希节点进行哈希得到一个新的哈希值,并将新的哈希值存入Merkle树中,直到两两结合最终只有一个哈希值时,这个哈希值就是这一区块所有交易的Merkle根,存储在区块头结构中。

需要用两次SHA256算法对每笔交易数据进行哈希运算。得到每笔交易的哈希值。

因为Merkle树是一棵二叉树,所以它需要偶数个叶子节点,也就是偶数笔交易。

你可能感兴趣的:(2018-08-10)