如何达成一致:区块链的不同类型共识机制

2024-03-21分类:区块链介绍 阅读(

用最简单的术语来说,区块链是由一组计算机处理和记录的数据,这些计算机协同工作以确保这些数据交易的真实性和安全性。

但我们如何确保这些交易实际上是经过验证且安全的呢?区块链本质上是去中心化和分布式的,这意味着没有中央机构对系统进行治理。为了确保遵循协议规则并防止任何不道德行为,区块链应用各种算法来实现不信任实体之间的共识。

共识的快速定义

共识可以定义为一组代理通过局部交互就其共同状态达成的协议。 

在区块链的背景下,共识是区块链网络的同行就网络中数据的当前状态达成一致的过程。正是这些共识算法建立了区块链系统的可靠性和信任。

虽然在中心化网络中相当容易达成共识,其中一个管理机构被信任来验证交易和保护记录,但在去中心化系统中却远没有这么简单。

区块链共识

区块链的工作原理是添加数据块,共识的本质是确保添加到链上的每个块都是系统中所有节点都同意的唯一的事实版本。这是区块链去中心化性质的一个关键特征。 

区块链共识的基本规则包括:

  • 达成协议的目标
  • 每个节点/对等体的协作、合作和平等权利,以及 
  • 各节点强制参与流程

有许多不同的方法可以就去中心化系统达成共识。在这里,我们探讨达成一致并形成共识的不同方式。

中本共识

中本聪共识协议是所有区块链共识之母,由中本聪于 2009 年设计,作为验证区块链网络真实性和防止双重支出的新手段。它是一种拜占庭容错共识算法,与工作量证明 (PoW) 结合使用来管理比特币区块链。

拜占庭容错(BFT)是分布式系统在存在恶意行为者和网络缺陷的情况下仍能保持容错的条件。 

PoW 指的是一种加密机制,矿工通过竞争来解决极其复杂(且昂贵)的计算难题,以获得验证新区块并获得“区块奖励”的权利。这种金钱奖励激励矿工遵守规则并保持诚实,而参与成本则可以在经济上抑制他们攻击比特币网络,从而进一步保护区块链。 

通过 BFT 和 PoW 的结合,中本聪试图解决 BFT 的一些固有的可扩展性问题,同时阻止不良行为者。通过创建区块链有效性的标准衡量标准——在本例中,是指花费在区块链上的计算资源量(或“哈希能力”)——中本聪为在无需许可的设置中解决拜占庭将军问题开辟了新方向;这将导致许多新的共识算法的出现,包括权益证明(PoS)、权威证明(PoA)、声誉证明(PoR)和重要性证明(PoI)。

X的证明

这种证明(PoX)共识背后的想法是使用一些稀缺资源 X,而恶意攻击者无法轻易获得 X。这样做,系统可以以去中心化和无需许可的方式保持安全。它通常是这样工作的。

为了获得验证交易和挖掘新币的特权,PoX 网络上的节点必须提供证据证明它们已成功满足 X 标准。通常,这个过程涉及某种牺牲。例如,PoW 中的计算能力和工作量,以及 PoS 中的质押代币。这些以不同的方式激励矿工保持诚实。

总的来说,PoX属于中本聪共识的一类。中本聪共识通常采用以下设计选择:

  • 拜占庭容错——即使某些节点发生故障或恶意行为,网络也能够继续运行
  • 同步——消息在固定时间内传递
  • 概率性——节点就该值正确的概率达成一致
  • 基于领导者——选举领导者来验证交易

因此可以实现以下属性:

  • 同伴可以随时加入和离开
  • 专注于活性(即一个对等点总是可以生成新块),但以安全为代价(即做出的决定可以恢复)
  • 自我维持——激励同行维护网络

PoX 协议太多,无法一一介绍。

经典共识

而经典共识则通过投票达成共识。这些协议确认交易的速度比上面讨论的中本聪共识类型更快,因为共识网络规模是固定的,并且一旦看到所需的投票就可以取得进展。 

以下是经典共识的一些重要例子:

实用拜占庭容错 (pBFT)

实用拜占庭容错 (pBFT) 由 Barbara Liskov 和 Miguel Castro 在 90 年代末提出,旨在解决与上述拜占庭容错 (BFT) 解决方案相关的许多问题。

pBFT 使用三相状态机和区块选举来选择领导者。pBFT 的三个阶段称为预准备、准备和提交。在通常情况下,共识是通过在节点之间交换消息来实现的,这会逐步过渡到本地状态。否则,在节点故障的情况下,将触发“视图更改”,导致以循环方式重新选择领导者。pBFT 能够处理不到 1/3 的拜占庭故障,这可以看作 3f+1= 节点总数,其中 f=拜占庭故障数量。

然而,它也有一些缺点:

  • 弱领导力——节点可以拒绝领导者的请求并提议重新选举,但需要权威服务来选择领导者。
  • 拜占庭容错 – 33% 的节点可能是恶意的。
  • 网络可扩展性低——由于多轮消息的通信开销和延迟较高,增加节点数量也会成倍增加系统的复杂性。
  • 交易吞吐量 – 每秒高达 50,000 笔交易,确认时间为 1 秒。
  • 使用案例 - 具有有限授权验证者的联盟区块链。

委托拜占庭容错 (dBFT)

委托拜占庭容错(dBFT)是 NEO 项目在 2014 年提出的。与 pBFT 需要权威服务来选择领导者相比,dBFT 的投票系统允许大规模参与,类似于委托权益证明(DPoS) )。

