(0)
你买的比特币,根本就不存在,你买的结果是在账簿上记上了一个记录。
(1)
我们接着聊UXTO的问题
之前文章提到比特币系统实际上就是一个去中心化的账本,这里面有两个关键点,一个是“去中心化”,一个是“账本”,那比特币的“币”哪去了???
在解释这个问题之前,我们先回想下雅浦岛的石币,假设极端点的思考,如果所有的人的石币都掉到深海里去了,那所有的人如何应对日常的交易呢。
大家已经有的币被其他所有人都是承认的,那么只要之后产生交易行为,就只能做一个交易记录了,并且这个交易记录是被其他所有人都承认的,于是乎,大家所有的交易都慢慢变成了交易记录,最终你找某个人的余额的时候,能够直接拿账本推测出某人还剩余多少钱。
举个例子
假设A、B、C、D各种10、20、30、40单位石币
第1天,A给B 5单位(A减少5个单位,B增加5个单位)
C给B 2单位(记录方式同上)
第2天,D给B 3单位(记录方式同上)
B给A 8单位(记录方式同上)
第3天,A给D 5单位(记录方式同上)
C给D 7单位(记录方式同上)
第4天,A给C 5单位(记录方式同上)
D给B 6单位(记录方式同上)
第5天,D给B 5单位(记录方式同上)
C给A 3单位(记录方式同上)
现在你猜,A、B、C、D有多少钱
A有:10-5+8-5-5+3=6
B有:33
C有:23
D有:38
看,所有人手里都没有石币,所有人只做交易记录,
最终呈现出来的结果竟然是,每个人都有钱(有余额),不管交易多少次、交易多少天。
账本上能够呈现你的余额是这么多,你就是有这么多钱。
但是你实际上并没有什么石币。
如果再往下一步思考,如果当初就根本没有石币,仅仅靠记账行不行呢?当然行啦,根本不影响大家的生活,因为所有人都认可这个账本。
只不过计算机个体之间的交流成本效率、查账效率高了去了,你花好几天才能算出结果,计算机能瞬间算出来。
这其实就是UTXO机制的本质
但是UXTO还有一个细节
直接举个例子,拿第三天的“A给D 5个单位”举例,它实际的过程是怎样的呢?
在原始的时候跟A有关的就是“系统给了A 10个单位”
第一天做了次交易,这时候A的实际步骤是这样的,A给了B 10个单位,但是A实际上只是想给B 5个单位而已,那么这个交易记录记录的方式就如下:


第三条记录是不是有点特殊,为啥从账簿里找到“8个或5个”
是这样的,A之前有两个交易,每个单次交易的结果是A往回放5个,A往回放8个
这个时候当A要给D转账5个单位的时候,他就去翻账簿去了,如果先找到5个的,一看能够支付,那就做支付了;如果先找到了8个的,那也可以做直接支付,只不过会再返回来3个;如果出现这种情况,找了所有的交易,都没有单笔交易里就够的,那就把好几笔加在一起来支付。
这个有点像什么呢?就是当你吃完面条(假设面条18元)要支付的时候,你会翻钱包,一看正好有个100的,那就给老板100的,然后让他找;如果有个50的那也行,也可以找;如果翻了半天没有面额大于20的,那你就可以找两张10块的,或是两张5块一张10块的,当然还可以其他组合。
比特币系统支付并不是基于账户的,在最开始A、B、C、D让人感觉是每次交易完系统会记录你的余额,然后在你下次支付的时候直接看余额是否够,够就直接支付,不够则直接告诉你不够
比特币不是这样的,它就是去翻账簿每次交易中右边记录的入账自己口袋里的部分是否足够,而没有现成的余额直接供参考。
每个记录在比特币系统里有专业的术语

输入的概念,就是你去账簿里翻,有没有能够直接满足“输出(消费)”的条目。再进一步说,它是资金来源。
如果超了,那么会出现“输出(未消费)”条目,当然如果正好估计里面记录的是0
如果不够则继续找,如果找遍了就是没有,那就把所有的都加起来看够不够,直到凑够了
如果最终没有凑够,那会返回你,你钱不够了
当然看完这样的过程,你会想,这也太复杂了,但别忘了所有的内容都是在计算机、互联网上的,他们的效率高的让你不敢想象。有点像地球人看三体人的水滴,根本不明白三体人水滴为毛那么牛逼。
(2)
那么为什么用UXTO这种机制,而不用账户机制呢???
其实我也很好奇,据说比特币系统的源代码发布的时候就是用的UXTO机制,找不到使用UXTO机制的原因。
那现在就只好硬着头皮猜喽···(这部分参考《其实并没有什么比特币,只有UXTO》)
如果基于账户的机制,那么每次交易之后,都会有余额这个内容,而假设之把这个内容每次都存到区块里,作者观点是账户系统无限多,需要记录的内容会越来越多,而UXTO就相对简单了
而采用UXTO,就是记录的比特币本身的所有权,而且比特币还可以分割。
这就是以账户为核心思考点和以比特币所有权为核心思考点产生的区别。
前者会越积越多,后者则不一样了。
我们可以把比特币看做是Excel里整整齐齐的2100万个单元格,第N个单元格今天属于A,然后A做交易了,属于B了,比特币系统直接把所有权改为B完事,其他都不管了。
因为比特币的最小单位仍然是有限制的,所以最终记录的条目也会在一定的范围内,而不是满天飞的各种地址了。
你会想到,2100万个比特币能分到小数点8位呢,得产生多少记录,这个会比用账户体系少吗,这个我就真不会算了···
但是2100万,拆分到8位小数点之后,仍旧有个值,这个值是能看到的;但是如果换成了地址,那就没数了,随着时间会无限大,地址的增长根本停不下来,关键的是你还不能给删了···
而且从现实情况来看,中本从选择的是后者。
比特币系统中存储的都是交易记录,
那个体如何证明这个记录是自己的呢,通过密匙就能够证明了
·······························································
参考文章《其实并没有什么比特币,只有UXTO》
力荐