文章目录
版本说明
源码分析使用的版本为:v1.10.3
知识补充
以太坊源码中的trie包实现了Merkle Patricia Tries(MPT),这种数据结构实际上是一种Trie树变种。
MPT是以太坊中一种非常重要的数据结构,用来存储用户账户的状态及其变更、交易信息、交易的收据信息。
MPT实际上是三种数据结构的组合,分别是Merkle树、Patricia Trie、和Trie树。
下面分别介绍这三种数据结构。
Merkle树
Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树。Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash
Merkle Tree的主要作用是当我拿到Top Hash的时候,这个hash值代表了整颗树的信息摘要,当树里面任何一个数据发