正文
按照这个速度,只要躺在家里睡两年,一觉醒来的他会超过身价900亿美金的比尔·盖茨,如果后者不买比特币的话。
可如果你惊讶于首富账户没余额这件事,那说明你还得巩固一个比特币世界的概念:UTXO。
一、什么是UTXO?
UTXO(Unspent Transaction Output)指未花费的交易输出。
每笔比特币交易都有输入和输出,别人付给你的钱是“交易输入”,你收到的钱是“交易输出”。
你一定会奇怪,你收到的钱明明放在账户里没动,为什么会被叫做“输出”?
对,这就是“输出”,只不过是“未花费的交易输出”。一旦你支付出去,就是真正的“交易输出”。
如果李笑来昨天转你1.5个比特币,交易是这样的:
绿箭头左右两侧,分别是李笑来和你的地址。
注意:地址看起来像账户,但它不是账户,因为账户的另一头对应你的姓名和密码,而地址的另一头却只有公钥和私钥。
换句话说,比特币系统根本不认识持币者是谁,它只认识私钥和公钥。
那么飘来一个问题:首富赐你1.5个比特币,你的地址收到币的一瞬间,余额是多少?
答案是:没有余额。
这1.5个比特币不是余额,而是你地址里的
未花费交易输出
(UTXO)。
首富账户之所以没有余额,不是因为没有币,而是比特币系统没有“账户”一说,只有“地址”的概念。“账户”对应“余额”;而“地址”只对应UTXO。
你一定会更奇怪,余额和UTXO都代表拥有的财富,不就是一回事么?
其实,看起来相似的东西,实际上可能完全不同。
二、UTXO和余额区别在哪?
回答这个问题前,我们首先一起思考:如果比特币和传统货币一样,使用账户系统,会有什么问题?
首先需要一个数据库,记录所有人的余额。
如果所有人的余额都像刻在石碑上一样,风吹雨打十年不变,那没问题。可实际上,我们的账户余额常常一天变十次。
记录余额不算个事,更新余额才折腾人。
如果全世界有10亿用户,每人每天交易10次,那么平均每秒余额变动将达11万次。按照这个速度生产余额表,几周之后,就能撑爆Google和支付宝两家店所有的服务器。