IOHK官网博客:从 Classic 到 Chronos:对Ouroboros 的实施进行解释说明

image
原文来自IOHK Olga Hryniuk,由卡尔达诺大使陈哲Anson翻译

Ouroboros 是 Cardano 的共识协议。在这里,我们解释了它的作用以及它是如何发展的

您可能已经听说过很多关于 Ouroboros 的事情:Cardano 使用的突破性的权益证明共识协议。作为工作量证明的更节能和可持续的替代方案,Ouroboros 是第一个通过同行评审研究开发的区块链共识协议。

在爱丁堡大学的 Aggelos Kiayias 教授的带领下,Ouroboros 及其后续实施为安全、大规模地解决世界上一些最大的挑战提供了新的基准。

然而,认可始于教育。本文概述了Ouroboros的工作原理。它检查了有形的东西并涵盖了每个实现引入的内容,以加深社区对协议的理解,并说明为什么它如此改变游戏规则。每个实现的详细分析可以在下面的相应论文中找到。但是,对于 Ouroboros 及其实现的广泛解释,请继续阅读。

关于共识协议,以及为什么 Ouroboros 与众不同

我们可以合理地假设任何刚接触该领域的人都可能对“共识协议”一词感到困惑。简而言之,共识协议是管理分布式账本行为的法律和参数系统:每个网络参与者通过该规则集与其他所有人达成协议。

公链不受任何单一的中央机构控制。相反,共识协议用于允许分布式网络参与者就区块链上捕获的网络历史达成一致——就所发生的事情达成共识,并从单一的事实来源继续。

单一的事实来源提供了单一的记录。这就是为什么区块链有时被称为无需信任的原因:不是要求参与者相互信任,而是将信任内置于协议中。未知的参与者可以在不依赖中介进行调解的情况下相互交互和交易,也不依赖于个人数据的先决条件交换。

Ouroboros 是一种权益证明协议,与工作量证明不同。与其依靠“矿工”解决计算复杂的方程式来创建新区块——并奖励第一个这样做的人——权益证明选择参与者(在卡尔达诺的情况下,权益池)根据他们控制的权益创建新区块在网络中。

使用 Ouroboros 的网络比使用工作量证明的网络的能效高出许多倍——而且,通过 Ouroboros,Cardano 能够实现无与伦比的能源效率。截至 2022 年,比特币用于例如,每年需要 204.50 TWh,与泰国的电力消耗相当。另一方面,Ouroboros 运行的是 Raspberry Pi,其功耗为 15 至 18W(瓦)。由此产生的能源使用差异可以类比为家庭和国家之间的差异:一个可以扩展到大众市场;另一个不能。

现在,让我们仔细看看 Ouroboros 协议是如何工作的,以及每个新实现增加了什么。

Ouroboros Classic

让我们从 Ouroboros 开始:Ouroboros 协议的第一个实现,于 2017 年发布。这个第一个实现(称为 Ouroboros Classic)为该协议作为工作量证明的节能竞争对手奠定了基础,引入了数学框架来分析权益证明,并引入了一种新颖的激励机制来奖励权益证明设置中的参与者。

然而,不仅如此,Ouroboros 与其他区块链的区别,特别是权益证明协议,还在于它能够在协议的领导者选择算法中产生无偏见的随机性,以及随后提供的安全保证。随机性可以防止模式的形成,并且是维护协议安全性的关键部分。只要可以预测一种行为,就可以对其加以利用——尽管 Ouroboros 确保了透明度,但它可以防止胁迫。值得注意的是,Ouroboros 是第一个使用这种严格的安全分析开发的区块链协议。

Ouroboro的工作原理

关于Ouroboros如何工作的全面解释可以在其研究论文中找到。 Ouroboros 将 Cardano 上的时间划分为多个 epoch,其中每个 epoch 被划分为插槽。插槽是可以创建块的短时间,将插槽分组到 epoch 是调整领导者选举过程以适应动态变化的权益分配的核心。

Ouroboros 设计的核心是它必须在存在攻击的情况下保持其安全性。因此,该协议具有内置的容忍度,可以防止攻击者传播区块链的替代版本,并假设对手可以随时向任何参与者发送任意消息。事实上,只要超过 51% 的权益由诚实的参与者控制(即那些跟随协议)。

为每个槽选举一个槽领导者,负责将一个块添加到链中并将其传递给下一个槽领导。为了防止破坏协议的对抗性尝试,每个新的槽领导者都需要将接收到的链的最后几个块视为瞬态:只有在预先指定数量的瞬态块之前的链被认为是已解决的。这也称为结算延迟。除此之外,这意味着利益相关者可以离线并仍然同步到区块链,只要不超过结算延迟。

