权益证明为什么棒棒的(2020 年十一月)

本文深入探讨了权益证明(PoS)相对于工作量证明(PoW)的优势,强调了其在区块链安全性、去中心化程度和抵御攻击能力上的显著优势。通过比较成本和攻击机制,作者论证了PoS在确保区块链安全的同时,也降低了参与门槛和能耗,展现出未来区块链发展的潜力。

为什么权益证明棒棒的(2020 年十一月)

为什麼權益證明棒棒的(2020 年十一月)

感谢Chih-Cheng Liang, Hsiao-wei Wang和Jerry Ho翻译这篇文章

权益证明(Proof of Stake, PoS)比工作量证明(Proof of Work, PoW)在区块链安全上更具优势的关键因素有三个。

权益证明在相同成本下可提供更高的安全性

理解这一点最简单的方式,就是把权益证明和工作量证明摆在一起看,假设每天有 $1 的区块奖励,攻击此网络所需的成本是多少。

基于 GPU 的工作量证明

你可以便宜租到 GPU,所以攻击网络的成本就等于是租到够强 GPU 的成本,只要能够压过现有矿工 GPU 的算力即可。现有的矿工会花费将近 $1 的成本来赚取 $1 的区块奖励(如果他们花费更多,矿工就会因为无利可图而退出;如果花费比这个数字少,新矿工就会加入来压缩现有矿工的利润空间)。因此,攻击网络只需要暂时花费比 $1/天 多一点点,这还可能只要几个小时而已。

总攻击成本: ~$0.26 (假设攻击 6 小时) ,且因为攻击者有机会收到区块奖励,所以这个数字可能压到零

基于 ASIC 的工作量证明

ASICs 其实是资本成本:当买进 ASIC 时你预期大概可以用两年,因为它会慢慢耗损,或是因为更新更好的硬件出来而过时。如果一个链被 51% 攻击了,社区大概会用更换 PoW 算法来应对,这时,你的 ASIC 就会失去价值。平均而言,挖矿所费的成本分布是 1/3 的经常性成本与 2/3 的资本成本(详见 这里)。因此,为了每天要赚到 $1 的区块奖励,矿工得花 ~$0.33 在电力与维护上,花费 ~$0.67 在 ASIC 上。假设 ASIC 可以用 ~2 年,矿工会需要为一单位的 ASIC 硬件花费 $486.67 。

译注:$486.67 = 365 天 x 2 年 x $0.67 资本成本

总攻击成本:$486.67 (ASICs) + $0.08(电力与维护)= $486.75

译注:这里电力与维护成本也是假设攻击 6 小时

值得注意的是,虽然 ASICs 提供了很高的安全性,其(相较 GPU )付出的代价却更高,让环境变得过度的中心化。这同时也让加入 ASIC 挖矿的门槛变得非常高

权益证明 Proof of stake

权益证明的成本几乎全是资本成本(抵押的币);唯一的运营成本花在运行节点上。猜猜人们愿意为每天 $1 的区块奖励锁住多少的资金呢?不像 ASIC,抵押的币不会折旧,而且当你不想抵押了,你几乎马上就可以取回你的币。因此,在奖励相同的情况下,参与者愿意付出比 ASIC 的情况更多的资本成本。

让我们假设 ~15% 的回报率足够吸引人们抵押(这是 eth2 的期望回报率)。因此每天 $1 的区块奖励会吸引相当于 6.667 年回报的抵押,可换算成 $2,433 。节点消耗的硬件与电力成本很小,一台千元美金等级的电脑就可以抵押非常大量的币,而且每月只要花大概 ~$100 左右的电力与网络费就绰绰有余。我们可以保守地假设上述这些经常性成本为抵押总成本的 10% ,这代表在协议每天发出的区块奖励中,需要扣掉 10% 的经常性成本,剩下的 $0.90 才是(攻击时)需要花费的资本成本。

译注: 6.667 年 = $1 /(15% 年回报); $2,433 = $1 每天 x 365 x 6.667

*总攻击成本: $0.90/天 6.667 年 = $2,189**

长期来看,这个攻击成本会变得更高,因为抵押会变得更有效率,人们也因此更能接受较低的回报率。我个人预期这个数字最终会攀升到 $10,000 左右。

值得注意的是,如此高的安全性带来的“代价”,只是让你在抵押时无法任意移动资金而已。人们有可能意识到,这些币被锁住之后反而造成了币的价值攀升,从而造成在社区流通的货币总数、像是用于投资生产活动的资金,反而会维持不变。反观 PoW,维持共识的“代价”却是疯狂地损耗电力

我们想要更高的安全性,还是更低的成本?

要知道的是,在每单位成本安全性增加了 5-20 倍之后,我们有两种方式可以将其加以利用。一种方式是区块奖励维持现状,单纯享受多出的安全性。另一种方式是维持现有程度的安全性,并大量减少区块奖励(也就是减少共识机制成本的“浪费”)。

两种方式都行。我个人喜欢后者,因为我们在下文会看到,跟工作量证明相比,在权益证明中的成功攻击会造成更少的伤害,而且链更容易从攻击中恢复。

权益证明更容易从攻击中恢复

在工作量证明的系统,如果你的链遭受 51% 攻击,你会怎么做?目前为止,实务上唯一的应对一直是“慢慢等,直到攻击者觉得无聊了”。但这忽略了一种更危险的攻击叫做“住到你崩溃(spawn camping attack)” ,攻击者可以对链攻击再攻击,明确的目标就是要让链无法再使用。

