权益证明与工作量证明
当以太坊推出时,权益证明 (PoS) 仍需要大量的研究和开发,才能被信任用于保护以太坊。工作量证明 (PoW) 是一种更简单的机制,并且已经被比特币证明是可行的,这意味着核心开发者可以立即实施它以启动以太坊。又花了八年时间,权益证明才发展到可以实施的程度。
本页面解释了以太坊从工作量证明转向权益证明背后的基本原理以及所涉及的权衡。
安全性
以太坊研究人员认为权益证明比工作量证明更安全。然而,它最近才在真实的以太坊主网上实施,并且不如工作量证明经过了长时间的验证。以下各节讨论了权益证明的安全模型与工作量证明相比的优缺点。
攻击成本
在权益证明中,要求验证者在智能合约中托管(“质押”)至少 32 个 ETH。以太坊可以销毁质押的以太币来惩罚行为不端的验证者。为了达成共识,至少 66% 的总质押以太币必须投票支持特定的一组区块。获得 >=66% 质押投票的区块将“已最终确定”,这意味着它们不能被移除或重组。
攻击网络可能意味着阻止链最终确定,或者确保规范链中区块的某种组织方式以某种方式使攻击者受益。这要求攻击者通过积累大量以太币并直接用其投票,或者欺骗诚实的验证者以特定方式投票,从而偏离诚实共识的路径。撇开欺骗诚实验证者的复杂、低概率攻击不谈,攻击以太坊的成本就是攻击者为了影响共识以使其对自己有利而必须积累的质押成本。
最低的攻击成本是 >33% 的总质押。持有 >33% 总质押的攻击者只需离线即可导致最终性延迟。这对网络来说是一个相对较小的问题,因为有一种被称为“怠工泄漏”的机制,它会从离线验证者那里泄漏质押,直到在线的多数代表 66% 的质押并能再次最终确定链。理论上,攻击者也有可能用略多于 33% 的总质押造成双重最终性,方法是在被要求成为区块生产者时创建两个区块而不是一个,然后用他们所有的验证者进行双重投票。每个分叉只需要剩余诚实验证者中的 50% 首先看到每个区块,因此如果他们设法恰好把握消息的发送时机,他们可能能够最终确定两个分叉。这成功的可能性很低,但如果攻击者能够造成双重最终性,以太坊社区将不得不决定跟随一个分叉,在这种情况下,攻击者的验证者必然会在另一个分叉上被罚没。
拥有 >33% 的总质押,攻击者有机会对以太坊网络产生轻微(最终性延迟)或更严重(双重最终性)的影响。网络上质押了超过 14,000,000 个 ETH,代表性价格为 1000 美元/ETH,发起这些攻击的最低成本是 1000 x 14,000,000 x 0.33 = $4,620,000,000。攻击者将通过罚没失去这笔钱并被逐出网络。要再次攻击,他们必须(再次)积累 >33% 的质押并(再次)销毁它。每次尝试攻击网络将花费 >46 亿美元(按 1000 美元/ETH 和 1400 万 ETH 质押计算)。攻击者在被罚没时也会被逐出网络,他们必须加入激活队列才能重新加入。这意味着重复攻击的频率不仅受限于攻击者积累 >33% 总质押的速度,还受限于将他们所有验证者接入网络所需的时间。每次攻击者发动攻击,他们都会变得更穷,而社区的其他人则会因为随之而来的供应冲击而变得更富。
其他攻击,例如 51%攻击或使用 66% 总质押的最终性回滚,需要大量的 ETH,对攻击者来说成本要高得多。
将此与工作量证明进行比较。在工作量证明以太坊上发起攻击的成本是持续拥有 >50% 总网络哈希率的成本。这相当于足够的计算能力的硬件和运行成本,以在持续计算工作量证明解决方案方面胜过其他矿工。以太坊主要使用 GPU 而不是 ASIC 进行挖矿,这降低了成本(尽管如果以太坊留在工作量证明上,ASIC 挖矿可能会变得更受欢迎)。对手必须购买大量硬件并支付运行它的电费才能攻击工作量证明以太坊网络,但总成本将低于积累足够 ETH 发起攻击所需的成本。在工作量证明上进行 51%攻击的成本比在权益证明上便宜约 20 倍 (opens in a new tab)。如果攻击被检测到并且链进行硬分叉以移除他们的更改,攻击者可以重复使用相同的硬件来攻击新的分叉。
复杂性
权益证明比工作量证明复杂得多。这可能是支持工作量证明的一点,因为很难在更简单的协议中意外引入错误或意外影响。然而,经过多年的研发、模拟和测试网实施,这种复杂性已被驯服。权益证明协议已由五个独立的团队(在执行层和共识层上)使用五种编程语言独立实施,从而提供了针对客户端错误的弹性。
为了安全地开发和测试权益证明共识逻辑,信标链在以太坊主网实施权益证明两年前就已启动。信标链充当了权益证明测试的沙盒,因为它是一个实施权益证明共识逻辑的实时区块链,但不涉及真实的以太坊交易——实际上只是就其自身达成共识。一旦它稳定且无错误地运行了足够长的时间,信标链就与以太坊主网“合并”。所有这些都有助于驯服权益证明的复杂性,使得意外后果或客户端错误的风险非常低。
攻击面
权益证明比工作量证明更复杂,这意味着有更多潜在的攻击向量需要处理。连接客户端的不再是一个点对点网络,而是两个,每个网络实施一个单独的协议。在每个时隙中预先选择一个特定的验证者来提议区块,这创造了拒绝服务攻击的潜力,即大量的网络流量将该特定验证者击线。
攻击者还可以通过仔细安排其区块或证明的发布时间,使其被一定比例的诚实网络接收,从而影响他们以特定方式投票。最后,攻击者可以简单地积累足够的 ETH 进行质押并主导共识机制。这些攻击向量中的每一个都有相关的防御措施,但在工作量证明下,它们是不存在的,因此也无需防御。
去中心化
权益证明比工作量证明更去中心化,因为挖矿硬件的军备竞赛往往会将个人和小型组织挤出市场。虽然从技术上讲,任何人都可以使用适度的硬件开始挖矿,但与机构挖矿业务相比,他们获得任何奖励的可能性微乎其微。在权益证明中,质押成本和该质押的百分比回报对每个人都是相同的。目前运行一个验证者需要 32 个 ETH。
另一方面,流动性质押衍生品的发明引发了对中心化的担忧,因为少数大型提供商管理着大量的质押 ETH。这是有问题的,需要尽快纠正,但它也比看起来更微妙。中心化的质押提供商不一定对验证者拥有中心化的控制权——通常它只是一种创建 ETH 中心池的方式,许多独立的节点运营商可以进行质押,而不需要每个参与者自己拥有 32 个 ETH。
对以太坊来说,最好的选择是在家用电脑上本地运行验证者,从而最大化去中心化。这就是为什么以太坊抵制增加运行节点/验证者硬件要求的更改。
可持续性
权益证明是一种低碳的保护区块链的方式。在工作量证明下,矿工竞争挖出一个区块的权利。当矿工能够更快地执行计算时,他们就更容易成功,这激励了对硬件和能源消耗的投资。在以太坊转向权益证明之前,人们就观察到了这一点。在过渡到权益证明前不久,以太坊每年消耗约 78 太瓦时 (TWh) 的电力——相当于一个小国的用电量。然而,转向权益证明将这种能源消耗减少了约 99.98%。权益证明使以太坊成为一个节能、低碳的平台。
发行
权益证明以太坊可以通过发行比工作量证明以太坊少得多的代币来支付其安全性,因为验证者不必支付高昂的电费。因此,ETH 可以降低其通货膨胀,甚至在大量 ETH 被销毁时出现通货紧缩。较低的通货膨胀水平意味着以太坊的安全性比在工作量证明下更便宜。