您的位置: > 比特币行情> 正文

打印本文             

原文作者:0xkydo.eth

编译整理:会飞的鱼 @区块链世界

摘要

最近发生的Curve War协议战争,说明了元治理在加密货币中可以发挥重要作用。除了Curve War案例,元治理可以以多种方式运作,其影响远比协议之争所提的要深远。

本文,将探索元治理的可能性,包括元治理在传统世界中的情况,并对发生在 Fei-Index-Aave 的元治理事件进行深入探讨,讨论元治理对未来DEFI治理的影响。

回顾协议之争

从本质上讲,Curve War是一场不断持续的博弈过程,各方为 Curve 投票权而战,以引导流动性,加深流动性,增加收益。

为了达到这些目的,参与各方试图通过引导 veCRV 投票权的流动性奖励来实现这些目标。如果你要了解更多有关 Curve Finance 和 veCRV 的背景,可以访问以下地址:

https://resources.curve.fi/base-features/understanding-curve

https://resources.curve.fi/guides/staking-your-crv)。

https://theknower.substack.com/p/the-mythos-of-curve-finance)

回到本文要讲的内容,控制投票权的常用方式包括从市场购买代币、发行合成币 + LP ( cvxCRV )、通过国库绑定 ( Redacted ) 和贿赂 ( Spell ),知名参与者包括:Convex Finance(Curve 上超过 50% 的投票权) )、Yearn (>5B TVL)、Votium、Redacted Cartel、Frog Nation 等等。

元治理与TradFi

首先,我们定义一下加密经济中的元治理。我们将元治理定义为持有一个 DAO 的代币以影响另一个 DAO 的决策。这不是 DeFi 新创造的词,我们可以查到它起源于 TradFi,被称为投资督导(Investment Stewardship)。

投资督导是指对机构代表客户分配的资本进行负责任的监督。

机构代表掌握着大量投票权能影响公司决策,因此投资督导是很有必要的。目前,主要投资公司(机构基金和共同基金)在公开市场的大多数公司中持有很大一部分投票权(股权)。例如,苹果、亚马逊和特斯拉分别有59%、59%和43%的股份由机构持有。这些机构通常有专门的团队代表其客户对治理提案进行积极投票。

投资督导是一项复杂的管理事务。Vanguard 和 BlackRock 是最大的两家机构持有人。下表是贝莱德从 2016 年 7 月至 2017 年 7 月的投票摘要明细。在此期间,贝莱德总共投了 163,461 次投票,9% 的时间对管理层的建议投了反对票。Vanguard 在 2021 年上半年对 734 家公司进行了 137,826 次投票(年化 275,652 次),代表 1.9 万亿美元的股票市值。

如果要在组织内分散投资管理团队的职责时,就需要元治理,使得贝莱德的股东不能轻易影响贝莱德对特斯拉新提案的投票结果。

但是回到加密货币元治理, Convex 的代币持有者可以很容易地影响 Convex 在下周的 Curve 奖励周期中的投票结果,这就打开了治理的潘多拉魔盒。

第一次元治理事件

第一次元治理事件发生在 2021 年夏天,当时Fei Protocol将其 $INDEX 代币在Aave上进行流通。与协议之争的结果相比,真实的事件过程往往可以告诉我们更多关于元治理的信息,并更清晰地描绘未来可以预见的元治理过程。所以,接下来我们回顾整个事件的过程。

在分析此次事件前,先介绍下事件的各方

Fei Protocol

$FEI 是少数真正去中心化的稳定币之一,它由 $ETH 抵押担保的。Fei Protocol的协议控制价值(PCV)大约 6.53 亿美元,为所有流通的 $FEI 提供 206% 的抵押率。

Fei Protocol的仪表板 | 录制于 2022 年 1 月 31 日

指数合作社(Index Coop)

Index Cooperative 由Set Labs孵化。Index Cooperative 为个人和机构提供广泛的投资工具——从代币篮子(类似 ETF)到杠杆操作。最著名的是 DeFi Pulse Index ($DPI),它是一种追踪主要 DeFi 协议组合的指数代币。$DPI 于 2020 年 9 月推出。Index Coop 的治理代币 $INDEX 控制着其持有的部分资产的治理权。

DeFi Pulse Index 的标的币 | 录制于 2022 年 1 月 31 日

Aave

Aave 是一个去中心化的非托管流动性市场协议,用户可以作为存款人或借款人参与其中。作为 DeFi 中的加速器之一,Aave 有一套预先设定的流程来筛选新资产、实施奖励、更改权限和参数调整。

Aave 治理流程

Aave 治理提案流程

事件经过

