支付给小黄50BTC”的前提是自己曾经收到过多余50BTC。因此小王的交易记录需要包含自己之前的交易信息,举个例子:
小白支付给小王40BTC
你支付给小王20BTC
小王支付给小黄50BTC
我们忽略比特币的源头,及它是如何产生的事,先继续往下看。
这个时候小王需要广播的交易信息就是:
谷/span之前交易小白支付给小王60BTC,你支付给小王60BTC。
当前交易小白支付给小黄20BTC,你支付给小黄10BTC,你支付给小黄10BTC。
这里说一句,“你支付给小王20BTC”中的20BTC是一个整体,无法分割,因此无法只从中拿出10BTC交易。
还有最后一个改进就是不留证明,改留比特币账号。就是用户A并不用留下自己的名字,而是用一个字符串来代表自己进行交易,同理,用户B和C也是如此,只留下了一个字符串。
所以你们室友在帐本里都不写名字,而是写下跟各自对应的字符串,即比特币账户。
虽然对于你们四个人的寝室这纯属脱裤子放屁,但如果对于规模更大的系统,比如前文提到的整个学校而言,这种操作可以极大提升隐私性。
我们只能知道每个账户,而无法知道谁拥有这个账户,这就保证了隐私性。
而区块链呢,就是从这一节开始进入正题。
前面我们提到了这个账本是分布式存储的,每个人都有一个自己独立管理的账本。
当这个账本系统变得很大时,一致性问题就必须要考虑。
比如,如果你有室友在交易记录发布时不在寝室,那么他就错了这次消息,使得这次消息不会出现在他的帐本里。
换回比特币系统,也就是部分电脑可能处于关机或者未联网状态,会错过部分交易。
此外,还可能会有黑客入侵部分电脑,篡改交易记录。
此外,还有一个更严重的问题就是,实际网络拓扑非常复杂,链路质量的随机性很大。
因此,如果用户A(假设账户里有10BTC)连续广播两条相互矛盾的消息,比如:
交易信息1:用户A支付10BTC给B。
交易信息2:用户A支付10BTC给C。
有的读者应该会觉得,那我们就采信先收到的交易信息1,忽略与之矛盾的脚印信息2不就行了。
但问题是,因为网络链路的复杂性,所以很可能存在部分用户先收到交易信息1,又有部分用户先收到交易信息2。如果依靠先后顺序辨别有效性,那么就会存在不同用户记录的交易信息不一致。
所以为了解决这个问题,中本聪才提出了区块链的概念。
每个用户如果愿意,都可以整理自己从网络中接收到的交易信息,然后检查其
请收藏:https://m.zhoumunan.cc
(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)