默克尔根(加密货币)
什么是默克尔根?
Merkle 根是作为区块链网络中一个块的一部分的所有交易的所有散列的散列。
理解默克尔根
区块链由相互链接的各种块组成(因此称为区块链)。哈希树或Merkle 树以高效且安全的方式对区块链数据进行编码。它可以快速验证区块链数据,以及在点对点区块链网络上将大量数据从一个计算机节点快速移动到另一个计算机节点。
区块链网络上发生的每笔交易都有一个与之关联的哈希值。然而,这些散列不是按顺序存储在块上的,而是以树状结构的形式存储的,这样每个散列都按照父子树状关系链接到其父级。
由于在一个特定的区块上存储了许多交易,因此该区块中的所有交易哈希也会被哈希,这会产生一个 Merkle 根。
例如,考虑一个七事务块。在最低级别(称为叶级别),将有四个事务哈希。在叶级以上的第一级,将有两个事务哈希,每个哈希都将连接到叶级低于它们的两个哈希。在顶部(第二级),将有最后一个称为根的事务哈希,它将连接到它下面的两个哈希(在第一级)。
实际上,您会得到一个倒置的二叉树,树的每个节点只连接到它下面的两个节点(因此得名“二叉树”)。它在顶部有一个根哈希,连接到第一级的两个哈希,每个哈希又连接到第三级(叶级)的两个哈希,并且结构继续取决于事务哈希的数量。
哈希从最低级别(叶级)节点开始,所有四个哈希都包含在第一级链接到它的节点的哈希中。类似地,散列在第一级继续,这导致散列的散列达到更高的水平,直到达到单个顶部根散列。
这个根哈希称为 Merkle 根,由于哈希的树状链接,它包含有关块上存在的每个单个事务哈希的所有信息。它提供了一个单点哈希值,可以验证该块上存在的所有内容。
例如,如果必须验证声称来自 #137 区块的交易,他们只需要检查区块的 Merkle 树,而无需担心验证区块链上任何其他区块上的任何内容,例如区块 #136 或区块 # 138.
输入 Merkle 根,进一步加快验证速度。由于它携带有关整棵树的所有信息,因此只需验证该事务哈希、其兄弟节点(如果存在),然后向上进行直到到达顶部。
从本质上讲,Merkle 树和 Merkle 根机制显着降低了要执行的散列级别,从而实现更快的验证和交易。
## 强调
Merkle 根是维持比特币和以太币等加密货币所需计算的核心。
Merkle 根用于加密货币,以确保在点对点网络上的对等点之间传递的数据块是完整的、未损坏的和未更改的。
Merkle 根是一种简单的数学方法来验证 Merkle 树上的数据。