okx

深入理解UTXO的原理与应用

时间:2023-08-13|浏览:198

中本聪有三个天才般的创举,一个是区块链的设计,一个是UTXO,一个是智能合约。而这三个设计被斯坦福大学密码学和计算机安全教授Dan Boneh评价为“极其杰出”,“必将激发无尽的创新”。

UTXO,即未花费的交易输出(Unspent transaction output),基于UTXO的模型与银行使用的账户余额模型完全不同。

比特币账户中,余额不会显示成一个总数,而是由区块链网络中所有与当前账户有关的UTXO所组成。比特币的每一笔交易都由输入和输出两个部分组成,输入代表转入到你的比特币地址上的币,输出代表你转出的币。未花费的交易输出会那么差额就是交易费,该交易费将被增加到该区块的激励中。”

由于UTXO的特殊设计,转账比特币会生成两笔交易,一笔转给对方,一笔转给自己,俗称“找零”。

在现实生活中进行资金交易时,流程通常是这样的:小黄得到了10元现金,转给小牛2元,那么小黄的账户减去2元,小牛的账户加上2元;小牛和小黄又分别转给小王1元,小牛和小黄的账户分别减去1元,在小王的账户上加上2元。

而在比特币交易中,记账方式如下所示。同样是上述流程,小黄通过挖矿得到了10比特币,他向小牛转了2比特币。后来小牛和小黄又各自向小王转了1比特币。

而比特币钱包地址中只记录了这几笔交易的流水,并没有余额的概念。

每笔比特币交易由若干个输入和输出组成,输入是用来证明你能够拿出这些比特币给别人的凭证,这个凭证就是前一个人给你的转账记录。

小黄的比特币钱包地址中有两种交易类型。Coinbase是一种特殊交易,指的是小黄挖矿后获得的奖励,这种交易实际上只有输出没有输入,输出的是挖矿者小黄的比特币钱包地址。小黄要向小牛转2个比特币,那么输入就是小黄挖矿得来的10比特币交易,输出是2个比特币给小牛,另外8个比特币转回给自己。

输出数量必须小于等于输入数量,如果没有把多余的比特币转回给自己,很可能会作为手续费奖励给记账的矿工。后续流程类似,小牛向小王转1比特币的输入是小牛从小黄那得到的2比特币。包含多个输入和输出的交易数据结构被称为UTXO,即未花费的交易输出。数据库中有专门的表记录UTXO,一旦未花费的输入产生了其他输出,该输入交易就会从UTXO表中删除。

为什么中本聪选择采用UTXO而不是账户体系呢?一个直接的好处是交易可以并行处理。例如,在银行的账户体系中,如果你和你朋友都想对某一个银行卡账户进行操作,这两笔交易在处理时有先后顺序。而在UTXO中不存在这样的问题,只要每笔钱都有来源且来源是未被使用过的,任意多个操作同时向一个地址转账,或者从同一个地址转出也是没有问题的。

热点:中本聪 区块链 区块链的设计

« 上一条| 下一条 »
区块链交流群
数藏交流群

合作伙伴

在区块链世界中,智能合约不仅是代码的信任,更是商业的革命。通过了解其在供应链、版权保护等领域的应用,您将真正体验到智能合约的无限可能性
区块链世界GxPiKaQiu.com ©2020-2024版权所有 桂ICP备16002597号-2