美文网首页
比特币UTXO模型介绍

比特币UTXO模型介绍

作者: 袁俊亮技术博客 | 来源:发表于2020-04-27 18:00 被阅读0次

比特币与UTXO模型

UTXO全名是Unspent Transaction Outputs,未花费交易输出,相比于账户模型来说没那么直观。

在比特币的世界里,并没有一个纪录所有帐户余额的帐本。那么要怎么确定一个地址现在有多少余额呢?简单的说,你要回顾以前所有的交易,并且找到所有寄给你的比特币,再把他们全都加起来,才会知道。

交易中的输入与输出

比特币中的一笔「交易」也较为复杂。假设今天,Fred给了Alice 2个BTC,Ted给了Alice 3个BTC,我们把这两笔寄给Alice,总和为5的BTC称为Unspent Transaction Outputs即未花费交易输出:也就是说现在Alice拥有了两笔Unspent Transcation Outputs,可以当作他未来转钱给别人的input

如果现在Alice想要转5 BTC给Bob,他要将前面两笔总和刚好为5的UTXO当作这笔交易的输入。而矿工要验证的就是并没有其他交易在先前的区块当中,已经使用过这笔Unspent Output。如果同一笔输出已经被发送过,那它就不是Unspent了,这就是比特币预防Double Spending的方法。

image.png

还有一个条件就是,outputinput总数要吻合。实际上在交易的时候,并不可能刚刚好总是找到两笔加起来等于你要转出金额的output,就好像上图中,如果爱丽丝Alice只想转4.5个BTC给鲍勃Bob,那么他就要多加一栏的output,把多出来的0.5个BTC转给自己,这样的交易才是平衡的。

我们可以实际来看看比特币的交易长什么样子,我们现在如果想要观察BlockExplorer上自己的交易纪录,会发现它长的是这付德性:

image.png

一笔交易包含了大量的inputoutput,这很有可能是一笔交易所转出金额的纪录,所以含有很多的output。而左边的input则可能是大量转入金额交易所钱包的交易output。

有趣的是,我们实际上在一笔交易之中无法「确定」真正的交易金额。例如下面这一笔纪录中,右边包含了三个output,我们无法确定究竟0.2,0.03以及56.38三个output究竟哪一个才是真正的目的地。搞不好Alice只有一笔Unspent Transaction Output未花费交易输出56.61 BTC,因此他在这笔交易中虽然他只想要转0.2BTC,却必须要动用他唯一一笔UTXO,而剩下的56.38再转回给自己。

image.png

当然,现在的比特币钱包已经帮我们照顾这些事情了,所以在使用的时候就好像银行帐户一样,我们只要输出目的地址,钱包就会帮我们找出合适的未花费输出(UTXO)当作输入来完成交易 。但如果你很闲,或是要干一些不想让你知道的事,就可以自己来打包奇怪的输入输出来增加匿名性。

UTXO的优势与劣势

UTXO因为没有帐户的存在,因此容许平行进行多笔交易。假如你有许多的UTXOs,你可以同时进行多笔交易而不会被阻挡。再来就是匿名性,如上面提过得,你可以轻易的隐藏自己的交易目的。除此之外,UTXO也被认为比较安全且有效率,可以透过Simple Payment Verification(SPV)来快速验证检验交易。

但UTXO最大的缺点就在于他是Stateless无状态的,这对于在其上开发应用程序非常的不利。就像有名的Qtum虽然底子是UTXO的交易模式,但是仍然会设计Account Abstraction Layer账户抽象层来让应用程序的开发变得容易。

参考文章

相关文章

  • 比特币UTXO模型介绍

    比特币与UTXO模型 UTXO全名是Unspent Transaction Outputs,未花费交易输出,相比于...

  • 比特币交易脚本是什么

    比特币基于UTXO模型,记住这一点在理解比特币各个环节都大有裨益。 UTXO是指未花费的交易输出(Unspent ...

  • UTXO与Account模型区别

    未经本人同意,禁止转载 UTXO与Account对比 两者的不同 比特币的UTXO(未使用交易模型) A挖矿获得了...

  • 以太坊入门介绍

    在之前比特币本质其实是UTXO的文章中介绍了比特币的不是一个基于账户的概念,而且UTXO。但是在以太坊中,就是基于...

  • “空气”公链——QTUM项目评测

    一.项目介绍 量子链(QTUM)是首个基于UTXO模型的POS智能合约平台,可以实现和比特币生态和以太坊生态的兼容...

  • 众说区块链:稳定币会成为代币中的基础货币吗

    上期《众说区块链》讨论的主题是“比特币交易模型——UTXO技术分析”,胡华杰老师为大家分享了许多有关UTXO技术的...

  • 比特币本质其实是UTXO

    其实并没有什么比特币,我们在交易所里或者钱包里显示的比特币余额其实是UTXO。那到底什么是UTXO呢,UTXO的全...

  • 【区块链】UTXO是何方神圣呢?

    在《精通比特币》提到: 在比特币的世界里既没有账户,也没有余额,只有分散到区块链里的UTXO。 UTXO(Unsp...

  • 反常识的UTXO

    理解UTXO是什么并不难,难在理解为什么比特币要用UTXO。 1、什么是UTXO UTXO是“未花费的交易输出”。...

  • 什么是比特币UTXO模型

    如果你曾上过BlockExplorer观察自己的比特币收入状况,你是否曾经被搞的一头雾水呢?这正是因为比特币所使用...

网友评论

      本文标题:比特币UTXO模型介绍

      本文链接:https://www.haomeiwen.com/subject/jreuwhtx.html