3分钟带你搞清比特币天才设计“UTXO"
November 21st, 2023

只需3分钟,带你迅速理解UTXO。

在比特币社区,有一句老话——搞懂了UTXO,你就搞懂了比特币。

这句话或许有夸张成分,但也侧面反映了比特币的底层记录形式和逻辑。

UTXO(Unspent Transaction Output),意为“未花费的交易输出”。在这里,请你忘记这句抽象的话,仅需记住,它是比特币的记录保存形式。

这是中本聪创建比特币的时候所作的天才顶层设计。

一张图快速理解:

世界上2种交易记录保存形式
世界上2种交易记录保存形式

账户模型太容易理解了,我们每天和银行、微信、支付宝等打交道,你每天打开的各种钱包,查看自己账户、转账、收款都是这种类型。只要你登陆或打开,就能轻松看到自己的余额,并且可以便捷的进行转账等操作。

但是这种账户模型,是有可能出现”双花问题“(就是一笔钱被进行了双重花费,简称”双花“)。比如银行系统被黑,被欺骗了余额,就可能会出现。区块链历史上也曾多次出现这种情况。

此外,账户模型的隐私性也比较差,因为交易都绑定在一个帐户中进行和完成。不管你是支付宝还是微信交易,其实本质上都是从银行账户流出的钱,都是基于一个账户进行和完成的。

进一步说,由于账户模型都是按照一个个账户进行交替处理交易,这个模式下很难同时进行高吞吐量的操作——想一想12306抢票,想一想天猫双11你就是抢不到低价产品。

假如在转账过程中,系统被欺骗张三的余额还有钱,就能在此间隙发出一笔转账——即”双花“
假如在转账过程中,系统被欺骗张三的余额还有钱,就能在此间隙发出一笔转账——即”双花“

反观在比特币网络中,你的转账、收款行为就变成了UTXO模型。可以理解成:你的账户里有一张张写了金额的支票(即UTXO,且支票金额无法修改),你需要把支票金额相加,才可以知道你有多少钱。

当张三一共有2张100的支票(UTXO)的时候,他的余额是200;此时张三想转账给李四150,他必须把2张支票一起给李四(此时老支票销毁,也叫输入),然后自己重新收到一张50面额的支票(找零,也叫输出),而李四则收到一张150元面额的支票。

自此,这50面额的支票就算未花费的交易输出(UTXO)。

细心的朋友也发现了,交易过程中UTXO无法被分割成0.5的倍数或其他倍数进行交易,只能以整张整张去交易(想一想,支票写了100,你撕一半能算50吗?)

转账前张三有余额200,但得把2张不同的UTXO相加才知道;转账后,张三这2张UTXO就没了,变成了第3张编号的UTXO,面额是50,李四也得到了一张编号4的UTXO,面额150
转账前张三有余额200,但得把2张不同的UTXO相加才知道;转账后,张三这2张UTXO就没了,变成了第3张编号的UTXO,面额是50,李四也得到了一张编号4的UTXO,面额150

仔细端详,不难理解为什么UTXO模型更加安全,因为你每次发起的转账/交易请求,你的老”支票“都直接被销毁,在根据是否有找零情况生成一张新的支票。

这种机制下,你的余额是不可能欺骗系统的,因为你的支票在发起请求后就直接被销毁了。

由于UTXO模型交易的时候只认一张张的UTXO,而不是具体的账户,而且每一笔UTXO的交易都会以一个新地址生成(现在的钱包你都无感,实际你的比特币钱包地址=主地址+若干子地址组成),所以它的隐私性更佳;

更牛的是,在巨量的交易请求下,因为每个人的比特币余额是通过分散的 UTXO 存在的,每个 UTXO 都是单独独立计算,所以每个面值其实可以同时转账(或者叫分配)给不同的人,它是可以在一笔交易中同时完成的,不会涉及到账户一致性问题。这就在天然的顶层设计上解决了高并发问题。

中本聪真是天才。

到此,你应该就理解了为什么央行数字货币使用的是 UTXO 模型,不然深圳怎么给 5 万个钱包发送 1000 万数字人民币?

结语——

比特币之所以能成为世界级的黄金加密币,UTXO模型居功至伟,相当于用黄金去铸币。反观其他各种模型的公链,你会发现它们就像国家货币一样,不管如何包装,总会受到战争和灾难的影响而贬值,只有黄金和UTXO模型币才能做到真正的对抗。

比特币长达十年的稳定运行与实践测试,其安全性毋庸置疑。

我认为加密货币的核心三要素就是:公平、安全、隐私。

我坚定的看好比特币的未来,尤其是今年各种基于比特币协议的出现和爆发,虽然大部分还是属于MEME成分,但是已经在公平上把各种土狗盘摁在地上摩擦了。

韭菜被割怕了,也是该换一块土壤生长了。

Subscribe to The Fool
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from The Fool

Skeleton

Skeleton

Skeleton