2021 年 6 月 21 日是Fei Protocol上线两个月的日子。当时,Brianna(Fei Protocol 的核心团队成员)在 Aave 的治理论坛上发布了一个 ARC提案,以推动 $FEI在 Aave 的借贷市场上流通。ARC 代表 Aave 征求意见,这是 Aave 治理提案流程的第一步。对于 Fei Protocol来说,这是至关重要的一步,因为它将直接决定了其能否在DeFi最大的借贷市场列出。

除了 ARC 之外,还创建了一个快照Snapshot来衡量 Aave 社区对该提案的看法。

我们可以将 ARC 和 Snapshot 当成:

  • 它们都用于了解社区对提案的看法
  • ARC 用于获得定性测量

Snapshot 用于获得定量测量。

尽管任何人都可以在 Aave 的治理论坛上发布 ARC,但并不是每个人都可以提出 AIP Aave 改进计划。而 AIP 正是链上推动变革所需要的。要提出 一个AIP,需要 持有80,000 $AAVE 代币(拥有或委托),按照AAVE每个 250 美元的价格计算,80,000 美元 AAVE 价值 2000 万美元,。

这对 Fei Protocol提出了挑战:他们应该从哪里获得这些 $AAVE 代币来获得AIP,推动他们的代币上市?以下是一些选项: 

1. 在场外交易市场进行购买;

2. 游说主要的 $AAVE 持有者提出改变;

3. 贿赂持有人;

4. 从某处借用;

*Fei Protocol本身也可以在技术上借用投票权(即Paladin),但现在还处于早期阶段,这种方式显然在这里不适用。

在这些选项中,游说似乎是最合理的选择。仅对一个提案去大量购买代币似乎是一种浪费。用 $TRIBE 贿赂持有者,可能会在用户心中留下差的口碑,借款面临与贿赂类似的风险。因此,游说 $AAVE 的主要持有者似乎是最经济有效的方式。

然而,游说也面临着挑战:对于 Fei Protocol的团队来说,过程很耗时,并且需要与不同的利益相关者进行多轮电话会议。整个过程可能需要几周到几个月的时间。那么,有没有更高效的方法呢?

进行链上响应

在 Fei Protocol 认真思考这个问题的同时,Bruno 和 Matthew Graham 提出了另一个与该问题无关的提案。在这个提案中,Bruno 和 Matthew 列出了他们将 $DPI 添加到 Fei Protocol的PCV中以达到分散风险的理由。在提案的末尾,提案者提到:

此外,我们想知道社区对购买 Index Coop 的治理代币 INDEX 的初步态度…… 好处是利用元治理并在 DeFi 中结构良好且快速增长的项目中产生影响。

为什么 $INDEX 对元治理很重要?在提案提出时,DeFi Pulse Index 持有超过 1 亿美元的主要蓝筹 DeFi 代币,其中最关键的是包括超过 100,000 美元的 AAVE 代币。Fei Protocol只需要 80,000 $AAVE 即可提出 AIP,幸运的是,$AAVE 是 $INDEX 代币持有者可以用于元治理的六种代币之一。因此,如果只要控制了 $INDEX,就控制了这些 $AAVE 代币的治理权。

这就引起了连锁反应。就在这个提案前三周,Fei 社区讨论了 Fei DAO 的投资理念,并提到了元治理在 PCV 中的重要作用。$INDEX 合作恰逢其时,社区非常支持这个想法。通过阅读提案下的讨论,我们可以看到一些贡献者更看好购买 $INDEX 的提案,而不是购买 $DPI 。

购买 $INDEX 的社区情绪

经过一个月的规划和协调,Fei Protocol 决定通过代币交换的方式从 DeFi Pulse 购买 10万 $INDEX(约 400 万美元)。为什么要购买10万 $INDEX?因为它是 Index Coop 治理提案达到法定人数所需的代币数量。有了10万 $INDEX,Fei Protocol 可以在不需要其他参与方介入的情况下通过 IIP(IndexCoop Improvement Proposal)。现在,Fei Protocol 使用约 400 万美元来转移 2000 万美元的投票权。如果没有人强烈反对他们,这可以算是元治理的完美案例。

胜利结果

手头有 10万 $INDEX,Fei Protocol离在 Aave 列出仅几步之遥。Index Coop 的核心贡献者 Matthew 与 Fei Protocol的团队一起进行了以下大部分合约交互:

1.Fei 社区将提案使用其 $INDEX 在 Index Coop 上进行提案;

2.Fei 社区将提案 IIP-82:使用其 $AAVE 在 Aave 上列出 $FEI;

3.Index Coop 将提案 AIP-33:在 Aave 上列出 $FEI;

4.如果所有这些提案都通过了,$FEI 就可以在 Aave 上流通!