在 Ouroboros 协议中,每个网络节点都存储交易内存池的副本——如果交易与现有交易一致,则在其中添加交易——以及区块链。当节点意识到替代的、更长的有效链时,本地存储的区块链将被替换。

Ouroboros Classic 的缺点是它容易受到自适应攻击者的攻击——这是现实世界中的一个重大威胁,Ouroboros Praos 解决了这个问题——并且没有安全的方式让新参与者从区块链中引导,而 Ouroboros Genesis解决了这个问题。

Ouroboros BFT

Ouroboros BFT 紧随其后,它是从 Classic 的分析中得出的一个简单的特例。 Ouroboros BFT(拜占庭容错)是卡尔达诺在拜伦重启期间使用的一个简单协议,这是旧卡尔达诺代码库向新代码库的过渡。 Ouroboros BFT 帮助 Cardano 的网络为 Shelley 的发布和去中心化做好了准备。

Ouroboros BFT 并没有要求节点一直在线,而是假设了一个联合的服务器网络和服务器之间的同步通信,以构建区块链。在这种联合环境中,它是一种共识协议,由于其简单性和确定性而具有吸引力。值得注意的是,与其他 Ouroboros 版本相比,BFT 需要更多的诚实方。

Ouroboros Praos

Ouroboros Praos 建立在 Ouroboros Classic 的基础之上,并提供了实质性的安全性和可扩展性改进。

与 Ouroboros Classic 一样,Ouroboros Praos 通过将链划分为插槽来处理交易块,这些插槽被聚合成 epoch。然而,与 Ouroboros Classic 不同的是,Praos 在半同步设置中进行分析,并且可以抵御自适应攻击者。

它假设了两种可能性:攻击者可以将诚实的参与者消息延迟超过一个slot,并且攻击者可以随时向任何参与者发送二进制消息。

通过私有领导者选择和前向安全的密钥演化签名,Praos 提供了更好的时代随机性,并确保强大的对手无法预测下一个slot领导者并发起集中攻击(例如 DDoS 攻击)来破坏协议。 Praos 还能够容忍对抗控制的消息传递延迟和不断变化的利益相关者群体中个体参与者的逐渐腐败,这对于维护全球环境中的网络安全至关重要,前提是保持诚实的大多数利益。

Ouroboros Genesis

然后Ouroboros Genesis出现了。Genesis 通过添加一个新颖的链选择规则进一步改进了 Ouroboros Praos,该规则使各方能够从创世块引导 - 显着地,不需要可信检查点或关于过去可用性的假设。 Genesis 还提供了该协议的通用可组合性的证明,这表明该协议可以在现实世界的环境中以任意配置与其他协议组合,而不会失去其安全属性。这大大有助于其安全性和可持续性以及使用它的网络的安全性和可持续性。

Ouroboros Crypsinous

Ouroboros Crypsinous 为 Genesis 配备了隐私保护特性。它是第一个正式分析的保护隐私的权益证明区块链协议,通过引入依赖于 SNARK 和密钥-私有前向安全加密的新代币演化技术,在保持强大隐私保证的同时,实现了针对自适应攻击的安全性。 Crypsinous 目前没有计划在 Cardano 上实施,但它可以被其他链用于增加隐私保护设置。

Ouroboros Chronos

最后是Ouroboros Chronos。 Chronos 实现了两个目标:首先,它展示了区块链协议如何通过新颖的时间同步机制安全地同步时钟,从而独立于外部时间服务。其次,它是一种密码安全的区块链协议,还为其他协议提供了密码安全的时间来源。简而言之,Chronos 使账本更能抵抗针对时间信息的攻击。

从应用的角度来看,Chronos 可以显着提高关键电信、传输和其他 IT 基础设施的弹性,这些基础设施需要将本地时间同步到没有单点故障的统一网络时钟。

Ouroboros的未来

Ouroboros,以无限的象征命名,是卡尔达诺生态系统的支柱。该协议作为自我传播系统的基础和集结点,循环转换和增长,取代现有系统——金融和其他系统——并消除它们所依赖的权力结构。这是一个新标准的开始,不是从中心定义,而是从边缘定义。

目前,Cardano 基于 Ouroboros Praos 运营。 Genesis 将于 2022 年实施,之后账本将升级以支持 Ouroboros Chronos。

它的未来与过去一样:通过严谨的研究,不懈地探索、迭代、优化和推动积极变革。 Ouroboros 旅程中的每一步都是一次新的演变,它使我们更接近于一个更公平、更安全和更可持续的世界的愿景。

这篇文章是原始版本(由 Kieran Costello 创建)的更新版本,已更新以涵盖新的协议版本。

原文链接:From Classic to Chronos: the implementations of Ouroboros explained - IOHK Blog