在前面的文章中,我们科普了挖矿的原理和应用,那么如何在区块链中确保交易的准确性和有效性呢?
让我们再次回到特定的情境中。在传统的金融系统里,A向B转账了一笔钱,这个行为会被保存在银行数据库里,也就是交易数据的真实性由银行这样的传统机构保证,以他们的记录为准。但是在比特币系统中,可能有的节点记录了A向B转账的事情,有的节点没有记录,那系统到底如何确认这笔转账的真实性呢?
于是通过一个合适的共识机制,让整个系统能做出统一的决定,就很重要了。
相信这时候有人会提出,这不是很简单吗,让所有人投票,少数服从多数就好了!
赵长鹏:Twitter价格可能略高,无论马斯克做出什么决定都会支持:金色财经消息,币安CEO赵长鹏在社交媒体回复网友时表示,Twitter的价格可能略高。但无论如何马斯克的决定如何,他都会支持。[2022/7/24 2:34:08]
可是世界毕竟没有那么单纯。1982年,LeslieLamport等在论文《TheByzantineGeneralsProblem》中提出了这样一个问题:
设想在中世纪,拜占庭帝国的几位将军各自带兵共同围困一座城市。这座城市的防守非常坚固,只有他们一起进攻才能攻下来。也就是说,他们要么一起进攻,要么一起撤退,否则都是灾难性后果。但是因为各位将军分处城市不同方向,没法坐在一起讨论,只能通过信使告诉彼此自己投票进攻还是撤退。于是,每位将军都是根据得到的所有别的将军的投票,做出自己进攻还是撤退的决定。
声音 | 清华大学教授韩峰:Libra现在是锚定货币或者资产,性质跟支付宝没有什么区别:据央广网报道,清华大学教授韩峰表示,Facebook这样的公司一旦介入数字货币领域,将会带来全球性影响。首先反应是怕失控了,因为传统逻辑都是政府的央行发行货币,但是从比特币开始挑战了这个逻辑,是靠一种加密算法,很多家想封杀它,但是事实证明封杀不了。突然Facebook又跳出,这么一家体量如此大的公司,它至少有27亿用户,理论上它可以汇通全球所有的货币,因为它并没有实质性障碍。Facebook至少现在还是锚定一些现实的货币或者资产,比如锚定美元,它大概就会做这种选择。它的性质跟支付宝没有什么太大的区别,支付宝也是锚定人民币,银行存人民币,然后支付宝里出现所谓的数字。如果是这种性质,美联储应该不用太紧张。[2019/6/24]
如果所有将军都是忠诚的,当然没有问题,根据大多数将军投票结果就好了。但是问题在于,将军中可能有叛徒。假设9位将军投票,4人投进攻,4人投撤退,剩下1人是叛徒,他选择告诉进攻的4人他投进攻,告诉撤退的4人他投撤退,那么结果就悲惨了。
声音 | 比特币安全专家:代码提交等KPI可信度取决于区块链项目既定目标是什么:据AMBcrypto消息,比特币安全专家Andreas Antonopoulos近期在会议现场提出:“我们是否应该将代码提交、区块链活动、DApp数量或节点数量作为衡量区块链项目成功与否的KPI(关键绩效指标)?这取决于你想达到的目标是什么。”Antonopoulos指出,KPI的可信度在很大程度上取决于选择适合其特定需求的度量标准。然而,他承认在许多情况下很难准确地衡量这些标准。Antonopoulos还提醒与会者,要避免将KPI视为一种投资零和游戏。[2019/5/7]
声音 | 赵长鹏:不明白为什么有人不接受加密货币支付:币安创始人赵长鹏刚刚发推表示:对于任何基于互联网(非物理)的业务,我不明白为什么有人不接受加密货币支付。与传统的支付网关相比,(加密货币)集成更容易、更快和更便宜,同时减少文书工作,覆盖更多样化的人口和地理。[2019/2/3]
所以需要有一种算法,以保证即使将军中有叛徒,忠诚的将军们依然能通过多数决来做出决定,也就是拜占庭容错。这并不容易。直到1999年,MiguelCastro和BarbaraLiskov提出了实用拜占庭容错算法,能够实现只要叛徒不超过三分之一,忠诚的将军们就一定能达成一致结果。这已经是非常好的成绩。
直到中本聪提出比特币,拜占庭将军问题的解决终于有了一种新的思路。我们这里不讨论技术算法和结构,简单来说,中本聪的思路就是,如果要做叛徒,攻击整个网络,需要付出相应的成本,而这个成本在比特币的PoW工作量共识机制下,就是要掌握整个网络50%以上的算力——换句话说,有50%以上的叛徒才行,这是比PBFT高得多的容错率,而且大家可以想象一下这是多高的成本。接下来,绝妙的是,如果真的掌握那么大的算力的话,用这些算力维护网络获得的收益其实会高于破坏网络。
当然PoW机制虽然很健壮,但成本很高,有太多懂区块链不懂区块链的人批评比特币浪费了大量的算力以及产生这些算力的电、计算设备等。因此后来全世界的聪明人们研究出了不少替代PoW的共识机制,不过这些共识机制同样延续的中本聪的思路:作恶有成本,且成本高到还不如为善。
但是后续的这些共识机制也都有各自的问题。比方说,PoW之外最早也是最重要的PoS,由SunnyKing于2011年提出,它的原则是一个节点持有的币越多,越有机会产生下一个区块,也就是如果想要造假需要持有很大量的币。而既然造假者持有了那么多币,破坏网络的可信度就会造成资产的大量损失,这个损失极有可能是超过造假的收益的。
PoS相比PoW节约了大量的资源,但是对它的批评也很明显:这会造成富者越富,穷者越穷,然后用户会流失,新用户也不愿意加入。
即使在POS和POW之后,诞生了股份授权证明机制、按区块达成的投注共识、瑞波共识机制、秒级共识验证Pool验证池、广泛应用于联盟链共识的实用拜占庭容错机制、小蚁发布的授权拜占庭容错机制等各样共识机制,但是由于它们各自存在的中心化过强、过于依赖代币、容错性过差等缺点,截至目前,依然没有一种共识机制,能让大家都觉得信服。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。