以太坊账户与合约

2022.2.19

主要内容

账户详解,合约特性

从UTXO谈起

以太坊的做法

优缺点比较

比特币 UTXO 模式优点:

以太坊账户模式优点:

• 可以节省大量空间:不将 UTXOs 分开存储,而是合为一个账户;每个交易只需要一个输入、一个签名并产生一个输出。

• 更好的可替代性:货币本质上都是同质化、可替代的;UTXO的设计使得货币从来源分成了“可花费”和“不可花费”两类,这在实际应 用中很难有对应的模型。

• 更加简单:更容易编码和理解,特别是设计复杂脚本的时候。UTXO在脚本逻辑复杂时更令人费解。

• 便于维护持久轻节点:只要沿着特定方向扫描状态树,轻节点可以很容易地随时访问账户相关的所有数据。而UTXO的每个交易都会使得状态引用发生改变,这对轻节点来说长时间运行Dapp会有很大压力。

比特币和以太坊的对比

 BitCoinEthereum
设计定位现金系统去中心化应用平台
数据组成交易列表(账本)交易和账户状态
交易对象UTXOAccounts
代码控制脚本智能合约

以太坊账户类型

账户类型

以太坊交易(Transaction)

签名的数据包,由EOA发送到另一个账户。所有的交易发起方都是EOA(外部账户),而对接收方没有规定。

消息(Message)

-- 合约可以向其它合约发送“消息”

-- 消息是不会被序列化的虚拟对象,只存在于以太坊执行环境 (EVM)中

-- 可以看作函数调用

合约(Contract)

合约应用一

• 维护一个数据存储(账本),存放对其他合约或外部世界有用的内容

• 最典型的例子是模拟货币的合约(代币)

合约应用二

合约应用三

• 管理多个用户之间的持续合同或关系 • 这方面的例子包括金融合同,以及某些特定的托管合同或某种保险