UTXO模型和Account模型

目录

UTXO模型

优点:

缺点:

Account模型

优点:

缺点:

总结


UTXO模型和ACCOUNT模型是区块链中记录保存的两种方式。

UTXO模型

Unspent Transaction Output  未经使用的交易输出。比特币采用的是此模型。在UTXO模型中,交易只代表了UTXO集合的变更。如下图所示:

UTXO模型和Account模型

优点:

  1. 计算在链外,节点只做验证。计算的负担交由钱包进行处理,减少了链的负担。
  2. 交易无法被重放,交易的先后顺序以及依赖关系等很容易被验证。
  3. UTXO模型是无状态的,更容易进行并发处理。
  4. 对于P2SH类型的交易,有更好的隐私性。

缺点:

  1. 可编程性差。
  2. 状态保存难度比较大。

Account模型

Account模型保存了世界的状态,交易不包含结果,纯粹只是交易本身,交易的共识和状态的共识本质上是可以分离的。

UTXO模型和Account模型

优点:

  1. 可编程性好,合约以代码形式保存在Account中。
  2. 批量交易的成本低。

缺点:

  1. Account模型交易之间没有依赖性,需要解决重放问题。
  2. 对于实现闪电网络/雷电网络,Plasma 等,用户举证需要更复杂的 Proof 证明机制,子链向主链进行状态迁移需要更复杂的协议。

总结

综上来看,Account 模型在可编程性,灵活性等方面更有优势;在简单业务和跨链上,UTXO 有其非常独到和开创性的优点。对于选择何种模型,要从具体的业务场景进行出发。