深入理解以太坊系列(9): Merkle Patricia树

Merkle Patricia树(MPT)是以太坊的主要数据结构。在以太坊每个区块头中,存有三个根值。stateRoot(用于存储所有账户状态)、transactionsRoot(用于存储区块中的交易数据)、和receiptsRoot(用于存储区块中的收据数据),他们都使用了MPT数据结构。所有在以太坊中使用的Merkle树实际上都是MPT。 阅读全文

深入理解以太坊系列(5): 以太坊交易费用机制

比特币系统中的交易大体相同,交易成本比较固定。以太坊中的交易要更复杂,所以交易费用需要考虑到账户的许多方面,包括宽带费用、存储费用和计算费用。以太坊编程语言是图灵完备的,交易理论上可以使用任意数量的宽带、存储和计算资源,如果没有引入交易费用,就可能被恶意攻击者通过没有任何成本的无限循环来进行DoS攻击,因此以太坊中引入交易费用的主要目的是为了防止此类恶意攻击行为。 阅读全文