LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 为什么是SperaxBFT?

为什么是SperaxBFT?

2020-03-12 Sperax 来源:火星财经

区块链(设计上的分布式系统)面对的一个基本挑战是如何以去中心化方式可靠地达成共识。在中心化系统中,网络状态由单个中央机构定义,并且不依赖于与任何潜在恶意节点的任何潜在故障通信。但是,在去中心化的系统中,多个不同的节点必须彼此通信并共同决定系统的状态。在依赖于通信的状态中,随着复杂性的增加,又将会遇到一系列潜在的问题:通信被延迟,更改,重新排序或丢失。此外,在达成共识的过程中,某些节点可能会以恶意或不诚实的方式行事。

安全性,活跃性和BFT

因此,在需要去中心化共识的系统中,考虑到这些潜在问题,必须设计出具有最少故障空间的协议。更具体地说,我们的目的是使我们的协议达到安全性目标:就整个网络上的系统状态可靠地达成共识,以及活跃性,即能够为该共识提供合理的时间保证。总而言之,我们需要一个标准的操作程序或协议,它允许多个不同的参与者以可用和安全的方式达成绝对共识。这些难题最好使用拜占庭容错(BFT)的概念来形式化。BFT意味着即使某些节点出现缺点或恶意行为拜占庭容错系统也能够继续运转,以便可靠地在分布式网络中达成共识。拜占庭容错(BFT)的名字来自著名的拜占庭将军问题,它是分布式网络中广泛使用的一个类比问题。

在拜占庭将军问题中,我们有一支军队,分为多个不同的营,每个营由自己的将军领导,全部包围着一个敌人的堡垒。为了取得胜利,他们必须通过使用信使相互交流来发动协同攻击。虽然听起来很简单,但我们如何知道所有将军都已达成共识?如果将军将提议的攻击时间发送给第二名将军,则他们必须等待使者返回状态。如果使者被俘虏或杀死,甚至被敌人的奸细所取代,这将变得更加复杂,而且一些将军可能是叛徒并试图误导其他人。一个诚实的将军如何知道他收到的信息是真实的,是否已经收到确认信息,及他何时才能相信已经达成共识?这个问题已被用来说明诸如区块链之类的分布式系统中的难题,其中将军代表网络上的节点。拜占庭将军问题中的使者丢失,延误或被奸细取代代表了网络延迟问题或在这些网络上发生的任何中间人攻击。

BFT和网络延迟

正如我们将要讲述的,定义这些目标的挑战性的是节点交互所通过的网络的局限性和特征,以及我们可以假设不诚实的节点或对手能够做到什么。举例来说,我们拥有一种神奇的网络,可以保证如果一方发送消息,则预期的接收者会立即收到该消息。这相当于让所有将军都站在一起。我们可以看到,设计协议以在这样的网络上实现BFT目标要容易得多。但是,由于这样的网络极不可能实现,因此,请想象一个更现实的网络,该网络可确保在给定的有限时间内传递信息。这种网络在形式上被称为同步网络。这里要注意的关键是我们有一个已知的上限,它使我们可以对通信进行假设。尽管这比刚刚提到的没有时间延迟的方案更为现实,但它并不能代表通过公共互联网进行交互的系统。

在完全现实的情况下,我们将无法访问有保证的上限,并且我们无法假设一个节点从另一节点接收消息所花费的时间。

这种网络称为异步网络。异步网络的定义性问题之一是,如果没有对等待时间进行假设的能力,就很难区分响应被延迟的节点和发生故障的节点。在异步和同步网络之间,还有半同步网络的概念,其中有两种被广泛接受的主要类型。第一种类型提供了有保证的,有限的上限,这对用户是未知的。未知这一点很重要,因为尽管我们知道消息不会无限延迟,但是仍然有较少的信息可以帮助我们进行假设。第二种类型的半同步网络具有已知的有限上限,但只有在一定的未知时间后才能保证。换句话说,只有在某个未知的时间步长T(称为全球标准化时间或GST)之后才会成立。

对于每种类型的网络,我们所知道或不知道的以及何时得到保证将直接影响我们对通信进行假设的能力。这直接转化为解决在我们正在使用的任何网络中创建可靠的BFT协议的难题。特别是,每种类型的网络都具有不同级别的拒绝服务(DoS)攻击漏洞,以及对恶意行为者的不同容忍度。尤其是异步BFT的解决方案可以直接适用于区块链的实例,因此备受追捧。

PoS区块链中的BFT

现在,我们将这些概念应用于在区块链系统中达成共识。如今,基于权益证明(PoS)的区块链已被广泛接受为未来的实用且可扩展的区块链。在基于PoS的共识协议中,根据满足特定条件的能力(通常由特定网络上每个节点控制的资产的价值)选择验证者以出新块。通常,有多个节点可以出块,并且由于所有节点都为了获得奖励而进行出块,因此必须有一种万无一失的方法来一致决定要在链中包括哪些块。如果不是这样,区块链就可能分叉,链上的交易顺序就可能不再可信,从而使安全性受到损害。因此,BFT协议主要用作确定性的度量,从一组预期的块中选择要出的块。但是,就开放网络中的绝对安全性而言,当今大多数现有的BFT协议都远远不够,因为它们中的大多数都假设了一个完整的网络。完整的网络是在每对可能的节点对之间具有可靠且直接的连接的网络。但是,这不能准确地模拟与我们进行交互的开放式互联网,因此基于此假设的协议的故障阈值较低。尤其是,这些网络更容易受到DoS攻击,而DoS攻击在当今的区块链领域中太普遍了。

SperaxBFT

Sperax提出了一种共识协议SperaxBFT,由密码学和安全专家王永革教授设计。该协议基于开放互联网的更现实的模型运行,该模型将其分为不同的半同步阶段,每个阶段都有自己的GST时间,也可以将其视为同步和异步阶段之间的交替。该协议从数学上保证了如果网络最终具有这些同步阶段,则SperaxBFT将能够提供安全工作的区块链所需的活跃性和安全性。作为附加的考虑因素,SperaxBFT还在可靠广播通道的方案之间进行了区分,针对何时可用和不可用提出了不同的协议。我们得到的是一种根据开放互联网的更实际模型运行的协议,该协议基于不同的广播场景是动态的,最终为我们提供了对容错能力的可靠数学保证。

本文来源:Sperax
原文标题:为什么是SperaxBFT?

—-

编译者/作者:Sperax

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

LOADING...
LOADING...