区块链百科:比特币的UTXO模型

分类: 区块链 / 来源: 配资之家 / 访问: / 作者: 币圈链圈小常识 / 时间: 2019-12-05 10:24:52
导读:比特币的转账流程也是一样的。但是比特币和支付宝背后的转账原理其实是千差万别的。比特币系统是一个点对点的电子现金系统,UTXO模型和我们的现金支付模型有很多的共同点。...

我们都知道支付宝的转账流程:打开APP、输入转账地址或者扫二维码、输入转账金额、点击确认并输入密码。比特币的转账流程也是一样的。但是比特币和支付宝背后的转账原理其实是千差万别的。

支付宝采用的是账户余额模型,比如大白支付宝账户有100元,给小黑转账80元,大白的账户余额会减少80元,变成20元,小黑的账户余额由0变成80元,大白和小黑的账户都会直接显示一个余额,这就是账户余额模型。

1.UTXO模型简介

比特币系统是一个点对点的电子现金系统,UTXO模型和我们的现金支付模型有很多的共同点。大白有两张面值50元的现金纸币,想要给小黑80元,需要把这两张50元的现金给小黑,小黑再找给大白20元,大白和小黑钱包里还有多少钱不会像支付宝那样直接显示一个余额,而是需要自己去数一下:钱包里有几张纸币以及每张的面额,然后进行加总。我们可以把现金的支付方式看做是UTXO模式的简化版本。

2.UTXO模型和现金支付模型的共同点:

① 每条UTXO都有对应的面值,就像每张纸币会有一个面值一样。

② 一条UTXO在交易中必须作为整体被消耗,就像纸币一样不可以撕开来使用(不可以把100元的纸币掰成两半当成两张50元来用)。

如下图:左边的地址是比特币交易的发起地址,右边是2个接收地址,其中1个地址跟左边的发起地址是一样的,这笔交易的转账金额是0.26682745 BTC,其中接收者拿到了0.1732608 BTC,回到原转账地址的是0.09356665 BTC(这个就是找零的钱)。

区块链百科:比特币的UTXO模型

③ UTXO和现金一样都有最小面值,UTXO最小面值单位是聪(根据中本聪的名字命名的),1个BTC=10的8次方聪,也就是1亿聪,1聪=0.00000001个BTC。

3.UTXO模型和现金支付模型的不同点:

① 现金支付:找零是收款人做的;

比特币系统:找零是发起者自己进行设置的。

② 现金的面值是固定的(比如20元、50元等),UTXO的面值不固定,而是在发生交易的过程中也随之改变。

比特币的UTXO面值是不固定的,这是史上第一笔比特币交易,中本聪转给哈尔·芬尼(Hal Finney)10个BTC,这里花费了一条面值为50 BTC的UTXO,找零之后得到了面值为40 BTC的UTXO。

原本一个面值50的UTXO变成了两个面值分别为10 BTC和40BTC的UTXO,如果中本聪给转给哈尔·芬尼的是15个BTC,那么面值为50 BTC的UTXO就会变成两个面值分别为35 BTC和15 BTC的UTXO。

下图是一个比特币UTXO集的数据图,从2009年到2019年这10年之间,UTXO集的数据整体是一个增长的趋势。

③ 现金是不可能被双花的,比特币有可能双花。

同一笔比特币被花费两次甚至多次的情况就叫做双花。比特币它作为一种虚拟货币是没有实体的,它的本质是数据,有可能把一笔同样的比特币花费两次。

UTXO是Unspend Transaction Output,即未消费的交易输出,每一笔比特币的交易都会有输入和输出。

当大白转账80元给小黑的时候,这80元对大白来说是一笔交易的输出,叫transaction output,对于小黑来讲这是一笔交易收入transaction input,如果后面某个时候小黑把这80元又花出去了,那么这80元对于小黑来讲也变成了交易输出,而在小黑还没有把这钱花出去之前,它就是一笔还没有被花费掉的交易输出, transaction的缩写是tx,所以Unspend Transaction Output就是UTXO。

分享:

网友评价:

关闭
评论内容不能为空
如果联系方式是E-MAIL地址,有新回复您会第一时间收到邮件消息!