本文内容为北京大学肖臻老师《区块链技术与应用》公开课课堂内容总结,文中图片取自肖老师公开课视频。
账户类型
Account-based ledger 以太坊,显式的体现账户余额
账户类型:
-
外部账户(普通账户)externally owned account,由公私钥控制,内容包括余额balance和nonce
-
合约账户 smart contract account,不能主动发起一个交易,内容包括code,storage
账户地址:160bits(20个bytes) 40个16进制数,由公钥取哈希,取前部160bits得到
ETH状态树
Patricia tree 压缩前缀树:
相比于Trie树,Patricia树的高度被有效的降低,访问内存的次数减少。路径压缩适用于键值分布稀疏的情况,此时压缩效果好。
Merkle Patricia Tree:
将Patricia tree的指针换为哈希指针。
功能:防篡改,查询余额
以太坊使用的是Modified MPT