建议和反馈

请填写你的反馈内容

问答 > 以太坊 > 问答详情
求助中

以太坊MPT中分支节点的value存的具体是什么?可以举个例。268LK

在MPT中,叶子节点和扩展节点到底哪个才是真正存储交易的?扩展节点和分支节点哪个更偏向代表前缀?如果一个扩展节点有多个叶子节点孩子,那扩展节点的value又存储什么?可以具体举个交易实例说明,谢谢!

2018-12-19
0
请先登陆或注册

Vicky2018-08-16

叶子节点存储数据,扩展节点存储key的前缀,一个扩展节点只能有一个子节点,可以为分支节点或叶子节点。分支节点的Value一般为空,如果有数据的Key值在其上的扩展节点终止,那么数据Key对应的Value值则存储在分支节点的Value属性上。参考链接:http://www.blockchainbrother.com/article/805

示例如下:

image.png

投一票
评论(0)
赞赏(0)
过路人2018-08-09

目前我所看到的时存储的分支节点的key值list中的最后一个值,有待验证

投一票
评论(0)
赞赏(0)
区块链小白2018-07-18

传统merkle树的一个特别的限制是,它们虽然可以证明包含此交易,但无法证明任何当前的状态(例如:数字资产的持有,名称注册,金融合约的状态等)。你现在拥有了多少个比特币?一个比特币轻客户端,可以使用一种涉及查询多个节点的协议,并相信其中至少会有一个节点会通知你关于你的地址中任何特定的交易支出,而这可以让你实现更多的功能。但对于其他更为复杂的应用而言,这些远远是不够的。一笔交易影响的确切性质(precisenature),可以取决于此前的几笔交易,而这些交易本身则依赖于更为前面的交易,所以最终你可以验证整个链上的每一笔交易。为了解决这个问题,以太坊的梅克尔树的概念,会更进一步。

投一票
评论(1)
赞赏(2)
    4条回答
  • 过路人

    这个我看过,就是有点抽象。你的意思是具体value值是自己设计的,并不是他限制,比如说如果分支节点代表公共前缀,那就限制统一为公共前缀?扩展节点的value为hash值,我实在想不出来分支节点的value存啥,可以麻烦您具体一点,随便举个实例吗?

区块链小白2018-07-18

你可以存储自己想写的东西,但是字节越多,收的以太坊越多


投一票
评论(1)
赞赏(4)
    4条回答
  • 过路人

    我的意思是Merkle Tree里面节点存储的是hash值,以太坊MPT里面参考了trie树,肯定是有用到字典树的特性,那MPT里面压缩路径后的公共前缀是存在哪?分支节点和扩展节点的具体作用是啥?我将MPT和MT+trie对应不起来

求助中

解决了这个问题,预计可以帮助到

  • 2
  • 3
  • 1
  • 9
  • 8
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励