“将军,有叛徒” “无妨,有拜占庭容错”

探索实验室
探索实验室 机构得得号

Sep 01, 2021 探索实验室是聚焦于区块链、大数据、人工智能、云计算等新型科技的开发应用、基础研究以及投融资孵化的新型综合实验室。

摘要: “将军,有叛徒” “无妨,有拜占庭容错”

事情是这样的 

(本事件纯属虚构,如有雷同一定是巧合)

拜占庭帝国的皇帝下令:

奉天承运、皇帝诏曰。信开疆拓土为国之大计,又我国将领各个神勇,特令十位将军带领自己的军队,分布于某城池的不同位置,并以围剿包抄战术突袭该城!敌军不防之际,正是我军直捣黄龙之时。

钦此

将军们得令后,立即整军连夜出发,趁着昏黄夜色,几位将军都安全潜入预定位置进行埋伏,只待得到其他所有将军一致进攻命令时,一举拿下城池。

然而,奇怪的事情发生了……

将军们从信使那里收到的各处信息并不一致,有的写着进攻、有的勒令撤退、有的甚至没有信息!将军们一时无法决议,只能继续等待!

随着时间推移,将军们失去了最好的进攻时机,天蒙蒙亮时,埋伏的军队被敌军发现并且逐个击破,最终拜占庭的攻城计划失败了。

这其中,发现了什么问题?

信息不一致。

彼此不信任。

没错!这场战役胜利的关键,必须满足以下条件:

  • 每个将军必须决定:进攻或撤退(是或否);

  • 决定一经作出,不得更改;

  • 所有将军必须就同一个决定达成一致并以同步方式执行。

这里最直接的问题就表现在:一名将军只能通过信使传达的消息与另一名将军进行通信。因此,拜占庭将军问题的核心挑战是消息可能会以某种方式延迟、破坏或丢失

另外,即使消息成功传递,有些将军可能会出于某种原因,比如:叛变,选择恶意行事并发送欺诈性消息以迷惑其他将军,从而导致彻底失败。

此时,我们将拜占庭将军问题应用到区块链中,每个将军代表一个网络节点,节点需要就系统的当前状态达成共识。换句话说,分布式网络中的大多数参与者必须同意并执行相同的操作,才能避免完全失败。

而在区块链这种分布式系统中达成共识的唯一方法就是拥有至少 ⅔ 或更多可靠和诚实的网络节点,这意味着,如果网络的大多数节点决定采取恶意行动,则系统很容易受到故障和攻击(例如51% 攻击)。

共识机制

众所周知,区块链是去中心化的、由分布式计算机节点网络去维护的共享数据库。区块链技术允许创建去信任化的经济系统,在不需要中介的情况下,可以执行透明、可靠的金融交易。

而自2008年中本聪发明的比特币诞生后,许多将区块链作为架构核心元素的、有特定机制的加密货币被创造出来。基于区块链衍生的加密货币也正被多个国家,用作严重依赖信任的传统银行和支付系统的可行替代方案。

就像大多数分布式计算系统一样,加密货币网络的参与者需要定期就区块链的当前状态达成一致,这就是我们所说的共识达成。然而,以安全有效的方式就分布式网络达成共识远非易事。(这就好比上述遇到的拜占庭将军问题)

如果某些节点出现故障或不诚实行事,分布式计算机节点的决策如何才能达成一致?这就催生了拜占庭容错的概念。

拜占庭容错 (BFT)

本质上,拜占庭容错 (BFT)就是让所有的将军都尽可能拥有更多的数学家。

如果将军们能雇更多的数学家, 那就意味着他们可以将信息通过复杂的加密方法加密后再传递;这种信息加密非常复杂,以至于城里的任何一位数学家真的没有机会或非常小的机会,能够在足够快的时间里,拦截消息,然后解密、改变内容并重新加密。

BFT使得系统能够抵抗源自拜占庭将军问题的故障,即使某些节点出现问题或恶意操作,BFT系统也能够继续运行。 这也能更容易揪出将军中的“叛徒”(即不诚实的计算机节点)。

BFT系统目前情况

BFT在很多场景都有应用,例如:航空、航天和核电等行业。在区块链应用中,一般适用于对强一致性有要求的私有链和联盟链场景。例如,在IBM主导的区块链超级账本项目中,实用拜占庭容错系统是一个可选的共识协议。让我们一起期待更多符合市场生态的BFT解决方案吧!

作者:探索实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 探索实验室 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信