首页 > 世链号 > 小白普及帖:拜占庭将军问题
白兔糖论币  

小白普及帖:拜占庭将军问题

摘要:区块链网络中,没有一个权威者决定如何添加新区块,所有决策都通过参与者达成共识来决定。

区块链网络中,没有一个权威者决定如何添加新区块,所有决策都通过参与者达成共识来决定。

但参与者中可能存在作恶的人破坏共识,早在1982年,就有学者将这个困境类比成生动的故事模型,称为“拜占庭将军问题”。

故事模型是这样的:拜占庭帝国拥有许多军队,每支军队相隔甚远,将军们无法围坐炉边共商军事策略,只能通过信使传递消息。

小白普及帖:拜占庭将军问题

当需要围剿其它国家时,若将军们行动不一致,可能寡不敌众遭致惨败,所以每位将军会将自己支持进攻还是撤退的决定写在信件中,寄给其他将军。

收到全部信件后,将军们只要遵循多数人的决定,就能同进共退。

若每个将军都如实传达自己的投票结果,信使没有中途被敌人截胡,这看起来只是一个简单的问题。

但事实上,将军或信使中可能存在扰乱视听的叛徒。

现在,我们假设共有5位将军,其中有1个叛徒。2位将军投票进攻,2位将军投票撤退,1个叛徒则向2位选择进攻的将军声称支持进攻,向另外2位声称撤退。

小白普及帖:拜占庭将军问题

2位选择进攻的将军收到3张进攻投票,于是发起进攻,另2位将军则会因为收到3张撤退投票而做出相反决定。

可怜的拜占庭将军们遇到了难题:在有叛徒的情况下,忠诚的将军们该如何达成策略一致?

类比到区块链网络中,每个参与共识的人相当于拜占庭将军问题中的将军,他们之间通讯的信道相当于信使。

参与者需要解决共识遭到作恶节点破坏的问题,也就是需要解决拜占庭将军问题。

PBFT是指实用拜占庭容错机制,是一种常用于联盟链中的共识机制。

小白普及帖:拜占庭将军问题

参与形成联盟链共识的人中,可能存在作恶者。顾名思义,“容错”意味着使用了这套机制,能够“包容”一定数量的恶意节点的存在,让它们不至于影响整个共识的正常达成。

如果套用PBFT的运作原理,只要将军总人数大于其中“坏将军”的3倍,就能确保共识的产生不受干扰。

比如说一共有10位将军,在其中有7位是“好将军”的前提下,投票结果将是可信的。

这一切都是由PBFT的算法来保证的,简单地说,算法会要求共识者互相传递投票意见。

在使用了PBFT的联盟链中,作恶的人就相当于“坏将军”,只要链上的共识者总数大于其中的作恶者数量的3倍,系统就能维持正常运作。

文章作者: 一朵小红花

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。