以太坊区块链系统中使用了MPT树结构,关于MPT树的内容这里不做过多介绍,想了解可以查阅百度或者书籍论文资料。
需要指出的是,以太坊区块头不是只包括一棵MPT树,针对三种对象,以太坊设计了三种树:交易树(Transaction Tree)、状态树(State Tree)和收据树(Receipt Tree)。下图展示了三棵树在区块头的存储情况,分别存储了三棵树的树根节点的散列值。
在以太坊中,区块链客户端需要具备以下功能:
- 验证某笔交易是否包含在特定区块中;
- 查询曾经某个地址(即账户)发出某种类型时间的所有实例(比如,判断一个众筹合约是否达成目标);
- 查询目前某个账户的余额;
- 判断一个账户是否存在;
- 查询在某个合约中进行的一笔交易的交易输出。
使用三种MPT树即可完成上述功能,其中交易树处理第一种业务,收据树处理第二种业务,状态树负责处理后三种业务。
交易树
①什么是交易
以太坊中,交易主要指一条外部账户【由人创建ÿ