【问题标题】:How is a Merkle tree path generated?Merkle 树路径是如何生成的?
【发布时间】:2018-08-07 07:06:48
【问题描述】:

我试图了解 Merkle 树在 SPV 和区块链技术中的许多其他场景中是如何工作的,但我无法理解这个问题:在验证交易时如何生成 Merkle 路径。

在下图中,假设我要验证交易2,我了解301、4567 和根是必需的,但是,我想知道这个默克尔路径是如何生成的。

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

谢谢,


(来源:codeproject.com

【问题讨论】:

  • 我想我得到了答案。底部的交易按 txid 排序,计算整个交易区块的哈希值。现在可以关闭了。
  • 回答你自己的问题,让其他人看到你在这里学到了什么。
  • @AryanFirouzyan 当然。

标签: blockchain merkle-tree


【解决方案1】:

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

事实上,下面的两张图显示了一条交易数据的详细信息,其中 txid 作为索引,如上面的 1、2、...、8,还有更多交易而不是单个 txid。

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

服务器返回 Merkle 路径比检查交易更容易减少工作量。因此,整个过程顺利进行。

【讨论】:

    猜你喜欢
    • 2018-05-19
    • 2018-09-19
    • 2014-05-07
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多