区块链芝士丨什么是UTXO模型?

所谓UTXO模型,简单来说,就是一种特殊的账户记账模型。它的中文意思叫作“未花费交易输出”,它跟银行传统的账户模型有一个很大的区别就是,这种模型只记录交易本身,而不记录交易的结果。

像传统的银行账户模型,它是直接记录结果的,比如,我账户里有1万块钱,我要转给你3000,就会从我账户里扣除3000,我的账户余额是7000, 你的账户里增加3000。

但UTXO模型不是这样记录的,它会把整个交易过程记录下来,原理是这样的:还是假设我账户里有1万块钱,我要转给你3000。UTXO在记录的时候,它会先记做这1万块钱全部转了出来,然后再记录有3000块转到了你的账户里,又有7000块从我的账户转到我自己的账户。

整个过程种,它会把牵扯到的账户资金、交易地址,转账资金、资金来源等信息全部记下。以此就能够追踪到每一笔交易的最初来源。所以,UTXO的本质其实是一种流水记账,会把交易的过程记录下来。

这种模型的好处在于,它让每次交易过程,都被记录得明明白白,并且可以追溯每笔资金的源头。也正是基于这个特点,UTXO可以和共识机制一起解决双花问题。

区块链解决第一种类型的双花问题,同样借鉴了传统银行的方式,会按照顺序一笔一笔处理交易。当节点在处理一笔交易的时候,会先通过UTXO模型检验交易资金存不存在,然后追溯这笔交易的源头,确定没问题后,就会通过共识机制进行全网广播,记录到链上。

如果有人想要用同一笔钱支付两次,区块链网络只会确认先接受到的那一笔,之后那笔交易,节点会在查询UTXO时发现,这笔资金已经被支付出去,并不存在于你的账户中,从而拒绝交易。以此解决了第一种情况的双花问题。

不过由规则内引发的双花问题是UTXO也没有办法解决的。所谓规则内引发的双花问题,就是利用共识机制的规则本身,对已经记好账的交易进行篡改,常见的就是51%算力攻击。比如有一个采用POW共识机制的区块链,因为整个网络的人数比较少,有一个节点掌握了整个网络51%的算力,这个时候,他就可以先进行一笔交易,等交易完成后,再通过共识机制篡改之前的那笔交易记录,否定之前的那笔交易,让已经花过的钱又重新回到自己账户,再次使用。

而这种情况的双花问题,只能通过提高全网算力的方式来解决,所以,在区块链中,使用的人越多,全网算力越高,整个网络也就越安全。

总的来说,UTXO不仅可以协助共识机制解决区块链中的第一类双花问题,更赋予了区块链可追源的特点,区块链也能以此为基础,保证每笔交易的真实与可靠。

本文由 零点财经 作者:tao 发表,其版权均为 零点财经 所有,文章内容系作者个人观点,不代表 零点财经 对观点赞同或支持。如需转载,请注明文章来源。
分享生成图片
38

发表回复

区块链芝士丨什么是UTXO模型?

2021-06-15 10:27:21

所谓UTXO模型,简单来说,就是一种特殊的账户记账模型。它的中文意思叫作“未花费交易输出”,它跟银行传统的账户模型有一个很大的区别就是,这种模型只记录交易本身,而不记录交易的结果。

像传统的银行账户模型,它是直接记录结果的,比如,我账户里有1万块钱,我要转给你3000,就会从我账户里扣除3000,我的账户余额是7000, 你的账户里增加3000。

但UTXO模型不是这样记录的,它会把整个交易过程记录下来,原理是这样的:还是假设我账户里有1万块钱,我要转给你3000。UTXO在记录的时候,它会先记做这1万块钱全部转了出来,然后再记录有3000块转到了你的账户里,又有7000块从我的账户转到我自己的账户。

整个过程种,它会把牵扯到的账户资金、交易地址,转账资金、资金来源等信息全部记下。以此就能够追踪到每一笔交易的最初来源。所以,UTXO的本质其实是一种流水记账,会把交易的过程记录下来。

这种模型的好处在于,它让每次交易过程,都被记录得明明白白,并且可以追溯每笔资金的源头。也正是基于这个特点,UTXO可以和共识机制一起解决双花问题。

区块链解决第一种类型的双花问题,同样借鉴了传统银行的方式,会按照顺序一笔一笔处理交易。当节点在处理一笔交易的时候,会先通过UTXO模型检验交易资金存不存在,然后追溯这笔交易的源头,确定没问题后,就会通过共识机制进行全网广播,记录到链上。

如果有人想要用同一笔钱支付两次,区块链网络只会确认先接受到的那一笔,之后那笔交易,节点会在查询UTXO时发现,这笔资金已经被支付出去,并不存在于你的账户中,从而拒绝交易。以此解决了第一种情况的双花问题。

不过由规则内引发的双花问题是UTXO也没有办法解决的。所谓规则内引发的双花问题,就是利用共识机制的规则本身,对已经记好账的交易进行篡改,常见的就是51%算力攻击。比如有一个采用POW共识机制的区块链,因为整个网络的人数比较少,有一个节点掌握了整个网络51%的算力,这个时候,他就可以先进行一笔交易,等交易完成后,再通过共识机制篡改之前的那笔交易记录,否定之前的那笔交易,让已经花过的钱又重新回到自己账户,再次使用。

而这种情况的双花问题,只能通过提高全网算力的方式来解决,所以,在区块链中,使用的人越多,全网算力越高,整个网络也就越安全。

总的来说,UTXO不仅可以协助共识机制解决区块链中的第一类双花问题,更赋予了区块链可追源的特点,区块链也能以此为基础,保证每笔交易的真实与可靠。