免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。
小编:记得关注哦
来源:爱因斯坦一撇
初次看到UTXO你肯定一脸懵逼,啥玩意?事实上UTXO是比特币的一个核心概念,UTXO来源于英文Unspent Transaction Output,Unspent意思是没有用完的,Transaction代表交易、事物,单词连起来就是“未花费交易事物输出”。
UTXO贯穿整个比特币交易网络,每一笔资产的交易都离不开UTXO,严格来说比特币就是一笔笔的UTXO组成。
日常的转账交易
生活中,转账交易时时刻刻都在发生,早上起来上班路上买早餐,坐地铁、公交,结算工资时候公司往你卡里打钱,都是转账、交易。
日常的转账,需要有一个账户,比如你开的招行工资卡,绑定了你的个人信息,你用工资卡的余额去消费。如果你买了一个十块钱的面包,用银行卡结算,面包店就从你的招行卡上面扣除10块钱,划转到对方的账号。

比特币网络的交易
虚拟货币交易所、钱包等转出、转入比特币资产也在不断发生着,但具体是怎么发生的?是不是也是和支付宝转账一样,从对方的账户“扣除”你所需的数量比特币呢?
结果似乎是这样,但内部实现其实还是有所区别的。比特币交易并不是通过账户的增减来实现,而是通过一个输入/输出关系去实现。
在比特币网络当中,每一笔交易都对应一个“输入”和“输出”,先花费“输入”,再产生“输出”,也就是UTXO。
输入
举个例子,老王是一名比特币矿工,通过挖矿,老王拿到了10枚BTC,这个时候的“输入”就是挖矿奖励。假如老王不是矿工,是一个定投用户,“输入”可以是交易所或者个人账户。
这些存入老王比特币账户的交易,就是交易的输入源。
输出
老王最近手头有点紧,想卖点BTC套现,于是找到了卖家李四,拿到了李四的钱包地址,给李四转账了5个BTC,这个过程就是“输出”。
比特币交易过程
我们以一个例子解释比特币转账的全过程。

整个过程总共发生了3次交易,每次交易都对应一个“输入”和“输出”,比特币的交易事物数据中,其实就是存储了这样的输入输出,构成比特币的交易账本。
挖矿得到的12.5个BTC,属于Alice的UTXO,放在了001交易的“输出”部分,Alice拥有这12.5个BTC的所有权,也可以成为下一笔交易的“输入”。
Bob需要6个BTC,Alice找到自己的UTXO,转账6个BTC到Bob的账户,还有6.5个BTC“找零”给自己,同时把这些信息记录在002这笔交易中。同理可以知道,Bob得到的6个BTC又可以作为自己的UTXO,转账2个给Lily,同时“找零”4个BTC给自己。
“找零”
因为比特币交易没有账户的概念(只有“地址”),所以每次转账如果“输入”大于“输出”,就需要“找零”给自己,同时把找零的信息同步到交易中,作为“输出”的一部分。
UTXO所属关系确定

既然比特币交易就是各种UTXO组成,但是没有账户,那么怎么确定某个UTXO属于谁呢?
在比特币网络中,我们介绍过有很多脚本,对应交易也是通过输入和输出脚本去实现。
A通过私钥签名解锁自己的UTXO,然后再通过对方B提供的公钥锁定自己的输出,A就把自己的UTXO变成B的UTXO,而如果B想转账给C,则是需要输入私钥解锁自己的UTXO,私钥是唯一的,只有拥有私钥,才能真正掌握资产的使用权。是不是很巧妙呢?
关于UTXO的介绍就到这里,感谢你的耐心阅读,我是爱因斯坦一撇,欢迎留言、讨论!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。