UTXO和Account模型一个都不能少

UTXO对于非区块链从业人员来说可能比较陌生,UTXO的全称是Unspent Transaction Output,这中本聪在比特币中的一个天才设计。而Account模型就很常见,也很容易理解,你银行账户里面有多少钱,就是账户模型。

关于UTXO的详细探讨,我比较推荐孟岩的一篇文章《其实并没有什么比特币,只有 UTXO》,这里比较详细的讲解了UTXO的原理,以及与Account模型的对比。总的来说UTXO和Account模型比起来有以下优势:

1.UTXO数据库只保留有用数据。

UTXO中的Unspent很重要,也就意味着如果一个UTXO被一笔交易花费掉后,那么这条记录就不是Unspent的,也就没必要存在于UTXO数据库中。而Account数据库则不同,对于每个使用过的账户,都得一直保留,不管这个账户还有没有钱,会不会被再次使用。

在比特币中,为了提高匿名性和抗量子攻击,我们可以大量生成地址,每个地址只使用一次,一旦该地址付出过比特币,那么公钥就暴露了,也就不抗量子攻击了,所以找零不会回到付款地址,而是一个新地址。如果采用Account模型,那么必然会在数据库中存放大量余额为0的账户地址。

2.UTXO支持并行的记账操作。

在账户数据库中,张三要转20元给李四,需要进行一个数据库事务,在张三账户里减20,在李四账户里加20。如果与此同时,王五要转30元给张三,那这个交易就得排队,无法并行。之所以这样,归根结底是因为这两笔交易都需要跟“张三的账户余

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值