时间:2022-01-17|浏览:7258
用戶喜愛的交易所
已有账号登陆后会弹出下载
拜占庭将军问题(以下简称共识问题)的正式表达是:如何在不基于信任的分布式网络中就信息达成共识?这种表达听起来很模糊,但其本质并不复杂。虽然下面的例子与共识问题不完全一致,但它有助于我们理解[9]。
想象一下在遥远的拜占庭时代,有一个富饶的城邦,金银珠宝绫罗绸缎应有尽有,它的领主哆啦A梦想享受所有的奢华和荣耀。在城邦外围,四位拜占庭将军大雄、胖虎、小夫和静香都觊觎哆啦a梦A梦的财富,所以他们决定一起攻占哆啦啦A梦的城邦。根据双方的实力比较,必须有一半以上的将军同时发起攻击,才能战胜敌人。因此,获胜的条件是四人中至少三人可以就进攻时间达成协议。那么四位将军的胜算是多少呢?
这个问题的答案就要取决于四个人的合作方式了,如果是集中式系统,有一个盟主,比如胖虎(相当于中央服务器),那么他们的胜利是毫无悬念的,因为就进攻时间达成一致非常简单,只要胖虎召集大雄、小夫和静香开个会讨论一下就可以了,即使大家意见有分歧胖虎也可以在最后予以定夺。下面让我们回到拜占庭将军问题的假设里,在不基于信任的分布式网络中,四位将军的胜算又如何呢?
首先,由于四位将军之间缺乏信任,聚集在小黑屋开秘密会议的可能性被排除在外(一旦他们在小黑屋被胖虎绑架怎么办?);其次,由于没有联盟所有者,四个人的意见将受到同样的重视。在这种情况下,四位将军只能通过信使在营地之间传递信息来商定进攻时间。例如,大雄认为早上6点是发动进攻的好时机,所以他会派信使告诉胖虎、小夫和静香他的意见。同时,胖虎可能认为晚上9点发动突袭更好,小夫更喜欢下午3点发动攻击,静香希望上午10点发动进攻。他们三个也会同时派信使。这样,第一轮通信结束后,四位将军每个人都有四个进攻时间可供选择。他们每个人都应该在下一轮通信中告知另外三个人他们选择的时间。由于四个人的决定是独立的,最终的选择是256种可能性。只有当三位将军达成共识的可能性增加100人时,我们才能达成共识?只有100人的概率才会增加1/4
以上例子中的将军被计算机网络中的节点所取代,信使被节点之间的通信所取代,攻击时间被需要达成共识的信息所取代,你可以理解共识问题所描述的困难。达成共识的能力对支付系统的重要性是不言而喻的。如果你把一笔钱汇到家里买车,第二天去银行验证,柜台告诉你关于你汇了多少钱,我们的系统有三个版本的记录,你显然不敢把钱存进这样的银行。在比特币出现之前,很难完美地解决共识问题。为了确保达成共识,需要使用集中系统(除非节点满足特定条件),并且不能保证分散的共识。那么,区块链技术是如何解决这个问题的呢?(关注公共账户weoption,回复区块链,查看全文。