账户和状态

账户

与以太坊相同,Scroll有两种账户类型:外部所有者账户(EOA)和存储智能合约和额外存储的合约账户。

Scroll 将合约字节码的其他信息存储在账户中,方便zkEVM电路更高效地证明状态转换。

Scroll 的帐户包含以下字段:

  • nonce: 已发送交易数量的计数器
  • balance: 账户余额中的 ETH 代币余额(单位为wei)
  • storageRoot: 存储树的根哈希。由于 Scroll 使用 zkTrie 树进行存储,因此 storageRoot 将波塞冬哈希(Poseidon hash)摘要存储在 256 位整数中。
  • codeHash: 合约字节码的 Keccak 哈希摘要。
  • PoseidonCodeHash (新字段): 256 位整数的合约字节码的波塞冬哈希摘要。
  • CodeSize (新字段): 合约字节码中的字节数。

状态

区块链的状态是帐户数据的集合。状态树将帐户数据及其相应的地址编码为默克尔树数据结构。状态树的根或区块链的状态是树中包含的所有帐户数据的加密摘要。

以太坊使用一种名为Patricia Merkle Trie 的数据结构,用于状态树和存储树中存储智能合约中的键值条目。在 Scroll 中,我们将 Patricia Merkle Trie 替换为一种对 zk 更友好的数据结构,称为 zkTrie,用于状态树和存储树。从更高的视角上,zkTrie数据结构是一个稀疏的二元默克尔树,使用zk友好的哈希函数 — Poseidon哈希zkTrie 文档描述了有关此数据结构的更多详细信息。

接下来是什么

随时了解最新的 Scroll 新闻
路线图更新,虚拟和现场活动,生态机会等等
感谢您的订阅!

资源

关注我们