罚没的密码经济学

本文深入探讨了权益证明(PoS)协议中“罚没”机制的重要性,通过腐败分析模型,揭示了无罚没机制的PoS协议易受贿赂攻击的脆弱性。文章论证了引入罚没机制能够有效提高攻击成本,增强协议的安全性,并讨论了罚没机制的潜在问题及应对措施。强调了在特定场景下,罚没机制对提升整个区块链生态系统安全性的潜在价值。

权益证明 (PoS)协议设计的机制中,没有哪一个像罚没(slashing)一样备受争议。罚没提供了一种经济上的惩罚手段,可以针对任何特定的节点,如果该节点没有采取符合协议的操作。它通过剥夺验证者的一部分或全部 stake 来实现这一点,而不会对其他按照协议行事的节点产生外部性。罚没是权益证明协议独有的,因为它需要区块链能够执行惩罚。这种执行在工作量证明系统中显然是不可行的,在工作量证明系统中,这相当于烧毁行为不当的节点使用的挖矿硬件。这种应用惩罚性激励的能力开辟了区块链机制设计中的一个新设计空间,因此值得仔细考虑。

尽管罚没具有“业力”形式的明显好处,但对罚没的主要反对意见是,节点可能因为诚实的错误(例如运行过时的软件)而被不成比例地罚没。因此,许多协议避免纳入罚没,而是依赖于所谓的 token 毒性 —— 即如果一个协议被成功攻击,那么底层 token 将会失去价值。许多人认为,staker 会将这种毒性视为对协议安全性的威胁。在我们看来,在某些典型情况下,token 毒性不足以阻止对抗性攻击。事实上,在这种情况下,对手攻击和破坏协议所产生的成本(称为腐败成本)基本上为零。

在本文中,我们将展示如何将罚没纳入 PoS 协议的机制设计中,从而大幅增加任何对手所产生的腐败成本。对于存在贿赂的去中心化协议,以及不满足 token 毒性假设的协议(中心化或去中心化),罚没都能保证高且可衡量的腐败成本。

可能导致贿赂和缺乏 token 毒性的情况非常普遍。许多 PoS 协议通过拥有紧密的社区来避免落入这两类情况之一,但这只有在规模较小时才可行;通过依靠强大的领导力来引导它们朝着正确的方向前进,将验证委托给一小部分有信誉且受法律监管的节点运营商;或者通过依赖于少数群体内部 stake token 的集中。对于发展一个庞大且去中心化的验证节点社区而言,这些解决方案都不完全令人满意。并且,如果 PoS 协议确实具有少数验证者(或者在极端情况下,只有一个验证者)的 stake 集中,那么最好有一种方法来惩罚这些大型验证者,以防他们从事对抗性行为。

在本文的其余部分,我们将:

  • 提出一个用于分析复杂贿赂攻击的模型,
  • 表明没有罚没的 PoS 协议容易受到贿赂攻击,
  • 表明具有罚没的 PoS 协议具有可量化的针对贿赂的安全性,以及
  • 讨论罚没的一些缺点并提出缓解措施。

建模

在我们提出支持罚没的案例之前,我们首先需要一个模型,我们将在该模型下进行分析。用于分析 PoS 协议的两种最流行的模型,拜占庭模型和博弈论均衡模型,未能捕捉到一些最具破坏性的现实世界攻击——在这些攻击中,罚没将作为一种强大的威慑。在本节中,我们将讨论这些现有模型以了解它们的缺点,并提出第三个模型——我们称之为腐败分析模型——基于分别评估必须承担的最低成本的界限和可以从腐败协议中提取的最大利润。尽管腐败分析模型具有对大量攻击进行建模的能力,但尚未用于分析许多协议。

现有模型

在本节中,我们将简要描述拜占庭模型和博弈论均衡模型及其缺点。

拜占庭模型

拜占庭模型规定,最多一定比例 (𝜷) 的节点可以偏离协议规定的操作并采取他们选择的任何操作,而其余节点保持符合协议。证明特定的 PoS 协议能够抵抗对抗节点可能采取的整个拜占庭操作空间,是一个不平凡的问题。