关于 Fei 的 Aave 治理提案

Index Coop 的 IIP-82

三个提案都成功通过,Fei Protocol于 2021 年 9 月末在 Aave 上市,比最初的 ARC 晚了三个月。

Fei - index - Aave 元治理交互

如上图表所示,我梳理了整个事件过程。合约和人之间发生了五种主要的交互,其中三个完全在链上,两个主要在链下。令人惊奇的是,这里没有发生任何事故,每一次交互都在预期范围内。但是,当您站在全局的角度来看,就会出现新的和出乎意料的可能性。

事件本质

协议之争与Fei Protocol的行动是截然不同的事件。然而,两者都属于我对元治理的定义——持有一个 DAO 的代币可以影响另一个 DAO 的决策。两者之间的主要区别似乎在于动机。我认为 Curve Wars 中的大多数人都认为,财务回报将带来协议的长期成功。我们可以通过贿赂的常态化和“最大限度地提高你的回报”的目标来看到这一点。

对于 Fei Protocol和 Index 的元治理事件,相信战略合作是长期的胜利。通过在 Aave 上添加$FEI,协议或代币持有者几乎没有直接的好处,但有巨大的潜在长期利益。

归根结底,元治理只是 DAO 实现其目标的工具。不同的 DAO 可以根据自己的情况灵活配置,从而达到成功的目的。

比较加密货币和 TradFi 世界中的元治理,差异也很明显。这部分是由于 DeFi 的初期,但也因为机制设计不同。在 TradFi 中,您不能用贝莱德的股票影响贝莱德在其 ETF 中的投票。但是在 DeFi 中,Fei Protocol可以对 Index 的治理产生影响,因此 Index 已经通过 DPI 启用了所有元治理投票。

对于贡献者、创始人和团队.....

我对元治理可以为加密世界以及人类协作活动有好处感到乐观,但也有许多担忧。在 Fei-Index-Aave 的例子中,Fei Protocol 购买 $INDEX 的主要目标不是为了元治理,而是为了长期合作,这可以从 Fei 一方的持续持币行为中看出(仅 $INDEX 代币价格下跌)。Fei Protocol的意图是与指数社区长期合作。但是,意图不是代码,意图可以改变。

让我举一个很可能的例子:

项目A 和 B 位于不同的赛道,如果合作,两个团队都会看到两者之间的协同作用。为了加深联系,A 和 B 进行了代币交换。所以现在,A 持有 $B,B 持有 $A。

突然,A被黑了。现在 A 美元正在疯狂下跌,社区向 B 提出了一个建议:“鉴于 A 目前的价格走势,我们应该出售 A 以挽救我们的国库。”这应该如何处理?

另一个极有可能的例子:

A 和 B 进行代币交换并进入熊市。$A 和 $B 都下跌了 50%,A 感觉它可能会进一步下跌。为了挽救自己的国库,为熊市积累更多的稳定币,A 卖出了 $B。

与 Fei-Index-Aave 元治理过程一样,整个过程也是令人不禁感慨,其中有很多隐藏的陷阱,其他协议不应该在没有经过深思熟虑的情况下介入这些治理过程。

你应该从 Fei-Index-Aave 事件中学到什么?

1. 与他们的总资金相比,Fei 只持有少量的 $INDEX(不到 1%),这减轻了任何一方出售代币的冲动,因为$INDEX量太小了。

2. Fei 与 Index 的合作不止一次。他们的意图绝不是,“哦,让我们使用 Index 的 Aave 来完成这个提案。” 他们的意图是,“我想与 Index 及其生态系统合作。” 碰巧它持有的 $INDEX 足以提出 AIP。

3. Fei经历了在治理过程所遇到的所有可能情况。在进行代币交换时,应该与社区交互并清楚地传达您的目标。这一点很重要,原因有两个:1)如果出现问题,社区会理解未来的决定;2)通过公开说明你的目的,可以提高透明度,降低你或其他人采取“不同”行为的可能性。

Fei Protocol能做得更好吗?

1.把这种交互代码化:在合同上明确(智能)何时以及在什么条件下可以出售 $INDEX,以便只有在满足这些条件时才能出售。在 Fei 的案例中,由于所有 PCV 都支持 $FEI,如果抵押率低于某个值,Fei 应该能够出售其 $INDEX。

2.与 Index 更紧密的交互:Index 上列出了数百个提案,Fei 不可能知道并对所有提案进行投票。在这种情况下,Fei 的 $INDEX 应该如何使用?在这里,委派可能是一个很好的答案。

在与 Index 合作开展这项首创的元治理提案时,Fei 正在运行一个完整的稳定币协议。他们的资源有限,没有时间考虑所有可能情况。然而,当使用 Fei Protocol的方法时,其他 DAO 应该考虑到这些,以最大限度地与他们的元治理对手方合作。

