这个吞金兽不好养

第两百二十一章 区块链

加入书签 推荐本书

第两百二十一章 区块链(第3/4页)

所以你们室友在帐本里都不写名字,而是写下跟各自对应的字符串,即比特币账户。

虽然对于你们四个人的寝室这纯属脱裤子放屁,但如果对于规模更大的系统,比如前文提到的整个学校而言,这种操作可以极大提升隐私性。

我们只能知道每个账户,而无法知道谁拥有这个账户,这就保证了隐私性。

而区块链呢,就是从这一节开始进入正题。

前面我们提到了这个账本是分布式存储的,每个人都有一个自己独立管理的账本。

当这个账本系统变得很大时,一致性问题就必须要考虑。

比如,如果你有室友在交易记录发布时不在寝室,那么他就错了这次消息,使得这次消息不会出现在他的帐本里。

换回比特币系统,也就是部分电脑可能处于关机或者未联网状态,会错过部分交易。

此外,还可能会有黑客入侵部分电脑,篡改交易记录。

此外,还有一个更严重的问题就是,实际网络拓扑非常复杂,链路质量的随机性很大。

因此,如果用户a(假设账户里有10btc)连续广播两条相互矛盾的消息,比如:

交易信息1:用户a支付10btc给b。

交易信息2:用户a支付10btc给c。

有的读者应该会觉得,那我们就采信先收到的交易信息1,忽略与之矛盾的脚印信息2不就行了。

但问题是,因为网络链路的复杂性,所以很可能存在部分用户先收到交易信息1,又有部分用户先收到交易信息2。如果依靠先后顺序辨别有效性,那么就会存在不同用户记录的交易信息不一致。

所以为了解决这个问题,中本聪才提出了区块链的概念。

每个用户如果愿意,都可以整理自己从网络中接收到的交易信息,然后检查其是否合理,也就是每笔交易是否由足够余,然后数字签名是否正确后,再将交易记录打包成一个区块。

因此每个交易记录都是以区块的形式存储,然后再广播到系统中的其他用户中。

而区块之间相互连接,形成一条由系统内全体用户共同维护的区块链。

因此其他用户收到广播的区块时,就会把这个区块加到自己维护的账本,也就是区块链的尾部。

但如果只是这样,并没有解决任何问题。互联网节点遍布全球,广播过程也需要时间,因此肯定会存在不同节点收到不同区块存储的问题。

所以如此一来这个网络就乱套了。

而为了降低传播时间的影响,一个简单粗暴的方式就是从系统设计中就限制区块生成的速度。

所以比特币系统的核心思想采就是用算力限制区块的生成速度。

比特币系统要求,每个用户在发布新区块前,必须先完成一个任务。

这个任务就是根据前一区块的一些信息加上新区快的一些信息,生成一个字符串s,选择一个字符串b,与s合并成“bc”,且要求“bc”的哈希映射满足某个条件,比如映射结果的前72位为0。

所以上面的第二步,除了一个个试以外是没有捷径的,而且结果是否满足要求可以快速试出。

举个例子就相当于给你一个银行卡,让你挨个试密码。

(本章未完,请点击下一页继续阅读)

上一页 章节目录 下一页

小说推荐:港综从追龙开始重生之芯片大亨华娱激荡年代笙色归己我给狐仙当女婿终极测谎:一首将进酒,盖压全网全班吊车尾,你告诉我毕业上清北?这个导演很靠谱我一夜之间成了丑闻女主角我靠美食在现代爆火了华娱大诗仙离婚后女反派制霸娱乐圈玄学直播:老祖宗分手热搜后身价暴涨千亿四合院之饮食男女