译注:Spawn Camping 是一种游戏术语,指在对方玩家重生点或死亡处埋伏的行为。如此会造成被住、被蹲的玩家一复活就再次阵亡,毫无还手之力。

基于 GPU 的系统完全没有防御的办法 ,而且持续攻击的攻击者可以轻易让一个链永远毫无用处(实务上来说,该链会开始转移到权益证明或权威证明(proof of authority))。事实上,在攻击开始后不久,攻击者的成本就会变得非常低,而诚实矿工会离开,因为他们没办法在攻击持续之下取得区块奖励。

在基于 ASIC 的系统,社区有办法应对第一波攻击,但接下来的攻击就会变得很容易。 社区可以在第一波攻击之后,硬分叉来更换工作量证明的算法,让所有 ASIC “变砖”(攻击者和诚实矿工的 ASIC 会一起砖掉)。如果攻击者愿意承担第一次 ASIC 变砖的成本,接下来几次的情况就和 GPU 的情况一样(因为还没有足够的时间去为新算法打造与生产 ASIC),所以在这之后攻击者可以很便宜地持续对链发动攻击到天荒地老。

译注:变砖为电子产品俚语,代表损坏后无法使用,像砖头一样

在权益证明下,状况则好上非常多。 针对特定种类的 51% 攻击(特别指想要推翻已经敲定的区块),权益证明共识有内建的“砍押金(slashing)”机制,大比例的攻击者抵押会被自动销毁(而且不会销毁到其他人的抵押)。针对其他种类的,更难检测的攻击(像是 51% 谋划截断其他人信息),社区可以协调一个“少数用户发起软分叉 minority user-activated soft fork (UASF)” ,可以大量销毁攻击者的资金(在以太坊中,可以通过“离线惩罚 inactivity leak ”做到)。如此就不需特别费力来“搞个硬分叉砍掉非法货币”。除了 UASF 需要人为协调要选择哪个少数区块,其余的事情都是自动化的,只要遵照协议规则去执行即可。

译注:少数区块 minority block 是小于 51% 抵押总数的验证者决定出来的区块。

因此,对链的第一次攻击就会耗损攻击者几百万美元,而且社区可以几天内马上站稳脚步。第二次攻击仍然会花费攻击者数百万美元,因为他们被迫要买新的币来取代自己被烧毁的币。再攻击第三次...只会继续烧更多钱。局面极为不对称,而且优势并不会在攻击者那里。

权益证明比 ASIC 更去中心化

基于 GPU 的工作量证明的去中心化程度还不错,因为取得 GPU 不会太难。但前面提过,基于 GPU 的挖矿难以满足“在攻击之下的安全性”这个准则。另一方面,基于 ASIC 的挖矿,则需要数百万美元的资本才能做(而且如果你的 ASIC 是买来的,多数时候,制造商会占更多便宜)。

如上述,你现在知道要怎么回答“ PoS 只会让有币的人继续以钱滚钱”这个论点了: ASIC 挖矿一样会让已经有币的人得利 - 而且赚得比 PoS 的时候还多。相比之下,至少权益证明的最低抵押门槛够低,让一般人还有机会接触。

译注:就文章完成当下 32 ETH @ 440 USD ,最低抵押门槛大概是 40 万台币。

进一步说,权益证明更能抵抗审查。 GPU 挖矿和 ASIC 挖矿很容易被检测,他们需要大量电力消耗、昂贵硬件采购、及大型厂房。另一方面,权益证明可以跑在一台不起眼的笔电上,就算跑在 VPN 上也毫无问题。

工作量证明可能的优势

我觉得 PoW 在下述这两点上是真的比较占优势,纵然这些优势相当有限。

权益证明更像个“封闭系统”,长期而言财富更加集中

在权益证明的情况下,如果你手上有币,你可以抵押手上的币来获得更多同种类的币。但,在工作量证明的情况下,就算你没有币你还是能赚到,只要你愿意投入一些外部资源。因此,或许可以说权益证明会造成长期风险,让币的分配变得越来越集中。

我的回应是,在 PoS 中,回报一般而言会很低(所以验证者的获利也会低)。在 eth2 ,我们预计验证者的年回报会相当于总 ETH 供给量的 ~0.5-2%。而且更多验证者抵押,利率会更低。因此,可能要花个一世纪,整个资产集中程度才会翻倍,而且在这样的时间跨度之下,其他促进分配的压力(人们想花他们手上的钱,分配金钱到慈善或他们自己的子孙等等)比较可能会占上风。

权益证明需要“弱主观性(weak subjectivity)”而工作量证明不需要

关于“弱主观性”的观念可以看这个 原始介绍。本质上,就是节点在第一次上线,或是在离线很长一段时间之后(数个月)再次上线,这个节点必须要透过第三方的资源,才能决定正确的链头在哪。这个第三方可以是他们的朋友,可以是交易所或区块链浏览器网站、或是客户端开发者本身、又或是其他角色。PoW 则没有这样的要求。

然而,这可能是一个很弱的要求。事实上,使用者本身就已经必须对客户端开发者、或“社区”有这种程度的信任。最起码,使用者必须信任某个人(通常是客户端开发者)来告诉他们协议是什么,这个协议曾经经历过什么样的更新。这在任何软件应用都无法避免。因此,这个 PoS 所需要增加的额外信任,其实已经算很少了。

但就算事实证明这些风险其实一点都不小,在我看来切换到 PoS 系统带来的好处要高得多,像是系统运作的高效率和从攻击中回归正轨的能力。

参考来源:我之前写权益证明的文章

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

0 条评论

请先 登录 后评论
Vitalik Buterin
Vitalik Buterin
https://vitalik.ca/