如何生成Merkle树路径?

问题描述 投票:2回答:1

我试图了解Merkle树在SPV中的工作原理以及区块链技术中的许多其他情况,并且无法理解这一问题:如何在验证交易时生成Merkle路径。

在下图中,假设我想验证事务2,我理解3,01,4567的哈希值和根需要,但是,我想知道这个默克尔路径是如何在第一个位置生成的。

当事务2被提供给服务器/节点时,服务器/节点如何知道返回哪个路径来验证2?如果服务器已经知道此路径,为什么服务器不验证它以及为什么还要费心返回此路径?

谢谢,

blockchain merkle-tree
1个回答
1
投票

令我困惑的部分在上图中,1,2,...,8用于表示事务,但是这种过度简化的表示使我认为事务只有一个组件,因此排序和验证可以在一个动作,即被分类正在被验证。

事实上,下面的两个图显示了一条交易数据的细节,其中txid作为索引,如上面的1,2,...,8,并且交易中的内容比一个txid。

在Merkle树中,检查事务ID(txid)以将传入事务放置在Merkle树的底部的正确位置,并且Merkle路径返回到SPV以检查内容。

服务器返回Merkle路径比检查非常事务以减少工作负载更容易。因此,整个过程就可以解决了。

enter image description here enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.