知方号

知方号

浅谈区块链世界UTXO 和 Account 模型优缺点<区块链的坏处有哪些>

Hyperledger Fabric 2.0 Alpha发布了,令人兴奋的是Fabric 2.0 Alpha还为用户提供了在Fabric通道上轻松将资产转化为token的功能。FabToken是一种token管理系统,它使用Unspent Transaction Output(UTXO)模型,利用Hyperledger Fabric提供的身份和成员服务基础设施来发布传输和兑换token。 我们今天就简单分析一下UTXO 和 Account 模型优缺点。 在当前区块链领域里,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。早期Bitcoin 采用的是 UTXO 模型,Ethereum 和EOS采用的 Account 模型,同样 CITA 也采用了 Account 模型。现在Fabric采用了Bitcoin的模型。 我们都清楚中本聪在设计Bitcoin的时候提出建立一套“基于互联网的点对点的电子现金系统”,在比特币中,每个交易消耗之前交易生成一个UTXO, 交易之后生成新的 UTXO,账户的余额即所有属于该地址的未花费 UTXO 集合。Bitcoin 的全局状态即当前所有未花费的 UTXO 集合。Ethereum 、EOS意图创建一个更为通用的协议,该协议支持图灵完备的编程语言,在此协议上用户可以编写智能合约,创建各种去中心化的应用。由于 UTXO 模型在状态保存以及可编程性方面的缺陷,Ethereum、EOS 引入了 Account 模型。下面我们对两种模型的优缺点做进一步展开。 1、UTXO 模型 UTXO数据库只保留有用数据。UTXO中的Unspent很重要,也就意味着如果一个UTXO被一笔交易花费掉后,那么这条记录就不是Unspent的,也就没必要存在于UTXO数据库中。在比特币中,为了提高匿名性和抗量子攻击,我们可以大量生成地址,每个地址只使用一次,一旦该地址付出过比特币,那么公钥就暴露了,也就不抗量子攻击了,所以找零不会回到付款地址,而是一个新地址。可以看出UTXO模型天然就能够抵御重放攻击。

UTXO 模型中,交易只是代表了 UTXO 集合的变更。而账户和余额的概念是在 UTXO 集合上更高的抽象,账号和余额的概念只存在于钱包中。 优点:

计算是在链外的,交易本身既是结果也是证明。节点只做验证即可,不需要对交易进行额外的计算,也没有额外的状态存储。交易本身的输出 UTXO 的计算是在钱包完成的,这样交易的计算负担完全由钱包来承担,一定程度上减少了链的负担。除 Coinbase 交易外,交易的 Input 始终是

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。