04.区块链的那些事儿-以太坊中的 Patricia Tree

本节主要讨论以太坊中存储的 Patricia Tree

比特币只有1棵Merkle树,而以太坊的每一个区块头,并非只包含1Merkle Tree,而是包含了3棵Merkle Tree,分别对应了三种对象:

  • 交易(Transactions)
  • 收据(Receipts)展示每一笔交易影响的数据条
  • 状态(State)

整体结构如下所示:

 

 

 

最为简单的一种Merkle Tree大多数情况下都是一棵二叉树。在以太坊中所使用的Merkle Tree较为复杂,我们称之为“梅克尔.帕特里夏树”(Merkle Patricia tree),存储数据的逻辑如下所示

 

 

以太坊中的状态树基本上包含了一个键值映射,其中的键是地址,而值包括账户的声明、余额、随机数nounce、代码以及每一个账户的存储(其中存储本身就是一颗树)。

不同于交易历史记录,状态树需要经常地进行更新:账户余额和账户的随机数nonce经常会更变,更重要的是,新的账户会频繁地插入,存储的键( key)也会经常被插入以及删除。我们需要这样的数据结构,它能在一次插入、更新、删除操作后快速计算到树根,而不需要重新计算整个树的Hash。

 

 

 

关注公众号,并回复“区块链技术项目开发”,下载实战案例

https://i-blog.csdnimg.cn/blog_migrate/b739f07784d0780da6fc7bd6dfa0a8b0.jpeg

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值