【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 行业 » 正文

以太坊中交易树和收据树介绍

放大字体  缩小字体 发布日期:2020-08-29 07:36:02    浏览次数:5
导读

  前面文章介绍了状态树,接下来介绍交易树和收据树,跟哈希值对应区块头中的TxHash和ReceiptHash。  交易树跟比特币系统中的默克尔树类似,就是当前区块中所有交易组成的一棵树,不同的是交易树类型是MPT(Merkle Patricia Tree)树,键值是交易在发布区块时的序号。  每个交易执行完毕后,都会有一个收据,这个收据

  前面文章介绍了状态树,接下来介绍交易树和收据树,跟哈希值对应区块头中的TxHash和ReceiptHash。

  交易树跟比特币系统中的默克尔树类似,就是当前区块中所有交易组成的一棵树,不同的是交易树类型是MPT(Merkle Patricia Tree)树,键值是交易在发布区块时的序号。

  每个交易执行完毕后,都会有一个收据,这个收据记录交易的相关信息。每个区块中,所有交易的收据会组织成一颗收据树,与交易树是一一对应的,同样也是MPT树类型。

  在以太坊中最重要的功能是加入了智能合约,而智能合约的执行过程比较复杂,收据树的作用是利于系统快速查询执行结果。

  Bloom Filter在前面文章有讲解过,这里不再阐述,有兴趣的可以翻阅前面文章。大致总结如下几点:

  2.有可能出现漏报,但一定不会出现漏报(哈希碰撞)。可以采用一组哈希函数映射,避免出现哈希碰撞。

  3.普通的Bloom Filter不支持删除元素操作。删除元素时改变位状态,可能存在其他元素映射到相同位置而受到影响。

  在区块头中有一个总的Bloom Filter,是区块中所有交易收据的Bloom Filter的并集。

  当我们需要查找过去某段时间某个智能合约相关的所有交易时,第一步,在区块头中查找是否存在相关的交易类型;第二步,若存在,则在区块内部的所有收据里的Bloom Filter中查找。若第一步中没有查到,则无需第二步了,直接查找下个区块。

  状态树、交易树、收据树都是MPT树。发布区块时,状态树是保存的所有账户(发生过交易的账户)的树,而交易树和收据树是当前区块的交易组织起来的。

  交易树和收据树,由于文章篇幅有限,这里只讲解了一些基本原理,若要深入研究,可参考以太坊的源码和官方文档深入理解。

 
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.31duo.com/news/show-483739.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4