摘要:所谓UTXO模型,简单来说,就是一种特殊的账户做账模型。它的中文意思称为“未花费交易导出”,它跟银行传统账户模型有一个很大的区别就是,这类模型只纪录交易自身,且不纪录交易的结果。
来源:互联网
比特币网络不是帐簿/余额模型,而是UTXO模型,UTXO是比特币交易生成及验证的一个核心概念。交易形成了一组链式结构,全部合法的比特币交易都能够追溯到前向一个或几个交易的导出,这些链条的源头都是挖矿奖赏,结尾乃是当前未花费的交易导出。所有的未花费(应用)的导出即整个比特币网络的UTXO。那么,究竟什么是UTXO模型呢?它又是怎么运作的?下面,我们一起来看看。
什么是UTXO模型?
所谓UTXO模型,简单来说,就是一种特殊的账户做账模型。它的中文意思称为“未花费交易导出”,它跟银行传统账户模型有一个很大的区别就是,这类模型只纪录交易自身,且不纪录交易的结果。
像传统的银行帐户模型,它是直接纪录结果的,例如,我账户里有1万块,我要转给你3000,就会从我账户里扣减3000,我的余额是7000,你的账户里提升3000。
但UTXO模型不是这样记载的,他会将整个交易过程记下来,原理是这样的:还是假定我账户里有1万块,我要转给你3000。UTXO在记载的时候,他会先记做这1万块全部转了出去,然后纪录有3000块转到了你的账户里,还有7000块从我的账户转至我自己的账户。
整个过程中,它会把牵扯到的账户资金、交易地址,转账资产、资金来源等信息全部记下。以此就可以跟踪到每一笔交易的最初来源。因此,UTXO的实质其实是一种流水做账,会把交易的过程记下来。
这类模型的好处在于,它让每次交易过程,都被纪录得清清楚楚,并且可以追溯每笔资产的源头。也正是基于这个特点,UTXO可以跟共识机制一起处理双花问题。
UTXO模型的优缺点:
优点:
1、计算是在链以外,交易自身既是结果也是证明。节点只做验证即可,不需要对交易开展额外测算,也没有额外情况存放。交易自身的导出UTXO的计算是在钱夹完成的,那样交易计算压力完全由钱夹来承担,一定程度上降低了链的压力。
2、除Coinbase交易外,交易的Input始终是连接在某个UTXO后边。交易难以被重放,而且交易的先后顺序和依赖关系容易被验证,交易是否被消费也容易被举证。
3、UTXO模型是无状态的,更容易并发处理。
4、针对P2SH类别的交易,具备更好的隐私性。交易里的Input是互不相关联的,可以用CoinJoin这样的技术,来提高一定的隐私性。
比特币是怎么发行的?为什么还没有挖完?
缺点:
1、难以实现一些比较复杂的逻辑,可编性差。针对繁杂逻辑,或者需要情况保存的合同,完成难度高,且情况空间利用率非常低。
2、当Input较多时,印证脚本还会增加。而签字本身是较为耗费CPU和储存空间的。
UTXO模型是如何运作的?
1、地址和UTXO
在以往金融系统中,交易会从一个账户上取出资金转移到另一个账户上。比特币的UTXO模型没有账户,因此没有专门的发送方账户/地址。地址虽然被用于接收UTXO,可是永远不会直接记录在区块链上。比特币地址是scriptPubKeys的编号,包含在每个交易的输出中。
当比特币被花费出去时,输入只包括实行scriptPubKey所必须的签字和公钥,并没提及比特币来自区块链上的哪个地址。可是,UTXO的上一个地址是能够轻松测算得出的。每个交易输入都通过交易id来指出其前序交易,并通过检索来指出使用该前序交易的哪一个导出(实际上便是在引入已有的UTXO)。被引用的交易导出的scriptPubKey能够被转换成比特币地址。
2、比特币的财政政策
UTXO模型能让全部比特币节点在任意时刻就比特币的出现状况达成一致。换句话说,所有人都可以审计比特币的总供给量,来保证比特币的财政政策被严格执行。
3、UTXO的搭配和分割
一个比特币交易能够包括随意数量输入和输出。因此,客户可以随意组合和分割UTXO去完成随意数额的支付。
比如,Alice拥有2个UTXO,各自价值0.5BTC和0.7BTC。当她向Bob付款1BTC时,可以用这俩UTXO做为输入,再将1BTC的输入发送给Bob。
Alice还此外创立了一个0.199BTC的输出做为找零发送给自己。因为需要缴纳交易费,她没法为自己推送0.2BTC。
️交易费不因交易导出(UTXO)的方式体现。它是由输入值和输出值之间的差值测算得到。
4、交易验证
UTXO模型能让比特币节点有效验证链上的每个交易。当节点接到一个交易时,不管该交易是否已经打包进区块,均可验证该交易里的UTXO是否真的有效且没有被花费。正是如此,比特币可以在不依赖可靠第三方的情形下处理双重花费难题。
讲到这里,相信大家对于什么是UTXO模型,以及它是怎么运作的都有一定的了解了。总的来说,UTXO不但可以帮助共识机制处理区块链里的第一类双花问题,更赋予区块链可追源的特征,区块链也能以此为基本,确保每笔交易的真实与可靠。
比特币是如何实现总量恒定的?比特币的优点与缺点
原创文章,作者:菜鸡,如若转载,请注明出处:https://www.20on.com/219459.html