Casper的历史——第五章

本文讲述了Casper协议的诞生,特别是如何将Aviv Zohar和Jonatan Sompolinsky的GHOST协议应用于权益证明(Proof-of-Stake)中,并解释了如何设计激励机制来防止验证者被审查。

Casper 的历史 —— 第五章

在本章中,我将讲述 Casper 诞生的故事,它是 Aviv Zohar 和 Jonatan Sompolinsky 的 GHOST 原理在权益证明(proof-of-stake)中的应用。

我称之为“友好的幽灵”,因为它设计了激励机制来保证对寡头垄断者的抗审查性:这些激励机制迫使卡特尔对非卡特尔验证者友好。

卡特尔模型中的抗审查性

2015 年 2 月 —— 友好的激励机制

在看到寡头垄断之后,我开始寻找一种方法,以创建一个在卡特尔分析下稳健的权益证明协议。在这个协议中,卡特尔没有动力去审查那些不在卡特尔中的验证者。

通过做工作量证明共识的卡特尔分析,我发现 51% 的卡特尔有动力去审查那些不在卡特尔中的矿工。他们将会立即获得更多的费用,最终也会获得更多的区块奖励(在难度重新调整之后)。

我已经知道,权益证明相对于工作量证明的优势在于协议可以访问反 Sybil 资产(抵押品),而工作量证明区块链无法直接处理挖矿算力。

所以我意识到,工作量证明协议不可能检测到审查的发生,因为工作量证明是协议外部的。这导致了这样一个观察,它将(并将继续)永远成为 Casper 研究的特点:

卡特尔无法审查被审查的验证者的缺席。

[编辑:澄清一下,这是说卡特尔无法掩盖被审查的验证者缺失的事实]

所以我看到,创建一种协议是可能的,在这种协议中,卡特尔没有被激励去审查验证者。而且它非常简单优雅。每当验证者看起来缺失时,卡特尔就必须受到惩罚。 惩罚必须足够严厉且持续时间足够长,以至于审查非卡特尔成员不符合其利益。

我感到很兴奋;这明确表明,权益证明在根本上比工作量证明更具有抗审查性,这再次印证了我认为安全抵押品是最关键的直觉。

可以看到如何实现这一点:如果一个验证者未能将其区块放入链中,所有已经将区块放入链中的验证者都将受到惩罚。同时也清楚的是,在卡特尔模型中,抗审查性的成本是,验证者可能故意离线,以使在线验证者亏钱。

因此,必要的做法是对离线的验证者进行惩罚,因为协议无法明确知道他们是被审查了,还是自愿离线。

我立即向 Jae Kwon 和 Ethan Buchman 建议,Tendermint 应该采用这个规则。他们都拒绝了这个想法,因为他们认为在一些验证者离线时惩罚所有验证者是不可接受的。Jae 还认为,审查不会成为问题,因为它会被社区注意到,社区会迅速反抗卡特尔并停止使用区块链。

我勉强同意这可能是对的,但并不觉得这证明了不必在协议内尽一切可能保证卡特尔不会审查非卡特尔成员。

去中心化的定义

2015 年 2 月或 3 月

在 3 月初(或者 2 月?)的某个时间点,Matthew Wampler-Doty 提出了一个有趣的去中心化定义:

一个协议只有在它能够从其所有节点中永久移除后仅剩一个节点时完全恢复,才算是去中心化的。

这个定义的灵感来自于生物学,具体来说是菌丝体如何从单个细胞中恢复的能力。这个想法非常有趣,因为它引出了一个观察:Tendermint 比传统的工作量证明区块链协议(如 PPC 或 NXT 中看到的权益证明)去中心化程度更低

如果网络上没有超过 2/3 的验证者按权益加权的签名来签署区块,Tendermint 将无法恢复,除非进行硬分叉。另一方面,比特币、PPC 和 NXT 即使只有一个矿工或权益持有者保持在线,也能够恢复(尽管它们需要很长时间才能生成任何区块)。