例如,考虑最长链 PoS 共识协议,其中活性优先于安全性。早期关于最长链共识安全性的研究侧重于仅针对一种特定攻击——私有双花攻击,其中所有拜占庭节点串通私下构建一个备用链,然后在备用链比原始链长得多时才公开它。然而,无利害关系现象提供了一个机会,可以使用相同的 stake 提出大量区块,并使用独立的随机性来增加构建更长的私有链的概率。直到很久以后,才进行了广泛的研究,以表明对于某些 𝜷 值,最长链 PoS 共识协议的某些构造可以安全地抵抗所有攻击。(有关更多详细信息,请参阅“一切都是竞赛,而中本聪总是赢家”和“PoSAT:无需工作量的工作量证明可用性和不可预测性”。)

一整类共识协议,拜占庭容错(BFT)协议,将安全性置于活性之上。它们还需要假设一个拜占庭模型来表明,对于 𝜷 的上限,这些协议对于任何攻击都是确定性安全的。(有关更多详细信息,请参阅“HotStuff:区块链视角下的 BFT 共识”,“ STREAMLET”,“ Tendermint”。)

尽管有用,但拜占庭模型不考虑任何经济激励。从行为的角度来看,这些节点中有 𝜷 部分本质上是完全对抗性的,而(1-𝜷)部分完全符合协议规范。相比之下,PoS 协议中很大一部分节点可能受到经济利益的驱动,并运行经过修改的协议版本,这些版本有利于其自身利益,而不是仅仅遵守完整的协议规范。作为一个突出的例子,考虑以太坊 PoS 协议,该协议中今天的大多数节点都没有运行默认的 PoS 协议,而是运行 MEV-Boost 修改,由于参与 MEV 拍卖市场而不是运行确切的协议规范,这会导致额外的奖励。

博弈论均衡模型

博弈论均衡模型试图通过使用纳什均衡等解决方案概念来研究理性的节点在所有其他节点也遵循相同策略时是否具有遵循给定策略的经济激励,从而解决拜占庭模型的缺点。更明确地说,假设每个人都是理性的,该模型研究了两个问题:

  1. 如果每个其他节点都遵循协议规定的策略,那么对我来说执行相同的协议规定的策略是否会带来最大的经济利益?
  2. 如果每个其他节点都在执行相同的协议偏离策略,那么对我来说仍然遵循协议规定的策略是否最具激励兼容性?

理想情况下,协议应设计为这两个问题的答案都是“是”。

博弈论均衡模型的一个固有的缺点是它排除了外生代理可能影响节点行为的情况。例如,外部代理可以设置贿赂来激励理性节点按照其规定的策略行事。另一个限制是,它假设每个节点都具有独立的代理权,可以根据其意识形态或经济激励自行决定要遵循的策略。但这并没有捕捉到一组节点串通形成卡特尔或规模经济鼓励创建一个基本上控制所有 stake 节点的中心化实体的情况。

将腐败成本与腐败利润分开

一些研究人员提出了腐败分析模型,用于分析任何 PoS 协议的安全性,尽管没有人使用它来进行更深入的分析。该模型首先提出两个问题:(1)任何对手成功执行协议上的安全或活性攻击所产生的最低成本是多少?(2)对手从成功执行协议上的安全或活性攻击中可以提取的最大利润是多少?

有问题的对手可以是:

  • 单方面偏离协议规定策略的节点,
  • 一组积极合作以破坏协议的节点,或者
  • 试图通过某些外部行动(例如贿赂)来影响许多节点决策的外部对手。

计算所涉及的成本需要考虑贿赂产生的任何成本、执行拜占庭策略产生的任何经济处罚等等。类似地,计算利润是包罗万象的,其中包括通过成功攻击协议获得的任何协议内奖励、从位于 PoS 协议之上的 DApp 中捕获的任何价值、在二级市场中对协议相关衍生品采取头寸并从攻击导致的价格波动中获利等等。

