1. 根据上一篇文章的顺序分别描述,merkle tree 以树状形式将交易两两hash,最终得到root hash:主要应用有SPV 轻客户端和ZCASH 的交易加密使用。
2. trie:字典树,由于以太坊是基于account的存储模式,所以需要存储account的地址,所以用到了字典树。
3. patricia-trie,改良版的trie,区别是路径压缩,没有子树的地方存放在一起。
3. secure MPT:安全MPT树,key如果是明文,那么可以构造一个key很长的MPT树,造成DDOS攻击,SMPT就是将key做hash,这样key的长度是固定的,且是非明文的
4. trie的节点类型包含fullnode shortnode hashnode三种
5. key的编码类型分为 RAW HEX HEX-PREFIX三种
下面进入到MPT树的操作流程:
5. MPT的创建
6. MPT的 插入操作
6. MPT 的删除节点操作
7. MPT的查找
8. hasher的类图:
9. commit:计算hash的过程
10. verify proof:轻客户端用来校验交易的操作
11. leveldb的存储格式
12. TRIE的类图
13. 应用:
State transaction receipt
为什么需要三个树:
1.是否包含该交易: 【transaction】
2.这个地址发出X类型事件的所有实例: 【receipt】
3.账户余额: 【state】
4.账户是否存在: 【state】
5.假如运行这笔交易,输出是什么 : 【state】
网友评论