在上篇中我们说到,在记账系统中,节点之间因为物理环境的不同 ,接收到的账务信息不可能完全一致,那么,在每个节点都有记账和保存账簿的权利下,该如何保证记账系统的准确性呢?
首先,我们想到,肯定不能每个节点都记账,大家一窝蜂地记肯定会乱套,那就设置一个规则吧,只允许一个节点有记账的动作,这个规则是什么呢?
答案是竞争,每个节点都公平竞争,谁胜出,谁记账。
怎么竞争?用什么竞争?
靠算力--即每个节点的计算能力--来竞争 ,用算力来完成某个任务,谁最先完成谁就能记账。
那么问题来了,这个任务是哪儿来的?
我们之前提到,区块链就是一本大账簿,这本大账簿有许多张账单组成,想往这本账簿上添加一张新的账单,就得做一个任务--完成一道特殊的数学题(具体是什么数学题就涉及到较深的技术细节了,本人目前还未完全搞懂……)。
有很多节点都想做这道题,所以竞争很激烈。
一旦被别人解出来,你之前做的所有工作就都成了无用功,耗时耗力又极有可能一无所获,那为什么大家还都愿意去竞争呢?
有高额奖励在激励着参与者们。在中本聪的设计里,每轮竞争胜出并完成记账的节点可以获得系统给予的一定数量的比特币奖励,这就是俗称的“挖矿”。
至此,我们知道了,在一个去中心化的系统中,加密保证了账簿的真实性,竞争记账保证了账簿的准确性,好了,去中心化的特性有保障啦。
领取专属 10元无门槛券
私享最新 技术干货