关于元治理和一般治理的最后总结

协议之争很有趣,但只代表一种元治理情况,毫无疑问,我们将在未来看到更复杂的元治理案例。元治理,就像治理本身一样,是一把双刃剑。如果用得不好甚至滥用,这对组织其他有用的结构可能是很有危害的。我不会在本文中分享明确的攻击途径,但最近TrueUSD 与 Compound 的争议应该引起其他协议的警觉,这些协议可能容易受到影响。

治理从来都不是一件容易的事。而且,由于我们的结构与 TradFi 世界中目前的治理结构非常不同(主要是因为在加密货币领域,我们的治理决策直接影响运营),因而存在演变出全新治理模式的可能,它将产生巨大积极影响,我希望这篇文章能激发您对治理的兴趣。


读懂以太坊的客户端多样性,为何如此重要?

撰文:Joseph Cook

编辑:南风

以太坊有多个可互操作的客户端,由独立团队用不同的语言开发和维护。这是一项重大成就,通过将漏洞或攻击的影响限制在运行受影响客户端的网络部分,可以为网络提供弹性。然而,只有当所有用户大致均匀地分布在各个可用的客户端上时,才能实现这种优势。目前,绝大多数以太坊节点运行单个客户端,给网络带来不必要的风险。

以太坊将很快经历自成立以来其架构最重要的一次升级——从工作量证明 (PoW) 到权益证明 (PoS) 的合并。这将从根本上改变该网络对区块链的真实状态达成共识的方式,并维护网络安全。这种新架构将带来安全性、可扩展性和可持续性方面的好处,但同时也放大了与这种由单个客户端占主导地位有关的风险。这篇文章将探讨其中的缘由...

01. 信标链

信标链是一条 PoS 区块链。它目前与以太坊主网并行运行,但两者很快将“合并”在一起。合并之后,现有的以太坊主网客户端 (“执行客户端”) 将继续托管以太坊虚拟机 (EVM),并验证和广播交易,但将停止参与工作量证明 (PoW) 挖矿,并放弃对区块链链头 (顶端区块) 达成共识的责任。相反,这种共识将成为“共识客户端”的责任,“共识客户端”负责把来自“执行客户端”的交易与共识所需的信息一起打包进“信标区块”中,这些信标区块就构成了信标链。“矿工”将被“验证者” (validators) 取代,这些验证者需要将 ETH 存入某个以太坊智能合约中 (这一过程称为“质押”(staking))。验证者质押的 ETH 将作为抵押品,以激励他们正确地完成验证工作。不履行验证工作 (比如因为离线) 或进行恶意行为的验证者,将导致其质押的 ETH 的一部分被销毁。另一方面,如果验证者行为得当,那么将会获得 ETH 奖励。

1. 验证者的职责

对于验证者来说,良好的行为意味着参与验证从其他验证者那里接收到的信标区块,并对区块链链头进行投票。如果验证者接收到的区块是有效的,那么验证者将对区块进行“证明”(attest),实际上就是投票支持将该区块添加到区块链中。一个节点将不定期地被要求提议一个新区块,其他验证者将“证明”该区块。当区块链有多个分叉时,只有那条在其历史上积累了最多“证明”(attestations) 的链才是正确的区块链。

验证者还将不定期地参与到某个同步委员会(sync committee)中,同步委员会是一个由随机选择的 512 名验证者组成的小组,这些被随机选中的验证者将对区块头 (block headers)进行签名,这样轻客户端就可以检索这些被验证过的区块,而无需访问整条历史链或整个验证者集。

2. 合理化& 被敲定

信标链为网络设定节奏。这种节奏被组织成两个时间单位:slotepoch。slot 是将区块添加到信标链的机会,每 12 秒出现一次。某个 slot 可能没有区块,但当系统以最佳方式运行时,区块会添加到每个可用的 slot 中。epoch 是以 32 个 slot (约 6.4 分钟) 为单位的。slot 和 epoch 设定了以太坊区块链的节奏。

在每个 epoch 期间,第一个 slot 中的区块是一个检查点(checkpoint)。检查点是非常重要的,因为检查点被用于使区块链账本上的记录变得永久和不可逆转——这是一个分为两个阶段的过程:首先,如果所有活跃验证者质押的 ETH 余额中至少有 2/3 (即“绝对多数”) 证明了最近的两个检查点(当前的被称为“目标检查点”,前一个被称为“源检查点”),那么这两个检查点之间的这段区块就被“合理化” (justified) 了。“合理化”是迈向成为以太坊权威链上永久记录的第一步。一旦某个被“合理化”的检查点之后新出现了另一个被“合理化”的检查点,那么前一个检查点就是“被敲定” (finalized) 了,也即使其具有了永久性和不可逆转(即这个检查点之前的所有记录都成为了区块链上永久不可篡改的记录)。

