科普:拜占庭将军问题和实用拜占庭容错算法

科普:拜占庭将军问题和实用拜占庭容错算法

比特币行情:根据比特币交易平台火币网行情显示,截至北京时间7月5日13点,比特币价格为17881.01元人民币。火币网比特币今日开盘价格为18158.94元,目前最高价格为18200元,最低价格为17801元,跌幅1.53%。

最新比特币行情小时图

BTC比特币行情小时图来自火币网

比特币小贴士:

“拜占庭将军问题”(Byzantine Generals Problem)是一个建立于共识机制解决的实例。拜占庭为过去东罗马帝国的首都,现在位于土耳其的伊斯坦堡。由于当时拜占庭罗马帝国的国土辽阔,基于防御目的,每个军队都分隔遥远,因此将军间只能靠信差传递消息。于战争时,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军,因为唯有达成一致的行动才能获致胜利。将军中若存在叛徒,叛徒可以采取行动以欺骗某些将军进行进攻行动,或致使他们无法做出决定,缺乏一致行动的结果则将注定战事的失利。

类比于区块链上的共识机制,拜占庭消息误传系指区块链上分散式网络中节点所出现的任何错误(如,伪造签名、恶意破坏系统的一致性、超时、重复发送消息等)。共识机制通常具有容错的设计,即使某些节点失败或是缓慢的,分散式网络中节点的独立处理器仍能达成某种精确的相互一致性。但是共识机制具多样种类且其各自特性,并由小表显示的共识机制基本参数来决定。

共识机制基本参数 定义
分散式治理 一个中央节点不能提供交易最终确定
仲裁结构 在预先定义的方式进行节点间讯息交换
身份验证 验证参加身份
完整性 交易完整性的验证
不可否认性 验证发送者应该是交易讯息的真正发送者
隐私 确保只有预期的收件者才能阅读交易讯息
高效容错 网络能高效快速的运行,即使某些节点失败或缓慢
性能 吞吐量,活跃度,可扩展性和延迟

PBFT算法的运作步骤为:

(1)取一个副本作为主节点,其他的副本作为备份;

(2)用户端向主节点发送使用服务操作的请求;

(3)主节点通过广播将请求发送给其他副本;

(4)所有副本执行请求并将结果发回用户端;

(5) 用户端需要等待F+1个不同副本节点发回相同的结果,作为整个操作的最终结果。

因此,PBFT算法对所有非有问题之副本节点的请求执行总顺序可达成一致,据以保证安全性。所有用户端最终都会收到针对他们请求的回复,据以确保活跃度(liveness)。

116712_image3

实用拜占庭容错算法保证安全性与活跃度示意图

来源:金色财经