比较任何对手发动攻击的最低成本下限(腐败成本)与对手可以提取的最大利润上限(腐败利润)表明何时攻击协议在经济上是有利可图的。(该模型已用于分析AugurKleros。)这给了我们这个简单的等式:

腐败利润 – 腐败成本 = 总利润

如果存在可获得的总利润,那么对手就有发动攻击的动机。在下一节中,我们将考虑罚没如何增加腐败成本,从而减少或消除总利润。

(请注意,腐败利润上限的一个简单示例是 PoS 协议所保护的资产总价值。可以构建更复杂的界限,其中考虑了限制一段时间内资产转移的断路器。对降低和限制腐败利润的方法的详细研究超出了本文的范围。)

罚没

罚没是 PoS 协议对节点或一组节点执行的策略,该策略明显偏离给定协议规范的情况下,在经济上惩罚节点或一组节点的一种方式。通常,要实施任何形式的罚没,每个节点必须事先提交一些最低数量的 stake 作为抵押品。在我们深入分析罚没之前,我们将首先了解具有内生 token 的 PoS 系统,这些系统依赖于 token 毒性来代替罚没。

我们主要关注于对安全违规行为的罚没机制的研究,而不是对活性违规行为的罚没机制的研究。我们提出此限制有两个原因:(1)安全违规行为在某些基于 BFT 的 PoS 协议中是完全可归因的,但活性违规行为在任何协议中都不可归因,并且(2)安全违规行为通常比活性违规行为更为严重,导致用户资金损失,而不是用户无法发出交易。

没有罚没会出什么问题?

考虑一个包含 N 个理性节点(没有拜占庭节点或利他节点)的 PoS 协议。为简单起见,我们假设每个节点都存入了等量的 stake。我们首先探讨 token 毒性如何未能保证显著的腐败成本。同样,为了本文档的统一性,我们假设使用的 PoS 协议是一个 BFT 协议,其对手阈值为 ⅓。

token 毒性是不够的

一种普遍的观点是,token 毒性可以保护 staked 的协议免受任何对其安全性的攻击。token 毒性暗示着,如果一个协议被成功攻击,那么用于在该协议中 stake 的底层 token 将会失去价值,从而抑制参与节点攻击该协议。考虑 1/3rd 的 staker 已经联手的情况。这些节点可以合作破坏协议的安全性。但问题是这是否可以不受惩罚地完成。

如果 token 的总估值(已存入 stake)严格依赖于协议的安全性,那么任何对协议安全性的攻击都可以将其总估值降至零。当然,在实践中,它不会一直降至零,而是降至较小的值。但是,为了尽可能有力地展示 token 毒性的力量,我们将在此假设 token 毒性完美工作。对协议进行任何攻击的腐败成本是攻击系统的理性节点持有的 token 总量,他们必须愿意损失所有这些价值。

我们现在分析在没有罚没的情况下,在具有 token 毒性的 PoS 系统中进行勾结和贿赂的动机。假设外部对手设置贿赂,并具有以下条件:

  • 如果一个节点执行了对手指示的策略,但对协议的攻击没有成功,那么该节点将从对手那里获得奖励 B1。
  • 如果一个节点执行了对手指示的策略,并且对协议的攻击成功了,那么该节点将从对手那里获得奖励 B2。

我们可以绘制以下支付矩阵,该矩阵适用于已存入 stake S 的节点,并且 R 是参与 PoS 协议的奖励:

攻击未成功 攻击成功
未接受贿赂且未偏离协议的节点 S + R 0
同意接受贿赂的节点 S + B1 B2

