Albatross:从零开始设计的一种新颖共识算法

  • 2019-07-02 14:25
  • 3T比特

为什么Katallassos需要Albatross?

Katallassos是一个新的金融合约区块链。它是从零开始设计的,并结合了所有必要的元素,以便能够重新创建任何金融合约。

通过将应用程序的整个后端(托管、结算和数据提要)外包给Katallassos,开发人员可以轻松创建分散式的金融服务。这些服务可以提供前所未有的安全性,因为用户不需要信任第三方来保存他们的资金或结算他们的合约。

为了构建Katallassos,我们需要一个具有高安全性、高吞吐量、低延迟和低能耗的共识算法。在回顾了目前在区块链空间中使用的协商共识算法之后,我们认为最好的选择是开发我们自己的协商共识算法并根据我们的需要进行调整。所以我们开始研究,最终和 Nimiq 团队合作诞生了Albatross。

这篇文章只是对Albatross的一个简短总结。此外,我们还发表了一篇论文,对该协议进行了更深入的研究,并提供了详细的安全性分析。

Albatross到底是什么?

Albatross算法是一种共识算法,它深受投机BFT算法的启发,BFT算法本身就是PoS和PBFT的混合体。

PoS,或权益证明,是根据它们所权益关系的代币数量以及每个块由单个验证器生成的比例选择其验证器达成的任何共识。由于验证器需要挂起代币,而不是购买挖掘硬件,所以PoS比PoW浪费的能量要少得多,因此对环境更有利。

此外,PoS比PoW更安全,因为PoS中的攻击者失去了他们的筹码,而PoW中的攻击者可以保留他们的采矿设备。PoS算法的一个例子是Ouroboros,它是使用inCardano的共识算法。

PBFT(实用拜占庭式容错)是一种经典的协商共识算法,它能够在生成块时立即确定块。这里的意思是,在产生一个块之后,它就不能再被还原了。在PBFT中有一组验证器,每个块有一个不同的块提议器。

块提议者向所有其他验证器发送一个候选块,如果候选块有效,其余验证器将确认它确实有效,并且该块将成为最终块。要在一个没有许可的区块链中使用,PBFT需要一个选择验证器集的方法。通常这个方法要么是PoW,要么是PoS。
一个使用PoS来选择验证器的PBFT算法的例子是Algorand。

什么是投机性BFT?

投机性BFT是经典共识理论中最先进的一类算法。这些算法的定义有两种操作模式:

乐观模式:假设节点行为良好,安全措施较少;
悲观模式:即使存在恶意节点,也要取得进展。

投机性BFT算法比非投机性型算法快得多的原因在于乐观模式,这使得它们能够在速度上与集中式系统竞争。然而,乐观模式并不健壮和安全,任何验证器都可能进行无效的更新。当这种情况发生时,投机的BFT算法自动进入悲观模式,恢复无效的更新,然后再回到乐观模式。

投机性BFT背后的想法看似简单。在PBFT中,节点采取一种“永不信任”的态度,所有对分类账的更新都以最大的安全性为重点进行。在投机性BFT中,节点采用“信任但验证”的态度,允许它们自己进行更新,但随后与其他节点一起验证更新,如果更新无效则将其恢复。

那么,这一切与Albatross有什么关系呢?

Albatross的“信任且验证”方法:验证器列表在每个epoch中都进行更改,其中一个epoch由T个微块和一个宏块组成,类似于投机BFT。每一个epoch,也就是一个固定数量的块,都是通过按比例选择验证器来随机选择一个新的验证器集。然后,选择一个随机验证器来生成下一个块,他生成的块将决定谁生成下一个块,以此类推,直到epoch结束并选择一个新的验证器集。

如果所有的验证器都正常工作,那么几乎可以以网络允许的最快速度生成块。这对应于乐观模式,其性能(以延迟和吞吐量衡量)将接近单链共识性算法理论的最大值。

Albatross是安全的,只要不到⅓的验证器是有恶意的。然而,恶意的验证器可以暂时降低链的速度,并将块生产置于悲观模式。恶意验证器主要通过两种方法实现:

(1)分岔:导致下一个块生成器选择冲突块中的一个,并没收恶意验证者的股权;
(2)拒绝生成块:这只会导致超时和另一个验证器生成块。

是什么让Albatross如此强大?

Albatross算法相对于PoS算法和PBFT算法(如Ouroboros算法和Algorand算法)都有一些优势。Algorand也有类似的安全保障,抵制⅓的所有验证器自适应恶意攻击者。但它比Algorand快得多,因为Albatross中的每个块都由一个随机验证器签名,而在Algorand中,所有验证器的2/3都需要对每个块签名。

在乐观模式下,Albatross甚至比Ouroboros还要快。由于Ouroboros的时间是在槽中划分的,并且每个验证器在槽中生成一个块,所以块的生成速度不能超过槽的时间。在Albatross中,只要一个块被传播,验证器就可以生成下一个块,不会浪费时间。

因此Albatross满足了我们对共识算法的所有要求,它既安全又高效,同时又很快。

原标题:Albatross:从零开始设计的一种新颖共识算法|Albatross|共识算法|

头条推荐
图文推荐