这个“合理化”和“敲定”的过程要求验证者进行的“证明”(attestations) 实际上要比上文阐述的要更复杂一些。有两种类型的证明:一种是LMD GHOST 投票,用于证明区块链的链头 (LMD GHOST 是分叉选择算法);第二种是用于对两个检查点进行证明的FFG 投票(FFG 是“最终性小工具” (finality gadget),对区块链进行合理化和最终敲定)。所有验证者都会对每个检查点进行FFG 投票,而只有一个随机选中的验证者子集在每个 slot进行LMD GHOST 投票

3. 验证者的质押奖励、惩罚和罚没

奖励

如前所述,验证者质押的 ETH 用于作为“抵押品”,以激励验证者的诚实行为。随着验证者因为参与到保护网络中而获得奖励,这些被质押的 ETH 将随着时间的推移而增加。当验证者进行的LMD-GHOST 投票FFG 投票与大多数其他验证者一致时,那么验证者就会获得证明奖励。当验证者被选中作为“区块提议者”(block proposer) 时,如果其提议的区块被“敲定”, 那么该验证者也将获得奖励。区块提议者也可以通过将有关其他验证者行为不当的证明打包进自己提议的区块中,从而增加自己获得的奖励。这些奖励是鼓励验证者诚实行事的“报酬”。

惩罚

验证者可能受到的“惩罚”是以各种机制的形式来销毁一部分验证者质押的 ETH。当验证者未能提交一个 FFG 投票、提交延迟了或者提交了错误的 FFG 投票时,都会受到证明惩罚(attestation penalties)。但如果验证者错过了进行 LMD-GHOST 投票,则不会受到惩罚,只是错过了本可以通过对链头进行投票而获得的奖励。验证者余额被削减的数额,等同于如果他们提交正确的证明而本可以获得的奖励数额。这意味着,一个诚实但“懒惰”的验证者,他因为错过了证明而遭受到的最大惩罚,就是损失他如果以完美的方式进行证明时本可以获得的奖励金额的 3/4。此外,当验证者被分配至“同步委员会”(sync committee) 时,如果该验证者未能签名区块,那么其受到的惩罚将等同于如果他成功地签名区块时本可以获得的 ETH 价值。

总的来说,这些惩罚是温和的,验证者持续的怠惰 (inactivity) 仅会使其质押的 ETH 受到一个相当缓慢的削减。

罚没

罚没(slashing)是一种更严重的行为,这会导致验证者被强制从网络中移除,并导致相关的 ETH 质押金损失。有三种方式会导致验证者被罚没,所有这些都相当于验证者进行了不诚实的区块提议或区块证明:

在同一个 slot 提议和签名两个不同的区块;

对“环绕”某个区块的另一个区块进行证明 (实际上就是更改区块链历史);

通过对同一个区块的两个候选区块进行“双重投票”(double voting)。

如果检测到上述这些操作,验证者就会罚没。这意味着相当于其质押的 ETH 的 1/64 (最高可达 0.5 ETH) 将立即被销毁,然后一个为期 36 天的移除期开始了:在此期间,验证者的质押金将逐渐被削减;且在这段期间的中间点 (第18天),该验证者还将受到额外的惩罚,惩罚大小将与此次罚没事件发生之前的36 天内所有被罚没的验证者的 ETH 质押总额成比例。这意味着,当更多的验证者被罚没时,此次罚没的量级将会增加。最大的罚没是所有被罚没的验证者的全部有效余额 (也即,如果有大量验证者被罚没,那么他们可能损失全部的质押金)。另一方面,一个单独的、独立的罚没事件只会销毁验证者一小部分的质押金。这种随着被罚没验证者的数量而变化的中间惩罚被称为“串谋惩罚”(correlation penalty)。

Inactivity Leak 机制

如果信标链已经有超过 4 个 epoch 都没有被敲定,那么一个称为“inactivity leak”的经济机制将被激活。Inactivity leak 的最终目的是创造条件使区块链重新恢复敲定。如上文所解释的,“敲定”(finality) 需要 2/3 的 ETH 总质押金对“源检查点”和“目标检查点”达成共识。如果超过 1/3的验证者离线或未能提交证明的证明,那么就不可能有 2/3 的绝对多数验证者来敲定检查点。此时,Inactivity leak 机制会让属于这些不活跃的验证者的 ETH 质押金逐渐被削减,直到这些验证者控制的质押金少于网络中总质押金的 1/3,从而允许剩余的活跃验证者对区块链进行敲定。无论这些不活跃的验证者数量有多大,剩余的验证者最终都将控制 >2/3 的总质押金。这种质押金的削减将是一个强烈的刺激因素,激励不活跃的验证者尽快重新激活!