假设对手设置贿赂支付,使得 B1>R 且 B2>0。在这种情况下,无论其他节点采取何种策略(占优策略),接受对手的贿赂都会带来比节点可以采取的任何其他策略更高的支付。如果 1/3rd 的其他节点最终接受了贿赂,他们可以攻击协议的安全性(这是因为我们假设我们正在使用一个对手阈值为 ⅓ 的 BFT 协议)。现在,即使当前节点没有接受贿赂,由于 token 毒性,token 无论如何都会失去其价值(矩阵的右上角单元格)。因此,该节点接受 B2 贿赂是具有激励兼容性的。如果只有一小部分节点接受了贿赂,token 将不会失去价值,但节点可以从放弃奖励 R 并获得 B1 中受益(矩阵的左列)。在 1/3rd 的节点同意接受贿赂的成功攻击的情况下,对手支付贿赂所产生的总成本至少为 \(N3\)\(N3\) × B2。这是腐败成本。然而,B2 的唯一条件是它必须大于零,因此,B2 可以设置为接近零,这意味着腐败成本可以忽略不计。这种攻击被称为 “P+ε”攻击

总结此效果的一种方法是,token 毒性是不够的,因为不良行为的影响是社会化的:token 毒性会完全贬低 token 的价值,并平等地影响好的节点和坏的节点。另一方面,接受贿赂的好处是私有化的,并且仅限于实际接受贿赂的那些理性节点。对于那些接受贿赂的人来说,没有一对一的后果,也就是说,系统没有工作版本的“业力”。

token 毒性总是有效的吗?

生态系统中普遍存在的另一个神话是,每个 PoS 协议都可以通过 token 毒性获得某种程度的保护。但是,事实上,token 估值(被用作 stake 面额)不依赖于这些协议安全运行的某些类型的协议无法扩展 token 毒性的外生激励。一个这样的例子是像 EigenLayer 这样的重新 stake 协议,其中以太坊协议使用的 ETH 被重复使用以保证其他协议的经济安全。假设 10% 的 ETH 使用 EigenLayer 重新 stake 以执行新侧链的验证。即使 EigenLayer 中的所有 staker 通过攻击侧链的安全性来合作进行不当行为,ETH 的价格也不太可能下降。因此,对于重新 staked 的服务,token 毒性是不可转让的,这意味着腐败成本为零。

罚没如何提供帮助?

在本节中,我们将解释罚没如何显著增加两种情况下的腐败成本:

  1. 受贿赂的去中心化协议,以及
  2. token 毒性不可转让的 PoS 协议。

防止贿赂

协议可以使用罚没来显著增加试图进行贿赂攻击的外部对手的腐败成本。为了更好地解释这一点,我们考虑一个基于 BFT 的 PoS 链的示例,该链需要在链的本机 token 中进行 stake,并且至少需要 ⅓ 的总 stake 才能成功攻击其安全性(以双重签名形式)。假设外部对手能够贿赂至少 ⅓ 的总 stake 以执行双重签名。双重签名的证据可以提交给规范分叉,该规范分叉会罚没接受对手贿赂并进行双重签名的节点。假设每个节点 stake S 个 token 并且所有被罚没的 token 都被烧毁,我们得到以下支付矩阵:

攻击未成功 攻击成功
未接受贿赂且未偏离协议的节点 S + R S
同意接受贿赂的节点 B1 B2

通过罚没,如果节点同意接受贿赂并且攻击不成功,则其 stake S 将在规范分叉中被罚没(矩阵的左下角单元格),这与之前没有罚没的贿赂情况相反。另一方面,即使攻击成功,节点也永远不会在规范分叉中失去其 stake S(矩阵的右上角单元格)。如果需要 ⅓ 的总 stake 才能破坏攻击的安全性,则腐败成本至少为 \(N3\)\(N3\) × S,这远大于没有罚没的腐败成本。

当 token 毒性不可转让时提供保护

在 PoS 协议中,token 的估值不受协议安全性的影响,因此 token 毒性是不可转让的。在许多这样的系统中,此 PoS 协议位于另一个基本协议之上。然后,基本协议通过在该基本协议上部署争议解决机制来解决争议,并赋予基本协议以可证明的方式罚没与 PoS 协议 staked 的节点的权力来与 PoS 协议共享安全性。

