以太坊中树结构
- 以太坊中所有的 merkel 树都是 MPT
- 在一个区块的头部(block head)中,有三颗 MPT 的树根:
• stateRoot
• 状态树的树根
• transactionRoot
• 交易树的树根
• receiptsRoot
• 收据树的树根
- 状态树(state trie)
• 世界状态树,随时更新;它存储的键值对 (path, value) 可以表示为
(sha3(ethereumAddress), rlp(ethereumAccount) )
• 这里的 account 是4个元素构成的数组:[nonce, balance, storageRoot,
codeHash]
- 存储树(storage trie)
• 存储树是保存所有合约数据的地方;每个合约账户都有一个独立隔离的存储空间
- 交易树(transaction trie)
• 每个区块都会有单独的交易树;它的路径(path)是rlp(transactionIndex),只有在挖矿时才能确定;一旦出块,不再更改
- • 收据树(receipts trie)
• 每个区块也有自己的收据树;路径也表示为 rlp(transactionIndex)
本文参与
腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-15,如有侵权请联系
cloudcommunity@tencent.com 删除