LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > “将军有叛徒”“无妨有拜占庭容错”

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

2021-09-01 TenLab探索实验室 来源:区块链网络

事情是这样的

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

拜占庭帝国的皇帝下令:

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

钦此

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

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

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

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

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

信息不一致。

彼此不信任。

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

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

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

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

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

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

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

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

共识机制

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

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

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

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

拜占庭容错 (BFT)

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

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

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

BFT系统目前情况

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

查看更多

—-

编译者/作者:TenLab探索实验室

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...