主页 > imtoken钱包下载2.0版本 > 十分钟区块链系列06:UTXO,比特币交易的核心概念 | 火星技术帖

十分钟区块链系列06:UTXO,比特币交易的核心概念 | 火星技术帖

imtoken钱包下载2.0版本 2023-05-17 06:10:57

第一次看到 UTXO 的你一定会一头雾水,什么鬼? 实际上,UTXO 是比特币的一个核心概念。 UTXO 来自英文 Unspent Transaction Output。 unspent的意思是没有用完。 Transaction代表交易和事物。 单词的组合是“未花费的交易输出”。

UTXO贯穿于整个比特币交易网络,每一笔资产交易都离不开UTXO。 严格来说,比特币是由 UTXO 组成的。

每日转账交易

生活中比特币有公司账户吗,转账交易无时无刻不在发生。 你早上起床上班买早餐,坐地铁公交,你结工资的时候公司把钱打到你的卡上,都是转账,都是交易。

日常转账需要有账户,比如你开的招商银行工资卡,绑定了你的个人信息,你用工资卡的余额消费。 如果你买了一个10元的面包,用银行卡支付,面包店会从你的招商银行卡里扣10元,转到对方的账户上。

比特币账户注册bitcoin_比特币有公司账户吗_中信银行禁止账户用于比特币交易

比特币网络上的交易

中信银行禁止账户用于比特币交易_比特币账户注册bitcoin_比特币有公司账户吗

虚拟货币交易所、钱包等比特币资产的转移也在不断发生,但它是如何发生的呢? 是不是也和支付宝转账一样,从对方账户中“扣除”你需要的比特币数量?

结果好像是这样,其实内部实现是不一样的。 比特币交易不是通过账户的增减来实现的,而是通过输入/输出关系来实现的。

在比特币网络中,每笔交易都对应一个“输入”和“输出”。 先花“输入”,再产生“输出”,也就是UTXO。

进入

比如老王是比特币矿工。 通过挖矿,老王得到了10个BTC。 此时的“输入”就是挖矿奖励。 如果老王不是矿工,而是普通投资用户,那么“输入”可以是交易所,也可以是个人账户。

这些存入老王比特币账户的交易,就是交易的输入来源。

输出

比特币有公司账户吗_比特币账户注册bitcoin_中信银行禁止账户用于比特币交易

老王最近手头有点紧,想卖掉一些BTC套现,就找到了卖家李四,拿到了李四的钱包地址,转了5个BTC给李四。 这个过程就是“输出”。

比特币交易流程

我们用一个例子来解释比特币转账的整个过程。

比特币有公司账户吗_中信银行禁止账户用于比特币交易_比特币账户注册bitcoin

整个过程一共发生了3笔交易比特币有公司账户吗,每笔交易对应一个“输入”和“输出”。 事实上,这样的输入和输出都存储在比特币的交易数据中,这就构成了比特币的交易账本。

挖矿得到的12.5 BTC属于Alice的UTXO,放在001交易的“output”部分。 爱丽丝拥有这 12.5 个 BTC 的所有权,也可以成为下一笔交易的“输入”。

Bob 需要 6 BTC,Alice 找到自己的 UTXO,将 6 BTC 转入 Bob 的账户,将 6.5 BTC“找”给自己,并在交易 002 中记录此信息。同理可知,获得的 6 BTC by Bob可以作为自己的UTXO,转2个给Lily,“换”4个BTC给自己。

比特币账户注册bitcoin_比特币有公司账户吗_中信银行禁止账户用于比特币交易

“改变”

因为比特币交易没有账户的概念(只有“地址”),如果每次转账“输入”大于“输出”,就需要自己“找零”,同时同步将交易信息更改为“输出”部分。

UTXO隶属关系的确定

比特币账户注册bitcoin_比特币有公司账户吗_中信银行禁止账户用于比特币交易

由于比特币交易是由各种UTXO组成的,但是没有账户,如何确定某个UTXO属于谁呢?

在比特币网络中,我们介绍过有很多脚本,相应的交易也是通过输入输出脚本来实现的。

A通过私钥签名解锁自己的UTXO,然后通过对方B提供的公钥锁定自己的输出。A将自己的UTXO变成B的UTXO,如果B想转账给C,需要输入私钥解锁自己的UTXO,私钥是唯一的。 拥有私钥才能真正掌握资产的使用权。 是不是很巧妙?

UTXO 的介绍就到这里。 感谢您的耐心阅读。 我是爱因斯坦。 欢迎留言讨论!