快速学习-以太坊中树结构

以太坊中树结构

  • 以太坊中所有的 merkel 树都是 MPT
  • 在一个区块的头部(block head)中,有三颗 MPT 的树根:
    • stateRoot
    • 状态树的树根
    • transactionRoot
    • 交易树的树根
    • receiptsRoot
    • 收据树的树根

快速学习-以太坊中树结构_第1张图片

  • 状态树(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)

快速学习-以太坊中树结构_第2张图片

你可能感兴趣的:(快速学习)