信标链设计中的奖励、惩罚和罚没鼓励了个体验证者正确行事。然而,从这些设计选择中出现了一个系统,它强烈地激励了验证者在多个客户端之间的平等分配,并强烈地抑制这种由单个客户端占主导地位的情况。这是因为,“绝对多数制”对于信标链来说非常重要,单独一个恶意验证者对网络而言是相当无害的,但大量恶意验证者将可能造成严重破坏。让我们来看看一些潜在的场景......

02. 风险场景

这种资产激励共识客户端多样性是有风险的。通过在多个客户端之间均匀分布验证者,可以大大减少针对特定客户端的攻击或漏洞带来的影响,而单一客户端占主导地位则会增加这种风险。这种风险倍增效应会随着单个主导性客户端占据的网络份额多少而变化。

我们可以通过一些假设的 (但可能实际会发生的) 场景来获得更多的直觉感知。让我们假设一个 bug 意外地被引入到一个共识客户端中,这个 bug 可以直接导致该客户端进行不正确的证明,或者暴露一个漏洞,使得恶意攻击者能够迫使客户端进行不正确地证明。那么,客户端多样性会如何影响这种 bug 带来的后果呢?

场景1:受影响的客户端控制了少于 1/3 的 ETH 质押金

这种情况为信标链提供了最大的弹性,因为仍有 2/3 被质押的 ETH 仍在进行正确地证明,允许信标链正常地进行敲定。因此,从网络的角度来看,这种场景的后果是可以忽略的。受影响的验证者将受到怠惰惩罚,因为他们提交了不正确的证明。这些损失相对较小,受影响的验证者可以等待客户端被修复或者切换到另一个客户端。无论哪种方式,验证者都可以以最小的经济后果和不会破坏信标链的方式继续进行正确的证明。

场景2:受影响的客户端控制了超过 1/3 的 ETH 质押金

这种情况的问题要大得多,因为只剩不到 2/3 的 ETH 质押金在正确地进行证明,即没有绝对多数的验证者来正确地达成共识。这意味着信标链无法实现敲定,且 Inactivity Leak 机制将被激活。此时,这个 bug 对整个网络造成了影响。对于搭建在以太坊之上的交易所和 Dapps (去中心化应用) 而言,区块链被敲定 (finality) 是至关重要的,如果区块链无法被敲定,那么就不能保证交易是永久性和不可篡改的。对于使用了这个受影响的客户端的个体验证者来说,相关的惩罚要严重得多,因为 Inactivity Leak 机制的激活意味着个体验证者质押的 ETH 将逐步被销毁,直到这个受 bug 影响的客户端控制了少于 1/3 的 ETH 总质押金,且只有到那个时候信标链才会恢复敲定。这种 ETH 的销毁可能实际上会在信标链恢复之后持续一段时间,从而为验证者数量的较小变化提供缓冲。只有当一个受影响的客户端控制了超过 1/3 的 ETH 总质押金时,信标链的敲定才会处于危险之中。

在这种场景中,正常运行其他替代性客户端的验证者在 Inactivity Leak 机制被激活期间不会收到任何奖励。这是一种安全机制,用于防止攻击者蓄意启动 Inactivity Leak 机制,从而提高该攻击者控制的其他以正确方式运行的验证者获得的总奖励。这些都是很小的惩罚,但关键是,没有人能从一个控制着超过 1/3 的 ETH 总质押金的客户端的共识 bug 的负面后果中逃脱

场景3:受影响的客户端控制着 1/2 的 ETH 质押金

这种情况可能导致信标链中出现不可恢复的分叉。如果有共识 bug 的客户端分叉到它自己的链上,那么原始的链和新的分叉链都无法实现敲定,因为新旧两条链都缺失了大约一半的验证者,并且都将激活 Inactivity Leak 机制。此时,这两条链上缺失的验证者的 ETH 质押金将会逐渐被销毁,直到他们控制的质押金少于 1/3 的网络 ETH 总质押金,此时每条链上的验证者才可以再次开始进行敲定。这个过程在两条链上花费的时间相同,因为恢复敲定需要销毁的 ETH 数量是相等的。这两条链将使用不同的检查点来独立完成敲定。这两条链可能永远不会合并成为一条单独的“权威链”。解决方法将需要以太坊社区对哪条链是“权威链”达成共识,这个过程肯定会在政治上很难处理和引发分歧,导致一半的社区由于切换区块链而产生的经济损失 (这还不包括 ETH 可能贬值)。也许更糟糕的是,社区可能只是继续分裂下去 (类似于 The DAO 事件导致以太坊经典的产生)。

