​ ——————>> 二刷分界线。 ​ 以太坊中的数据结构 以太坊中的账户地址是160位(20个字节),一般表示成四十个十六进制的数。 简单的hash表来实现怎么样? 查询、更新都是在常数时间内完成的,另外这种结构无法很好的提供hash proof,比如要签署一个合约:需要提供一下账户余额,这将怎么提供呢: 一种方法是将哈希表中的元素组织成一棵Merkle tree,算出一个根哈希值保存在block header中,公布出去。 存在的问题:假如要产生新的区块,新的区块的到来必将引起哈希表中的内容发生变化,这样我们就需要重新计算一遍所有账户的内容生成一棵新的Merkle tree,这样的代价太大