Nimiq NIM
$0.000645 -5.12%
浏览器优先,原生于网络(Web),旨在提供最简单易用的分布式区块链支付协议
研究合作:Albatross(信天翁)共识算法
Nimiq

一种乐观型共识算法!

Nimiq团队很自豪地介绍Albatross(信天翁),这是我们与Trinkler Software合作的成果。 Albatross是一种Proof-of-Stake(PoS,权益证明)共识算法,其性能接近单链PoS共识算法的理论最大值。 虽然该协议的技术说明已经发布,但这篇文章旨在提供更简单,易于理解的概述。

重要的是要强调Albatross只是一种共识算法。 因此,它没有定义在其上构建的功能,而只是区块链协议的单个构建块。 虽然Nimiq正在评估将Albatross用于其下一代协议,但尚未作出任何决定。 有关我们的Albatross计划的更多详细信息,请参阅本文末尾。


什么是权益证明?


在基于权益证明(PoS)的共识算法中,选择有资格附加下一个块的节点与它在系统中的份数成比例。 与基于工作量证明(PoW)的算法相比,这使得块生产非常便宜。 攻击行为(例如以分叉的形式)经常通过削减攻击者节点的权益并毁掉或重新分配它来惩罚。

PoS优于PoW的三个最重要的好处是:

  1. 大幅减少能源消耗:没有必要进行高耗能的劳动来保护区块链,
  2. 降低中心化的风险:具体而言,规模经济(economies of scale)在PoS中不是一个问题,而且
  3. 相当于51%的攻击代价更大:与PoW中的可重复使用的硬件相比,攻击者的节点永久地失去了他们的利益。


“乐观型共识算法”是什么意思?


简单描述Albatross – 我们新颖的区块链共识算法 – 保持乐观

这个术语并不意味着我们牺牲任何安全性,但意味着它受到推测型拜占庭容错(BFT)算法的启发。

经典BFT算法(Classical BFT)在分布式系统中提供了共识,同时考虑了有限数量的恶意或拜占庭行为者。这种算法最突出的例子之一是PBFT(实用拜占庭容错),例如,Tendermint加密货币正在其核心利用此算法。

推测型拜占庭容错算法(Speculative BFT)是标准BFT算法的进步。在没有恶意行为者出现的情况下,它们允许性能大幅提升。这就是所谓的乐观型案例,我们的描述找到了它的起源。如果拜占庭行为者出现并试图篡改协议,其他人可以注意到并将协议切换到更慢和更保守的模式,提供与标准BFT协议相同的安全保证。

因此,在最好的情况下,乐观型共识算法能够比传统算法表现得更好。在攻击案例中,乐观型算法仍然具有与标准算法类似的性能。


Albatross协议


在Albatross中,那些负责生成新块的节点称为验证者。 任何在该系统中有权益的人都可以自愿成为验证者,方法是通过将他/她的权益存入作为可以削减的安全保证。

Albatross的块生产被划分为几个时期。 如下图所示,每个时期由宏块和恒定数量的微块(下面的示例中为4个微块)组成。微块包含交易,并且还有一个从验证者中随机选择的块生产者。 虽然任何人都可以自愿成为验证者,但是在给定时期(活跃验证者)中的当前所有验证者集合由前一时期的宏块选择。

在我们的示例中,块号0决定从块1到块5时期的活跃验证者v_0,…,v_k。

为了能够从验证者列表中随机选择下一个块生成者,每个块包含一个随机浮标,如上面r_i所示。块的块生成者使用所谓的可验证随机函数(VRF)来从先前值r_ {i-1}产生下一个随机值r_i。然后,每个其他参与者都可以验证下一个随机值的正确性。

给定每个块中的这些随机浮标,Albatross的每个参与者然后能够从活跃验证者列表中确定下一个块生成者v_ {σ(r)}。

因此,微块的生成也非常简单,与所选块生成者将交易放入块,以加密方式对块进行签名以及将块发送到网络。

宏块的生成涉及更多,但更少发生。宏块使用标准PBFT协议构建。为此,所选择的块生成者 – 或者在这种情况下而不是提议者 – 构造下一个随机值,并且从该值确定下一个时期的新的活跃验证者列表。验证者列表选自所有志愿者,根据他们的权益和基于随机浮标进行权衡。然后,块提议者发布其提议,所有其他活跃验证者在两轮中对其进行投票。宏块不包含任何交易。

块之间没有块时间的概念,因此块的产生几乎与网络允许的一样快。

虽然上面的解释仅涵盖了乐观型的情况,但在假定最多1/3的验证者名单为拜占庭行为者的情况下,该协议仍然是安全的。然而,这些参与者可以暂时放慢区链,并将块生产置于更保守的模式。拜占庭行为者主要可以触发两种机制:(1)分叉,它导致下一个块生成者选择一个冲突块并允许验证者削减恶意验证者的权益,以及(2)延迟,这导致将由另一个验证者代替而生成区块。

这些案例的更详细解释可以在技术论文中找到。


一致性与可用性


在设计这样的协议时要做出的一个有趣的权衡是一致性和可用性之间的权衡。一致性描述了协议的所有参与者在相同的最新值上达成一致的属性。可用性描述了无法阻止参与者无限期地学习正确的最新值的属性。

CAP定理现在指出,在网络分区期间,这些属性不能同时实现。

例如,比特币有利于可用性而不是一致性。在网络分叉的情况下,两个网络都可以继续存在并且包含潜在冲突的交易(例如,两次交易费)。但是,如果网络从分叉中恢复,则只接受一个历史记录。

Albatross赞成保持一致性。在网络分叉的情况下,单个网络分区可以继续运行或不运行(取决于分区的大小)。但是,最近的状态永远不会有最终错误的观点。如果网络从分叉中恢复,协议将继续正常运行。


下一步


现在已经发布了Albatross的技术介绍,并且Reto Trinkler在巴黎EthCC’19的Katallassos背景下提出了协议,这些是接下来要遵循的步骤:

我们开始为Albatross协议构建一个模拟器,以评估其在大规模网络中的性能。目前,该模拟器仅涵盖基本协议,而不考虑优化和拜占庭参与者。我们计划扩展这个模拟器,并获得更多关于Albatross真实操作的见解。

与此同时,我们也在研究Albatross的潜在优化。这些优化包括Handel的使用,这是一种快速的多签名聚合协议。除了其他改进之外,我们还在考虑可验证延迟功能的适用性,以减少无响应块生产者的通信。

最后,当这些必要的先决条件证明了预期的结果时,我们将进一步评估将Albatross整合到Nimiq中的可行性。此步骤还将包括块奖励,HTLC,归属合同和权益池等详细信息。然后我们将构建一个运行Albatross的Nimiq测试网络。

Albatross可能意味着Nimiq的性能将大幅提升,同时大幅削减能耗。虽然成功的实施将为Nimiq的核心带来根本性改进,但其所有影响都必须进行评估和彻底考虑。

Nimiq团队将优先考虑转向PoS共识算法,我们相信每个人都将最终从中受益。


Nimiq团队


本文来源:Nimiq 中国

2019年05月07日 10:02图文分享