为了避免信标链的永久分裂,使用受影响的客户端的验证者将必须与 Inactivity Leak 赛跑进行客户端切换,或者在区块链开始敲定之前修复他们的客户端。可能有 3-4 周时间,在此期间开发者将争相拯救以太坊。在这个场景中,对于大量的验证者来说,无法逃避重大的经济损失

场景4:受影响的客户端控制着超过 2/3 的 ETH 质押金

对于信标链来说,这是噩梦般的情况,因为受影响的客户端控制着一个超级多数的验证者,并且能够敲定自己的链。这样,不正确的信息就很有可能永远被固定在以太坊的历史记录中。在区块链开始敲定非法区块之前,客户端团队将有大约 13 分钟的时间来确定该共识 bug、修复它,并将客户端更新信息广播给受影响的验证者。

对于这种情况,唯一可行的缓解方法是让受影响的验证者取出他们质押的 ETH 并从区块链中退出。如果在 bug 修复之后,这些受影响的验证者试图重新加入那条正确的区块链中,他们将由于“串谋惩罚”而被罚没,因为他们此时证明的检查点是与他们之前证明的检查点相矛盾,而且是集体进行这样的操作。Inactivity Leak 机制将由于大量验证者离去而被激活,这意味着这些受影响的验证者将在他们等待取款 (退出) 时不断损失他们的 ETH 质押金。由于有大量验证者要退出,因此等待的队伍将很长、缓慢和昂贵。

唯一的其他选择是,剩下的未受影响的客户端接受该 bug,加入新的链,并同意该 bug 从此成为以太坊共识层的预期行为。这将与 staking (质押) 社区的核心原则背道而驰,而且会造成极大的分裂。这些少数客户端将在新链上受到怠惰惩罚,即使他们的行为得当。

两种选择都不是好的选择。前一个选择对于受影响的验证者来说非常昂贵,并且在逻辑上难以纠正。后一种选择将严重破坏对以太坊的信任,并导致我们接受一个永久被玷污的链。

其他风险

逆转最终性

如果单个客户端控制着超过 2/3 的 ETH 总质押金,那么该客户端的开发者就有能力选择哪个版本的区块链历史是正确的。比如,如果该客户端的开发者变得恶意,他们可以花费一些 ETH (比如通过某个交易所套现,或者桥接到另一个区块链网络),然后这些开发者集体投票,使用另一个不包含这笔花费交易的链版本来代替当前这个已经被敲定的链。这是一种“双花”,因为该客户端控制着绝大多数验证者使其能够逆转最终性和重写历史。与此同时,诚实的少数验证者会因为他们不一致的证明而受到惩罚。一个恶意的控制了绝对多数 ETH 总质押金的攻击者也可以威胁做出这样的行为,并控制网络索要赎金。即便是一个控制着 1/3 的 ETH 总质押金的恶意团队也可以威胁停止链的敲定并激活 Inactivity Leak 机制。

共同的责任

前一点对客户端开发团队的看法有些悲观,不是因为这是合理的,而是因为恶意行为是可能的,因此需要防范。然而,这些开发人员最有可能永远是好人,他们自己需要抵制单个客户端占主导性地位,不仅仅是因为他们很可能是以太坊用户 (以及 ETH 持有者或质押者),还因为网络安全的责任不应该集中在一个小团队的肩上。开发者的行为对整个以太坊的健康造成了巨大的影响,他们的压力和心理健康是真正的代价。客户端多样性通过在多个独立团队之间分担责任来避免这种情况

中心化

即使客户端开发团队由完全出于善意的开发者组成,当他们控制了大部分的 ETH 质押金时,他们仍然保留了以太坊运作方面的过度权力。去中心化是以太坊的一个核心原则,这必须包括开发者、用户和托管商的去中心化。跨多个客户端的开发团队的去中心化,通过均匀分配 ETH 质押金,从而限制了单个客户端团队对诸如分叉内容和时间等做出关键决策,从而限制了他们对以太坊哲学方向的影响。客户端多样性确保了在开发者层面做出去中心化的决策

政治

对一条诚实链的社交恢复 (social recovery)是一个充满政治的问题。以太坊的共识机制应该基于编码到其客户端的规则来确定——这是它的主要目标。干预这一过程可能会导致以太坊社区的分裂,导致不同的用户在哲学上、伦理上和技术上对于缓解某个主要客户端的共识 bug/攻击有各种各样的观点。治理决策将是笨拙的、破坏性的,而且可能过于缓慢而无法达到最大的有效性。