整体共识流程与 pBFT 非常相似,不同之处在于投票的计算方式。在 dBFT 中,投票的权重与投票时参与者持有的代币数量成正比。参与者可以将他们的代币(投票)委托给可信的代表。这提高了性能,但也意味着随着时间的推移,由于这种额外的表示层,它可能会变得更加集中。此方法的缺点是当选的代表不再允许匿名。NEO 区块链上的代表以真实身份工作。

联邦拜占庭协议 (FBA)

联邦拜占庭协议(FBA)是一种支持开放成员资格的算法,允许验证者自由加入网络。它以其高吞吐量、可扩展性和低交易成本而闻名。 

FBA 可以被认为是无需许可的 BFT。但是,交易需要由特定的签名者组签名。在 FBA 系统中,验证者可以选择他们信任的其他验证者,并从那里形成所谓的仲裁切片。在具有许多验证器的系统中,可能存在多个仲裁片,并且在多个仲裁片的情况下,多个片中受信任的某些节点会出现重叠。这些重叠的部分共同构成了总体法定人数。这是在FBA中达成共识的方法。使用 FBA 的著名项目有 Ripple(XRP)和 Stellar(XLM)。

FBA 的一些优势包括:

  • 进入门槛低,因为只要可以信任并加入法定人数部分,会员资格就是开放的。
  • 任何人都可以随时加入和离开,系统仍然可以运行。

Raft 

Raft 由 Diego Ongaro 和 John Ousterhout 于 2014 年开发,基于Paxos 协议,旨在更易于理解和实现。与许多其他共识算法相比,Raft 对领导者的依赖性更强。一旦随机计时器选举出领导者,节点就会信任该领导者,并且只有当前领导者失败时才会重新选举该领导者。 

这大大改善了事情:

  • 强大的领导力——节点不会拒绝领导者的请求,在领导者不可用之前不会重新选举。
  • 崩溃容错 – 49% 的节点可能崩溃或变得不可用。
  • 网络可扩展性高——该共识算法的复杂度与节点数量成线性正比。

例子:

无领导的共识

我们要介绍的最后一种共识是一个新的新兴方向——无领导共识。

如前所述,共识意味着一组代理通过本地交互就其共同状态达成一致。 

在无领导共识问题中,不需要虚拟领导者,而在领导者跟随共识问题中,需要一个为整个群体指定目标的虚拟领导者。更具体地说,与静态虚拟领导者的共识称为共识调节问题,与动态虚拟领导者的共识称为共识跟踪问题。

无领导共识项目的例子包括 Avalanche、IOTA 和 NKN。我们将在这里高层次地介绍 Avalanche 和 IOTA。

Avalanche

Avalanche 白皮书由一个自称 Team Rocket 的团队于 2018 年 5 月中旬匿名发布。后来成立了AVA Labs来开发代币Avalanche(AVA),据信康奈尔大学的一群计算机科学家(Emin Gün Sirer、Kevin Sekniqi、Ted Yin)与该项目关系密切。

火箭队将该共识协议称为“新型加密货币亚稳态共识协议系列”,并将其描述为“建立在亚稳态机制上的新的无领导拜占庭容错协议系列”。

Avalanche 利用重复的随机子采样进行投票以达成共识。每个节点需要对一定数量的邻居进行采样,以验证它们的状态,看看它是否与大多数节点一致。如果没有,他们将跟随多数人改变他们的州。这个过程会一次又一次地重复,所以最终,从长远来看,整个网络会得出一个普遍存在的结论。

Avalanche 声称其共识机制可以在 4 秒延迟的情况下达到 1,300 tps。

据团队透露,Avalanche 的主网预计将于 2020 年 9 月发布。

IOTA

IOTA 由 David Sonstebo、Sergey Ivancheglo、Dominik Schiener 和 Serguei Popov 博士于 2015 年创立。IOTA 是最早提出使用有向无环图(DAG)作为分布式账本技术(DLT)而不是区块链的基础数据结构的货币之一。

当前版本的 IOTA 使用的是一种名为 Tangle 的协议。Tangle 具有以下与比特币不同的属性:

  • 它使用基于 DAG 的数据结构来形成交易图,而不是将交易分组到链式块中。
  • 它消除了矿工的角色,并要求用户在打算向网络发送新交易时验证之前的两笔(未经确认的)交易。
  • 共识/投票基于本地信息,不需要与全网交互。相反,它是通过称为蒙特卡洛马尔可夫链(MCMC)的加权随机游走过程来实现的
  • 不过,白皮书并没有明确说明如何在分布式环境下达成共识。因此,直到今天,该网络仍然依赖于一个中心化的“协调器”,这受到了加密货币社区的广泛批评。

最近,IOTA 基金会公布了名为“Coordicide”的路线图,以修改协议并取消协调员。提出了两种共识:快速概率共识(FPC)和细胞共识(CC)。这两种解决方案都属于无领导共识类别。 

共识和扩展区块链

这就是最常用的共识机制的概述。与保持区块链运行的所有部分一样,我们也可以在这里看到明显的演变,从最初的概念到更快、更灵活的版本,有助于扩展区块链以实现更快的速度和更大的网络。

Tags: 共识机制