因为网络链路的复杂性,所以很可能存在部分用户先收到交易信息1,又有部分用户先收到交易信息2。如果依靠先后顺序辨别有效性,那么就会存在不同用户记录的交易信息不一致。
所以为了解决这个问题,中本聪才提出了区块链的概念。
每个用户如果愿意,都可以整理自己从网络中接收到的交易信息,然后检查其是否合理,也就是每笔交易是否由足够余,然后数字签名是否正确后,再将交易记录打包成一个区块。
因此每个交易记录都是以区块的形式存储,然后再广播到系统中的其他用户中。
而区块之间相互连接,形成一条由系统内全体用户共同维护的区块链。
因此其他用户收到广播的区块时,就会把这个区块加到自己维护的账本,也就是区块链的尾部。
但如果只是这样,并没有解决任何问题。互联网节点遍布全球,广播过程也需要时间,因此肯定会存在不同节点收到不同区块存储的问题。
所以如此一来这个网络就乱套了。
而为了降低传播时间的影响,一个简单粗暴的方式就是从系统设计中就限制区块生成的速度。
所以比特币系统的核心思想采就是用算力限制区块的生成速度。
比特币系统要求,每个用户在发布新区块前,必须先完成一个任务。
这个任务就是根据前一区块的一些信息加上新区快的一些信息,生成一个字符串s,选择一个字符串b,与s合并成“bc”,且要求“bc”的哈希映射满足某个条件,比如映射结果的前72位为0。
所以上面的第二步,除了一个个试以外是没
第两百二十一章 区块链(6/8)