例如,如果在 PoS 协议中的拜占庭操作在基础协议中客观地归因于对抗节点,那么其与 PoS 协议的 stakeholder 将在基础协议中被罚没。这种 PoS 协议的一个例子是 EigenLayer,它具有重新 staked 功能,使不同的验证任务能够从基础协议以太坊中获得安全性。如果一个在 EigenLayer 中重新 stake 的节点在 EigenLayer 上的验证任务中采用拜占庭策略,其中拜占庭操作可以客观地归因,那么可以证明该节点在以太坊上是对抗性的,并且其 stakeholder 将被罚没(无论 stakeholder 有多大)。假设每个节点重新 stake S,所有被罚没的 token 都会被烧毁并获得参与的奖励 R,我们在下面构建一个支付矩阵:

攻击未成功 攻击成功
未接受贿赂且未偏离协议的节点 S + R S
同意接受贿赂的节点 B1 B2

由于我们正在考虑一个验证任务,其中任何拜占庭操作都可以客观地归因,即使节点诚实行事但攻击成功,该节点也不会在以太坊上被罚没(矩阵的右上角单元格)。另一方面,同意接受贿赂并以对抗方式行事的节点将在以太坊上被客观地受到罚没(矩阵的底行)。如果需要 ⅓ 的总 stakeholder 才能破坏攻击成功,则腐败成本至少为 \(N3\)\(N3\) × S。

我们还考虑将所有与 PoS 协议的 stakeholder 都集中在一个节点手中的极端情况。这是一个重要的场景,因为它预测了 stakeholder 的最终中心化。鉴于我们假设重新 staked 的 token 上没有 token 毒性,如果没有罚没,则中心化节点可以不受惩罚地以拜占庭方式行事。但是通过罚没,可以在基本协议中惩罚这个拜占庭中心化节点。

可归因攻击的罚没与不可归因攻击的罚没

对于可归因攻击的罚没与对于不可归因攻击的罚没之间存在一个重要的微妙之处。考虑 BFT 协议中安全故障的情况。通常,它们是由双重签名的拜占庭操作引起的,目的是破坏区块链的安全性 - 这是一个可归因攻击的例子,因为我们可以查明哪些节点攻击了系统的安全性。另一方面,审查交易以破坏区块链活性的拜占庭操作是不可归因攻击的一个例子。在前一种情况下,可以通过将双重签名的证据提供给区块链的状态机来以算法方式完成罚没。

相反,由于无法以算法方式证明节点是否在主动审查,因此出于审查交易目的的罚没无法以算法方式完成。在这种情况下,协议可能必须依靠社会共识来执行罚没。一定比例的节点可以执行硬分叉,以指定罚没那些被指控参与审查的节点。只有当出现社会共识时,此硬分叉才会被视为规范分叉。

我们将腐败成本定义为执行安全攻击的最低成本。但是,我们需要 PoS 协议的一个属性,称为 问责制,这意味着如果协议失去安全性,则应有一种方法可以将责任归咎于一部分节点(对于 BFT 协议,则为 ⅓ 的节点)。事实证明,分析哪些协议负责是一个细微的问题(请参阅关于 BFT 协议取证的论文)。此外,事实证明,动态可用的最长链协议(例如 PoSAT)不能负责。(请参阅 本文,以了解动态可用性和问责制之间的权衡,以及解决 此类基本权衡的一些方法。)

罚没的陷阱与缓解