03. 真实例子

上述场景发生的概率相对较低。开发者在研究和测试他们软件的每一个更新时都是一丝不苟的,没有理由怀疑任何客户端团队的职业操守。然而,这些场景也不是纯粹的假设。已经有真实例子表明,客户端多样性拯救了以太坊主网,使其免于永久损坏,且一些共识 bug 也破坏了以太坊测试网。下面将介绍其中的一些例子。

上海攻击

2016年9月,在上海 DevCon 会议期间,黑客攻击了以太坊,利用客户端软件中的几个漏洞,导致网络速度显著放缓。攻击者坚持不懈,迅速部署新的类似攻击,而客户端开发人员则竞相对这些攻击进行逆向工程和修补。最终,攻击者在Geth 客户端中发现了一个无法修补的漏洞,使得硬分叉成为必然。即使在硬分叉升级之后,攻击者仍然发现了一个拒绝服务漏洞,该漏洞利用之前攻击所导致的膨胀状态,迫使客户端在每个区块中进行数万次缓慢的磁盘I/O操作。客户端多样性赢得了胜利,因为当开发人员努力修复 Geth 中的漏洞时,以太坊能够继续使用替代性的Parity 客户端,该客户端没有遭受同样的漏洞。

由于有多个客户端,上海攻击是可以恢复的,但如果一个类似的 bug 影响了多数共识客户端,情况可能会截然不同。如果一个“共识客户端”与当时 Geth 被攻击时有着相同的主导性地位,那么以太坊量将无法实现敲定,因为此时大多数验证者将无法对区块进行证明。Inactivity Leak 将被激活,因为只有少于 1/3 的 ETH 质押金可用于进行证明。

Insecura 链

“远程攻击”的可行性最近在 Pyrmont 测试网得到了证明。其想法是建立一组验证者来证明一个备用的区块链历史。然后,这些验证者被用来诱骗新的验证者加入这条不诚实的“Insecura”链,从而逐渐增加被影响的验证者的数量,最终达到中断区块链敲定、激活 Inactivity Leak 并耗尽诚实多数验证者的 ETH 质押金的程度。最终,这可能导致受影响的客户端最终敲定自己版本的区块链。虽然所需要的时间和金钱的投入使这种行为不太可能成为攻击向量,但类似的动态可能导致一个占主导地位的共识客户端中的一个 bug 感染网络的大部分。

Medalla 测试网

此前由于 Prysm 客户端的时钟问题,Medalla 测试网的活跃验证者数量突然下降。这条链无法进行敲定,因为太多的验证者退出了网络,以至于 2/3 绝大多数被质押的 ETH 已经不再可用于进行证明。其恢复是渐进的,因为这依赖于验证者将客户端从 Prysm 切换到其他少数客户端上。然后,真实的时间与 Prysm 客户端错误的时钟时间赶在一起,之前无效的证明突然间变得有效了。这导致 Prysm 客户端陷入停滞,同时 Teku 和 Lighthouse 客户端也因突然处理大量的证明而遭遇了巨大的状态膨胀。如果 Prysm 是 Medalla 测试网的唯一客户端,那么整个网络都已经停滞了;如果 Prysm 客户端控制了少于 1/3 的 ETH 总质押金,那么许多混乱就可以避免了。

Prysm 的存款根 bug

2021 年初,Prysm 客户端遇到了一个与 Eth1 存款根验证相关的 bug。当时,Prysm 客户端能够生成无效的存款根(deposit root),并将其传递给其他 Prysm 节点。因为 Prysm 拥有如此大的验证者份额,这种无效的存款根很快在网络中传播,且由于 Prysm 遵循绝大多数投票机制而非在每个区块中显性地验证存款根,因此加速了其传播。虽然该 bug 带来的影响很小,没有中断信标链的敲定,也没有对验证者带来重大的经济惩罚,但这个事件从两个方面证明了客户端多样性的重要性:首先,如果 Prysm 客户端有着较小的验证者份额,那么就会限制该 bug 在整个网络的传播,减少其影响;其次,该事件发生后的分析文章描述了如何使用替代性客户端实现作为基准,帮助开发人员快速识别和修复该 bug。显然,如果没有多个积极维护的客户端,这是不可能实现的。

04.当前的客户端多样性

读懂以太坊的客户端多样性,为何如此重要?

撰文:Joseph Cook编辑:南风以太坊有多个可互操作的...

关于我们

币安下载官方app|币安iOS版|币安安卓版|币安电脑网页版

  • 用户支持
  • 帮助中心
  • 服务条款
微信二维码
币安官网渠道 数字区块链交易平台 Powered by binance
QR code