主页 > imtoken苹果版国外 > 李笑来的比特币账户没有余额

李笑来的比特币账户没有余额

imtoken苹果版国外 2023-01-17 01:07:38

这是唐强的区块链系列文章之一:比特币常识概念UTXO。更多精彩干货,请关注公众号“唐强”。首富的账户之所以没有余额,并不是因为没有货币,而是因为比特币系统没有“账户”,只有“地址”的概念。 “账户”对应“余额”;而“地址”只对应UTXO。 UTXO(Unspent Transaction Output)是指未使用的交易输出。每一笔比特币交易都有输入和输出,别人付给你的钱就是“交易输入”,而你收到的钱就是“交易输出”。

“比特币首富”是李笑来额头上拉不下的贴纸。

不管涨跌,他只买不卖。据说他已经持有6位数的比特币。目前的价格是每辆7万元,快赶上上海车牌了。去年,它今天只卖了 4,000 台。元。

按照这个速度,只要他在家里躺两年,如果不买比特币,他就会比身家 900 亿美元的比尔·盖茨醒来的还多。

但如果你惊讶于首富的账户没有余额,那就意味着你要巩固一个比特币世界的概念:UTXO。

一、什么是 UTXO?

UTXO(Unspent Transaction Output)是指未使用的交易输出。

每一笔比特币交易都有输入和输出,别人付给你的钱是“交易输入”,而你收到的钱是“交易输出”。

你一定很奇怪,你收到的钱明明都留在了账户里,为什么叫“出口”?

是的,那是“输出”,只是“未使用的交易输出”。付清后,才是真正的“交易输出”。

如果李笑来昨天给你转了1.5个比特币,交易是这样的:

绿色箭头是左右两个,旁边是李笑来和你的地址。

注意:地址看起来像一个账户,但它不是账户,因为账户的另一端对应的是你的名字和密码,而地址的另一端只有公钥和私钥。

也就是说,比特币系统根本不知道持有者是谁,它只知道私钥和公钥。

那么有一个问题:首富给你1.5个比特币,你的地址收到币的时候余额是多少?

答案是:没有平衡。

这1.5个比特币不是余额,而是你地址中未使用的交易输出(UTXO)。

首富的账户之所以没有余额,不是因为没有货币,而是因为比特币系统中没有“账户”比特币到账需要几个确认,只有“地址”的概念。 “账户”对应“余额”;而“地址”只对应UTXO。

你一定更好奇吧,balance和UTXO都代表拥有的财富,难道不是一回事吗?

事实上,看起来相似的东西实际上可能完全不同。

二、UTXO和balance有什么区别?

在回答这个问题之前,我们先一起思考一下:如果比特币和传统货币使用相同的账户体系,会有什么问题?

首先需要一个数据库来记录大家的余额。

如果每个人的天平都像刻在石碑上,十年也行。然而比特币到账需要几个确认,实际上,我们的账户余额通常每天变化十次。

记录余额不是什么大问题,但更新余额是一件很麻烦的事情。

如果全球有 10 亿用户,每个人每天交易 10 次,那么平均每秒余额变化将达到 110,000。按照这个速度,资产负债表就会产生,再过几周,谷歌和支付宝的所有服务器就可以爆了。

而且,如果每次付款都更新余额表,那么一定存在信息冗余:如果双十一不买东西,你的余额会跟国人1更新4.@ >8亿次:

任何交易发生后,即使没有变化,大家的余额也需要更新,这是为什么呢?

因为你想避免双重支出。

例如:

有人给了我1个比特币,我很高兴,但我想了想:我应该检查一下这笔钱是否支付给了其他人,否则我会得到一张空头支票。

所以,我打开资产负债表,发现其他人确实有钱。我什至更高兴和兴奋把货物寄给别人。坏消息在晚上传来:我被双付了,我收到的比特币根本没用,因为它已经支付给了别人,而我查的余额表当时还没有更新。

找不到抱怨的衙役。

点对点系统没有中央权威账本,共识需要大部分节点确认。如果信息传递存在时滞,无法同时确认所有账户余额,双重支付在所难免。

如果比特币是这样设计的,它必须在它开始之前就死掉,而UTXO横扫平衡计划无法移动的两座大山:胖数据库和双重支付问题。

UTXO 的解决方案极其简单:只确认交易本身。

使用 UTXO 生成的数据库比使用余额系统小得多。比特币已经运行了八年多,所有的交易记录只有几百G,可以装在普通的家用电脑上。

至于账户余额,可以从上到下扫描同一个地址的所有进出,直接等待即可。你只需要等待6个区块的确认时间就可以确保你没有被双花,因为交易是经过全网确认的。

中本聪在比特币白皮书中说:

需要注意的是扇出,其中一个事务依赖于几个事务,而这些事务依赖于更多事务,在这里不是问题。永远不需要提取交易历史的完整独立副本。

需要注意的是,当一个事务基于多个先前的事务时,这些事务每个都基于多个事务,但这不存在任何问题。因为这个系统不需要提取所有历史交易的完整记录。

中本聪的意思是:我不怕交易太多,因为我的工具和别人不一样。

三、反直觉的UTXO

几年前,如果不了解 UTXO,你甚至都不敢交易。因为你会遇到这种情况:

12 月 1 日,你父亲给你 1 个硬币;

12月2日,你妈妈给你2个硬币;

p>

12 月 3 日,您的客户给了您 5 个硬币;

现在您的地址上总共有 8 个硬币。

如果你想花4个币买蛋糕,那么你会看到这样的交易记录:

从你的地址中减去 5 个硬币。

但是,你只需要花费4个硬币,为什么要扣除5个硬币?

因为比特币没有余额,只有UTXO。

你有三个未支付的交易输出(UTXO),分别是 1、2 和 5。这三个 UTXO 就像三个硬币。付钱,但系统会给你找零。

所以别担心,看起来你多付了钱,但其中 4 个硬币去了馅饼卖家,另外 1 个又回到了你的地址,这一切都是由系统自动完成的。

原来我们都要自己编程,所以要感谢现在的比特币钱包,让我们即使不懂也可以使用UTXO。

UTXO 的设计非常违反直觉。得到专栏作家卓客的一篇文章介绍比特币支付的流程:

他说他给奶茶妹妹5个比特币,系统会从他的账户里扣除5个币,给奶茶妹妹的账户加5个币,然后全世界都会帮他记录这笔交易永久保存的块。

这篇文章很精彩,但卓老板在这一点上是完全错误的。这种理解是完美平衡系统的刻板印象,他一定没看过这篇文章才会犯这样的错误。

关于比特币的一切都是公开的:账本是公开的,白皮书是公开的,源代码是公开的,但它是这样一个完全公开的东西,大多数人不了解,这样更好玩。

结论

现在你必须明白:没有比特币,只有 UTXO。

如果比特币价格不断上涨,持有6位数比特币的李笑来身价超过比尔盖茨,也不会成为世界首富,不是因为他没有余额,而是因为另一个人有7比特币,他是比特币之父,中本聪。我们都听过他的名字,但不知道这个名字对应的是谁。

但他必须是一个高素质的思想家。所谓“优质”,不是“考虑一切”,而是尽可能“考虑那些必要条件”,UTXO就是其中之一。

因此,它只是设计思维的一个分叉,面对平庸与不朽两条路,比特币奔向后者,不回头。