与任何技术一样,如果不仔细实施,罚没也会带来自身的风险:

  • 配置错误的客户端/密钥丢失。 罚没的一个陷阱是,由于非故意的错误,例如配置错误的密钥或密钥丢失,无辜的节点可能会受到不成比例的惩罚。为了解决对诚实节点因无意错误而被不成比例地罚没的担忧,协议可以采用某些罚没曲线,当只有少量 stakeholder 的行为与协议不一致时,这些曲线会宽松地进行惩罚,但是当超过阈值比例的 stakeholder 正在执行与协议冲突的策略时,会严厉地进行惩罚。以太坊 2.0 已经采用了这种方法。

  • 将可信的罚没威胁作为一种轻量级替代方案。 如果 PoS 协议没有实施算法罚没,而是依赖于社会罚没的威胁,也就是说,如果出现安全故障,节点将同意指向链的硬分叉,在这种情况下,不当行为的 stakeholder 节点会损失他们的资金。与算法罚没相比,这确实需要大量的社会协调,但只要社会罚没的威胁是可信的,上述博弈论分析将继续适用于没有算法罚没但依赖于已承诺的社会罚没的协议。

  • 用于活性故障的社会罚没是脆弱的。 对于惩罚诸如审查之类的活性故障之类的不可归因攻击,社会罚没是必需的。虽然在理论上可以对不可归因的故障实施社会罚没,但是对于新加入的节点来说,很难验证此社会罚没是否是出于正确的原因(审查)还是因为该节点受到了不公正的指控。当对可归因的故障使用社会罚没时,即使没有软件实现罚没,也不存在这种歧义。新加入的节点可以继续验证此罚没是合法的,因为即使仅是手动检查,他们也可以检查其双重签名。

如何处理被罚没的资金?

处理被罚没的资金有两种可能的方法:销毁和保险。

  • 销毁。 处理被罚没资金的直接方法是简单地销毁它们。假设 token 的总价值不会因攻击而改变,则每个 token 的价值都会成比例地增加,并且比以前更有价值。销毁不会识别因安全故障而受到损害的各方,并且仅对他们进行赔偿,而是不加区分地使所有非攻击 token 持有者受益。

  • 保险。 一种更复杂的分配被罚没资金的机制(尚未对此进行研究)包括针对罚制作出的保险债券。在区块链上进行交易的客户可能会预先在区块链上获得这些保险债券,以保护自己免受潜在的安全攻击,从而为其数字资产投保。当发生破坏安全的攻击时,对 staker 进行的算法可导致一笔资金,然后可以将其按债券比例分配给保险公司。(正在对这些保险债券进行全面分析。)

罚没在生态系统中的状态

据我们所知,Vitalik 在 2014 年的 文章 中首次探讨了罚没的好处。Cosmos 生态系统在其 BFT 共识协议 中构建了第一个运行正常的罚没实现,该协议会对未参与提议区块或正在进行双重签名以混淆区块的验证者处以罚没。

以太坊 2.0 也在其 PoS 协议中加入了 罚没。以太坊 2.0 中的验证者可能会因做出混淆证明或提出混淆区块而被罚没。对行为不当的验证者进行罚没是以太坊 2.0 实现经济最终性的方式。验证者也可能会因缺少证明或在应该这样做时未提出区块而受到相对较轻的惩罚。

***

没有罚没的 PoS 协议可能极易受到贿赂攻击。我们使用一种新模型——腐败分析模型——来分析复杂的贿赂攻击,然后使用它来说明具有罚没的 PoS 协议具有针对贿赂的可量化安全性。虽然在 PoS 协议中加入罚没存在一些陷阱,但我们提出了一些可能的方法来缓解这些陷阱。我们希望 PoS 协议将使用此分析来评估在某些情况下罚没的好处——从而有可能提高整个生态系统的安全性。 Sreeram Kannan 是华盛顿大学西雅图分校的副教授,他在那里运营着区块链实验室和信息理论实验室。在 2012 年至 2014 年间,他曾是加州大学伯克利分校的博士后研究员,也是斯坦福大学的访问博士后,之后他获得了伊利诺伊大学厄巴纳香槟分校电气与计算机工程博士学位和数学硕士学位。 Soubhik Deb 是华盛顿大学电气与计算机工程系的博士生,他的导师是 Sreeram Kannan。他对区块链的研究侧重于设计对等和共识层协议,以在应用层创新新颖的功能,并在精确的安全阈值下获得可实现的性能保证。 编辑:Tim Sullivan

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

0 条评论

请先 登录 后评论
a16z Crypto
a16z Crypto
https://a16zcrypto.com/