友好幽灵的诞生

2015 年 3 月 —— GHOST 遇见权益证明

Vitalik 和 Gavin Wood 计划在 3 月中旬来伦敦拜访我,我本应该能够向他们展示一个权益证明协议的规范,但我还远未准备好。

我迫切地第一次深入研究了传统的拜占庭容错共识文献。但我几乎没有学到任何东西。然而,我清楚地认识到,这些文献几乎完全集中在只做“安全决策”的共识协议上(这大致意味着“只有在所有遵循协议的节点最终都能达成共识的区块上创建最终确定的块”)。这些共识协议,如 Tendermint,从来没有任何分叉。

我了解到,传统的拜占庭容错共识协议需要“拜占庭法定人数”可用,以便协议做出决策,因此无法满足 Matthew Wampler-Doty 的去中心化定义。 顺便说一下,拜占庭法定人数是指一组必须包含大多数正确节点的节点(这个定义在故障计数中是参数化的;我们将在后面的章节中听到更多关于这个的内容)。

因此,我决定需要一个优先考虑可用性(而不是只做安全决策,优先考虑一致性)的共识协议。我需要一个乐观地生成区块的协议,这样即使只有一个验证者单独行动,也可以生成一个区块链。

通过让拜占庭法定人数(如果可用)在区块生成决定区块,仍然可以实现最终性(传统协议也可以实现)。

在 Vitalik 和 Gavin 几乎要到达我家的时候,我在一种有些混乱和绝望的状态下做出了以下决定:我将为权益证明改编 GHOST。 我已经了解并喜爱 GHOST,因为它为以太坊的工作量证明规范提供了部分信息。

我决定让验证者生成一个包含区块和“验证签名”的 有向无环图(DAG)(区块上的签名,证明其有效性和共识权重)。 会有一个函数接受任何这样的 DAG 并返回交易的“规范”顺序。所有共识活动的记录都将记录在 DAG 中,并用于激励。

当然,如果任何验证者经常未能将其区块放入规范顺序中,每个人都会受到惩罚。

这个描述虽然实际上不是一个可以工作的、完全指定的协议,但足够通用,以至于我相信我可以使其工作。

它是一种协议的形式,具有以下特性:

  • 一个验证者能够在必要时生成区块链。
  • DAG 捕获了所有可能对协议激励机制有用的信息。
  • 卡特尔审查将受到惩罚。

我向 Vitalik 和 Gavin 解释了我所做的工作。虽然他们都没有太深刻印象(因为他们期待的是一个完整的协议规范),但他们都能看到我已经做了足够的工作来赚取我的薪水(所以我很高兴!)。

Casper 作为“友好的幽灵”诞生了,它是 GHOST 在权益证明中的应用,并带有激励机制,使得卡特尔对非卡特尔验证者“友好”。

“友好的幽灵”如何变成“Casper:友好的幽灵”

有几个人告诉我要把这个“友好的幽灵”命名为“Casper”(不幸的是,我不太确定是谁),直到 John Dilley 在 Jeremy Gardner 的“Crypto Castle”派对上说服我将协议命名为“Casper”。

在这个派对上,我用安全抵押品解决了无质押和长程攻击问题的想法调侃了 Andrew Poelstra。(别担心,关心此事的读者,我们和好了,后来愉快地聊了起来。)

Casper 的历史续集……

下一章将描述我如何努力定义 Casper DAG 的“规范顺序”函数。它包括“按区块共识”的发现(这一事件发生在 Casper 得名的派对之前)。最后,这一章将以 2015 年 7 月在柏林结束,当时 Vitalik 和我终于弄清楚了如何让 Casper 以最终性收敛。

  • 原文链接: medium.com/@Vlad_Zamfir/...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Vlad_Zamfir
Vlad_Zamfir
江湖只有他的大名,没有他的介绍。