比特币人的权益证明指南

通常比特币持有者对垃圾币世界中发生的事情不太感兴趣,但最近几个月合并和以太坊向权益证明的过渡也成为比特币社区的一个大话题。当然,这与比特币网络本身无关,但我认为这次“更新”还是值得关注的。既然以太坊已经完全清除了与工作量证明 (PoW) 相关的“不可持续”和“浪费”做法,我们可以期待在叙事战争中脱下手套,我认为比特币应该准备罢工回来..

了解 PoS 的工作原理是了解 PoW 和 PoS 之间的差异以及各自权衡的一种非常好的方法。虽然我不止一次遇到反对 PoS 的高层论点——它意味着不同级别的访问,更加集中和寡头——我承认,如果不研究细节,这可能看起来不太有说服力。但是当你深入研究 PoS 算法时,你会看到所有这些属性是如何从其核心原则中自然而然地产生的。因此,如果您想知道 PoS 算法的工作原理以及它为什么会产生这些属性,请继续阅读!

解决双重支出问题

我建议首先简要概述一下我们正在努力解决的问题。假设我们有一大群加密货币网络参与者试图维护一个去中心化的分类账。问题是:如何将新交易添加到他们每个人的账本副本中,以便每个人都同意哪些新交易是“正确的”?PoW 相当优雅地解决了这个问题:交易被分组为区块,每个区块的创建都涉及大量的计算工作。所需的工作量可能会根据参与者的数量和他们使用的设备而增加或减少,因此平均每十分钟生成一次块,这为每个新块提供了足够的时间在创建下一个块之前通过网络传播。

但是假设我们现在想要放弃中本聪最初使这种分布式系统成为可能的关键想法。厌倦了这些 ASIC,噪音大、烦人,消耗的能量比乔治·索罗斯、比尔·盖茨和希拉里·克林顿的私人飞机加起来还要多。有什么方法可以通过讨论这个问题就哪些交易应该被认为是真实的达成明确一致?

以太坊中的股权证明通过两个关键组件解决了这个问题。首先是不时发出一种“复选框”,其目的是确保网络中的每个人在各个时间点对系统都是“真实的”。创建这样的检查点需要 2/3 的多数,因此可以保证大多数验证者就当时账本的真实状态达成一致。第二个组成部分是惩罚用户在网络中引入歧义,这个过程称为 slashing。例如,如果验证者对现有侧链进行分叉或投票(类似于 51% 攻击),他们将被削减,也就是说,他们将全部或部分失去其质押抵押品。

这将我们带到了 PoS 的第一个原则,即PoS 是基于一个抑制系统(基于惩罚). 这与比特币和工作量证明算法形成鲜明对比,后者是一种积极的激励系统(基于奖励)。在比特币中,矿工可以尝试打破规则——格式不正确的区块、无效交易等——但这些区块将被简单地忽略。最坏的情况是浪费能源。矿工也可以自由地从任何旧区块形成新的分支,但是如果没有 51% 的网络哈希算力,这些分支将永远赶不上主区块,这再次意味着浪费能源。从事此类活动的矿工,无论是有意还是无意,都不必担心丢失他积累的比特币或矿机。比特币矿工可能会选择自己承担风险,而不是生活在恐惧中。

对于以太坊验证者来说,世界看起来完全不同。验证者不会努力工作并因使网络更安全而获得奖励,而是不做任何工作,但必须注意他们的节点不会出现故障或离线,这样他们就不会失去全部或部分的积蓄部分。当对网络进行任何更改时,验证者的第一个冲动将是遵守其他人正在做的事情——否则他会冒着储蓄的风险。成为验证者意味着每天如履薄冰。

顺便说一句,根据Vitalik 的常见问题解答,负激励系统的存在是股权证明的“优势”之一:

比特币人的权益证明指南

那么 slashing 在技术层面上究竟是如何运作的呢?难道我们不应该首先创建一个包含所有验证器的列表,以便我们有一些东西可以“砍掉”吗?答案是肯定的。要成为以太坊的验证者,您必须首先将 ETH 作为抵押品转移到一个特殊地址。该列表不仅用于削减,而且用于投票,因为需要 2/3 的多数才能形成控制块。

永久保留所有验证者的列表有几个有趣的含义。加入他们有多难?走出去有多难?验证者可以对其他验证者的状态进行投票吗?这将我们带到了 PoS 的第二个原则,即PoS 是一个分层系统

打开验证器的第一步是将一些 ETH 存入一个特殊合约的地址以进行质押。多少以太币?所需的最低金额为 32 ETH,或在撰写本文时约为 4.25 万美元。相比之下,一台像样的比特币矿机通常要几千个位数,而家用矿机只需几百美元就可以从一台 S9 开始。公平地说,以太坊的高入门费是有技术原因的,因为更高的质押抵押品会减少验证者的数量,从而降低吞吐量。

所以,押金费是高了,但至少每个人只要有32个ETH,就可以随时自由加入或离开,对吧?并不真地。大量验证者同时进入或退出会产生安全风险。例如,如果大多数网络同时退出,他们可以双花最终区块,重播他们从未退出的分叉,并且不会在任何链上被削减。为了减轻这种风险,在入口和出口设置了带宽限制。这个限制目前设置为每个时期(即每 6.4 分钟)最多 (4,|V|/65536) 个验证者,进入和退出都相同。这大致相当于每十个月完成一整套验证器。顺便说一下,尽管目前验证者可以发布退出交易并停止验证,但实际提取冻结资金的代码甚至还没有编写。结果就像一首关于“加州旅馆”的歌曲……

关于批准新验证者的激励措施的最后一点说明。假设你是一家稳定的大公司的股东,每季度定期支付股息。免费赠送新股有意义吗?当然不会,因为这会稀释所有现有股东的股息。PoS 中存在类似的激励结构,因为每个新验证者都会稀释所有现有验证者的收入。从理论上讲,验证者可以简单地审查每笔添加新验证者的交易,但在实践中,我认为这种愚蠢的做法是不可能的。这将非常引人注目,并会立即破坏以太坊“去中心化”的形象,并有可能降低其代币的价格。我认为可以改用更微妙的方法。例如,规则会随着时间的推移而逐渐改变,这使得成为验证者变得更加困难,证明网络的“安全性”或“效率”是合理的。任何以牺牲新验证者为代价来丰富现有验证者的政策都将意味着经济利益因素,无论是否大声说出来。到这里我们就可以开始理解为什么 PoS 会走向寡头了。

Casper算法概述

既然我们知道了 PoS 背后的一般策略,那么该算法实际上是如何工作的呢?与断点和削减相关的基本思想在一个名为Casper的算法中进行了阐述;我们将从它开始。Casper 本身实际上并没有定义任何关于如何生成块的内容,而是定义了一个在现有区块链树上覆盖检查点和斜杠策略的通用方案。

首先,选择某个任意常数 C 作为断点之间的间隔,它决定有多少块在断点之间通过。例如,如果 C=100,则断点将出现在块 0、100、200 等中。然后所有节点投票决定哪个控制块应该是下一个“批准”(或“合理化”,如果更接近原始合理化)控制点。验证者不是单独为每个块投票,而是实际投票给检查点对 ( s , t ),这些检查点将一些先前合理的源s链接到一些新的目标检查点t。如果控制点 ( st ) 获得 2/3 多数的验证者,则t成为新的有效参考点。下图显示了检查点树的示例。

比特币人的权益证明指南

在此图中,函数h(b)代表“检查点高度”——例如,块的高度是 100 的倍数。您可能已经注意到,并非每第 100 个块都必然被批准为检查点:这个如果投票在某个高度或另一个高度失败,则可能不会发生。例如,假设在高度 200 处,两个独立的控制点各获得 50% 的选票。由于两次投票是严重的违规行为,会受到罚没的处罚,除非一部分验证者自愿被罚没以达到 2/3 的选票,否则系统将陷入困境。每个人的解决方案是简单地“跳过”断点 200 并在块 300 处“重试”。

如果检查点获得批准,并不意味着它已完成。一个航路点被认为是最终确定的,它必须在下一个可能的高度上接连出现另一个批准的航路点。例如,如果断点 0、200、400、500 和 700 已被批准和链接,则只有断点 400 将被视为“已完成”,因为它紧随其后,没有间隙,是另一个已批准的检查点。

由于术语非常精确,让我们简要回顾一下我们在这里讨论的三个类别。“检查点”是任何block per 在高度C*n处添加,即在C=100时,高度为0、100、200、300等的每个块都会是一个断点。即使在高度 200 处创建了两个块,它们也将是“检查点”。如果一个检查点是高度为 0 的根块或 2/3 的验证者投票链接一些先前批准的和当前的检查点,则该检查点被认为是“合理的”。如果一个已批准的修复链接到下一个可能高度的下一个已批准的修复,则该修复被视为“最终确定”。并非每个检查点都必须获得批准,也不是每个批准的检查点都会最终确定,即使在最终链中也是如此。

Casper 协议中的罚没规则

Casper 中的 slashing 规则的设计方式是,两个最终确定的检查点不可能存在于两个单独的分叉中,除非至少有 1/3 的验证者冒充 slash 违反了规则。换句话说,只有最终确定的断点才应该被认为是明确的“真实”块。甚至有可能在分叉的两个分支上出现两个已批准的检查点,但不会出现两个最终确定的检查点。也无法保证下一个最终检查点将在何时何地出现;在区块链分裂的情况下,你必须坐下来等到一个分支上出现最终区块——然后你就会知道这是“正确的”分支。

Casper 有两个罚没规则来强制执行此属性:

比特币人的权益证明指南

第一条规则禁止对具有相同目标高度的断点进行两次投票,因此如果验证器对两个目标高度为 200 的不同断点进行投票,则会受到斜杠的惩罚。该规则的目的是防止链分裂成两个相同高度的不同批准检查点,因为这将需要 2/3 + 2/3 = 4/3 的验证者投票总数,这意味着至少 1/3验证者违反了削减规则。然而,正如我们之前看到的,可以在给定的区块高度“跳过”已批准的控制点。是什么阻止区块链在两个不同的目标高度分裂?例如,不能将断点 200 分支到高度为 300 和 400 的已批准断点,而不让任何人暴露在斜线中吗?

这就是第二条规则发挥作用的地方,它基本上可以防止验证者以不一致的“三明治”方式对检查点进行投票。也就是说,例如,如果验证者同时投票给 300→500 和 200→700,这将是违规行为,将受到惩罚。在区块链分裂的情况下,如果一个分支有一个最终确定的检查点,那么另一个分支不能在更高的高度有一个批准的检查点,除非至少 1/3 的验证者违反规则 #2。为了理解其中的原因,假设区块链分裂为已批准的检查点 500→800 和 500→900,然后在第一个分支的某个点形成了最终检查点 1700→1800。由于 1700 和 1800 只能在叉 #1 上获得批准(假设 没有人违反第一条削减规则),fork #2 在 1800 之后形成批准检查点的唯一可能性是高度 <1700 和 >1800 之间是否存在某种链接,这是一个经过验证的链接。但由于这样的投票将是 1700→1800 链接的“三明治”,需要 2/3 的选票,而 2/3 的选票已经收集到 1700→1800,那么至少有 1/3 的验证者必须打破规则#2。Casper的官方描述中有一张描述这个属性的可视化图表:但由于这样的投票将是 1700→1800 链接的“三明治”,需要 2/3 的选票,而 2/3 的选票已经收集到 1700→1800,那么至少有 1/3 的验证者必须打破规则#2。Casper的官方描述中有一张描述这个属性的可视化图表:但由于这样的投票将是 1700→1800 链接的“三明治”,需要 2/3 的选票,而 2/3 的选票已经收集到 1700→1800,那么至少有 1/3 的验证者必须打破规则#2。Casper的官方描述中有一张描述这个属性的可视化图表:

比特币人的权益证明指南

就是这样 – 只要遵守 Casper 的规则,你就会没事的!

看起来很简单,对吧?当然,我确信 PoS 只会将削减作为维持共识的最后手段,而不是作为一种勒索机制来迫使验证者以某种方式行事……对吧?

比特币人的权益证明指南

这给我们带来了 PoS 的第三个原则:没有规则。“规则”是其他人所说的。

今天,您的节点可能在技术上遵循 Casper 的所有规则,明天您的储蓄可能会被提取 – 仅仅是因为您正在做其他人不喜欢的事情。你上次批准了红色交易的团队吗?明天,由“蓝队”组成的多数可能会削减您的存款。或者恰恰相反,您错过了太多红色交易?然后明天由“红人”组成的多数可以惩罚你进行审查。这种对参与者进行直接经济处罚的机会远远超过了 OFAC(美国外国资产控制办公室)适度的审查权力。PoS 就像一场持续不断的墨西哥对抗,其中始终隐含着 slashing 的威胁。

如果双方在有争议的硬分叉中硬编码另一个分叉的验证规则,我不会感到惊讶,以防万一他们想惩罚任何加入“错误”一方的人。当然,这将是“核”选项,而且与核武器一样,双方只能选择以报复报复。我建议大多数个人验证者是“中立的”,因为他们更喜欢财务上的自我保护而不是政治上的自我牺牲,但如果他们认为避免被削减是正确的举动,他们可能会表面上“站出来”。

现在是几奌?

现在,在对断点和削减有了基本的了解后,我们可以直接进入以太坊中使用的称为 Gasper 的算法。顾名思义,这是我们已经讨论过的 Casper 和 GHOST 的组合,GHOST 是一种在检查点之间选择“最佳”区块链的策略。

关于加斯帕,首先要了解的是,时间本身就是主要的自变量。现实世界的时间被分成十二秒单位,称为“时隙”,每个时隙最多包含一个块。这些时隙依次形成更大的组,称为纪元,每个纪元指一个检查点。每个纪元包含 32 个时隙,使它们长 6.4 分钟。值得注意的是,与 PoW 相比,这种范式颠倒了时间和区块生产之间的因果关系。在 PoW 中,创建块是因为找到了有效的哈希值,而不是因为自上一个哈希值以来已经过去了足够的时间。但是在 Gasper 中,块的产生是因为已经过去了足够的实时时间以移动到下一个插槽。我只能猜 这样的系统原则上会遇到什么复杂的同步错误,特别是如果我们谈论的不是在一台计算机上运行的一个程序,而是关于全世界数万台试图相互同步的计算机。我们只能希望以太坊的开发者熟悉程序员对时间的误解清单

现在,假设您正在运行验证器节点并首次同步区块链。仅从某些块引用某些时间戳的观察,您如何确定这些块实际上是在那个时间产生的?如果区块的形成不涉及任何额外的工作,那么一群恶意的验证者难道不能从创世区块本身完全模仿一个假区块链吗?如果你看到两个相互竞争的区块链,你如何确定哪个是真实的?

这将我们带到了 PoS 的第四个原则,即PoS 依赖于主观真理。根本没有客观的方法可以在两个竞争的区块链之间进行选择,网络上的任何新节点最终都必须信任一些现有的真相来源来解决任何歧义。这与比特币形成鲜明对比,在比特币中,“真正的”链始终是在其上完成最多工作的链。一千个节点可以将你指向分支 X,但如果一个节点广播分支 Y 并且它包含更多工作,那么 Y 就是真实状态。区块头可以证明自己的价值,完全不需要信任。

比特币人的权益证明指南

通过依赖主观真理,PoS 带回了对信任的需求。我承认我可能有些偏见,所以如果你想听听不同的观点,那么在这篇文章中Vitalik 描述了他的观点。我也承认,在实践中,根据 Casper 的规则,区块链分裂似乎不太可能,但即便如此,我对比特币感到安心,因为这种可能性根本不可能发生。

区块创建和投票

现在我们已经熟悉了时隙和纪元,那么各个区块是如何创建和投票的呢?在每个纪元开始时,全套验证器被“随机”分成 32 组,每个时隙一组。在每个时隙中,“随机”选择一个验证者作为区块生产者,其余的作为投票者(或“证明者”)。我将短语“随机”用引号括起来,因为这个过程必须是确定性的,因为每个人都必须唯一地同意相同的验证器集。然而,这个过程也必须是不可利用的,因为作为一个区块生产者是一个非常特权的位置,因为通过矿工可提取价值获得额外利润,或者现在称为最大可提取价值。以太坊是一个黑暗森林。

一旦一个区块被创建,其他验证者如何投票或“验证”它?块提议应该在时隙的前半部分(六秒)进行,而在后半部分进行评分,因此理论上评分者应该有足够的时间为他们的时隙块投票。但是,如果该区块的作者离线、未连接或构建在坏区块上,会发生什么情况?评估者的工作不一定是对该插槽的区块进行投票,而是在给定时间从他们的角度来看哪个区块“看起来最好”。在正常情况下,这通常是给定插槽中的块,但如果出现问题,则可能是较旧的块。但从技术角度来看,这意味着什么:哪个区块“看起来最好”?这就是 GHOST 算法的用武之地。

GHOST 代表“Greediest Heaviest Observed SubTree”,是一种“贪婪”递归算法,用于查找“最近活动”最多的块。本质上,该算法将所有最近的区块视为一棵树并遍历这棵树,贪婪地选择在该子分支上累积证明最多的分支。只有每个验证者的最新证明才计入此数量,最终该过程在其中一个叶块处停止。

比特币人的权益证明指南

证明不仅是对当前最佳区块的投票,也是对导致该区块的最近里程碑的投票。值得注意的是,在 Gasper 中,断点是基于纪元,而不是区块高度。每个纪元指的是一个控制块,它要么是那个纪元的第一个槽中的块,要么,如果那个槽被省略,就是那个槽之前的最后一个块。同一个区块在理论上可以是两个不同时期的检查点,如果时期以某种方式错过了所有时隙,所以检查点使用时期-区块对来表示。在下图中,EBB 代表 Epoch Boundary Block,代表特定 epoch 的检查点,

比特币人的权益证明指南

与 Casper 一样,当证明总数超过 2/3 时,检查点将获得批准,如果在下一个时代紧随其后的是另一个批准的检查点,则最终确定。下图显示了此投票如何工作的示例。

比特币人的权益证明指南

Gasper 的 slashing 有两个条件,类似于 Casper 的规则:

  1. 您不能在同一时代投票两次。
  2. 验证者投票支持的检查点不能与他们投票支持的其他时代的其他检查点相交或重叠。

尽管基于纪元而不是区块高度,Casper 的规则仍然确保在不削减 1/3 验证者的情况下,两个最终确定的检查点不会出现在区块链的不同分支上。

还值得注意的是,证明直接包含在块本身中。就像在 PoW 中,一个块用它自己的哈希来证明它的身份一样,在 PoS 中一个完整的检查点通过它过去的所有证明来证明它的身份。当有人违反罚没规则时,这些不良证明将包含在确认违规的区块中。为了激励惩罚违规者,对包含违规行为的区块生产者也有少量奖励。

叉子

想想发生分叉时会发生什么是很有趣的。简单提醒一下,分叉是共识规则的改变,分为硬分叉和软分叉两种。在硬分叉中,新规则不向后兼容,如果不是每个人都支持并安装实施新规则的更新,则可能导致两个竞争的区块链。在软分叉中,新规则比旧规则更具限制性,但保持向后兼容。一旦超过 50% 的矿工或验证者开始应用新规则,共识机制就会在不分裂区块链的情况下切换。软分叉通常与升级和新型交易有关,但从技术上讲,它们还包括 51% 多数人施加的任何类型的审查。PoS 中还存在第三种 PoW 中没有的“分叉”:在不改变其规则的情况下拆分区块链。但既然我们已经谈到了这一点,我们将专注于硬分叉和软分叉。

让我们从最简单的案例开始:一个单独的有争议的硬分叉。有争议的,我指的是在政治上分裂用户的变化。错误修复或微小的技术更改不太可能引起争议,但验证奖励的更改可能会引起争议。如果硬分叉有足够的争议,它可能会导致区块链的分裂,并且可以通过用户出售一条链并购买另一条链来经济地解决。这类似于 2017 年的比特币现金硬分叉,似乎有一个明显的赢家:

比特币人的权益证明指南

现在假设有一天,验证者认为他们没有得到足够的报酬,并决定将他们的奖励从 5%/年增加到 10%/年。这将是一个以牺牲非验证者为代价有利于验证者的明确权衡。如果发生区块链分裂,哪个分支会获胜?

这给我们带来了 PoS 的第五个原则:金钱就是力量。如下图所示,在流通的 1.2 亿 ETH 中,超过 10% 是抵押的。

比特币人的权益证明指南

如果验证者和非验证者之间发生有争议的硬分叉,假设所有非验证者都以市场价格抛售新链的代币,所有验证者都以市场价格抛售旧链的代币,那么旧链理论上会获胜,因为大部分 ETH 仍将属于非验证者(90% 对 10%)。但还有几点需要考虑。首先,在任何分裂之后,验证者仍将“控制”两个区块链。如果验证者可以影响另一个链,那么他们可能有兴趣看到它失败。其次,还有一个“核选项”,正如我上面提到的,新链可以削减(移除质押抵押品)所有继续验证旧链的人,以迫使他们加入新链。最后,验证者可能会对网络的其余部分产生重大的社会和政治影响。如果 Vitalik、以太坊基金会和交易所一致决定增加质押奖励,我很难相信普通的以太坊用户和验证者能够保留旧版本的区块链,并使它通过购买压力变得更有价值。

转向软分叉,在有争议的软分叉中会发生什么,例如那些满足 OFAC 审查要求的软分叉?验证器相当集中,如下图所示。

比特币人的权益证明指南

与 PoW 不同,矿工只需点击几个按钮就可以从一个池切换到另一个池,在以太坊中,验证者被绑定到一个 staking 合约,直到他们的退出交易被处理。如果 Lido 和领先的交易所被迫审查某些交易,他们将轻松克服决定检查点所需的 2/3 多数。我们之前看到 Vitalik 和其他 ETH 验证者如何尝试通过形成自己的反审查硬分叉来对抗“审查”软分叉,并在此过程中破坏审查者的承诺。但即使他们成功创建了一个分叉,很多价值也会在此过程中被破坏,包括削减和失去信任。

最后

在这篇文章中,我们研究了 PoS 如何使用 Gasper 解决双重支出问题,Gasper 是一种称为 Casper 的协议(它定义了关于检查点和罚没的规则)和一种称为 GHOST 的“最佳区块”选择规则的组合。简单提醒一下,Gasper 将时间划分为称为 slot 的单元,每个 slot 最多包含一个区块,slot 被分组为 epoch,每个 epoch 代表一个控制点。如果 2/3 多数投票赞成一个里程碑,它就会被批准(或“合理”,原始合理),如果连续两个里程碑以最小间隔成功批准,则第一个被视为最终确定。一旦检查点最终确定,就不可能最终确定平行链,

在这个过程中,我们确定了 PoS 的五个原则:

  1. PoS 使用负的(基于惩罚的)激励结构。
  2. PoS 是一个具有不同访问级别的系统。
  3. PoS 中没有明确的规则。
  4. PoS 依赖于主观真理。
  5. 在 PoS 中,金钱就是力量。

而这些原则中的每一个都是 PoW 的对立面:

  1. PoW 使用积极的(基于奖励的)激励系统。
  2. PoW 是一个没有访问级别的系统:任何人都可以随时开始或停止挖矿。
  3. 在 PoW 中,改变规则的分叉将被忽略。
  4. PoW 依赖于客观事实。
  5. 在 PoW 中,矿工为用户服务,自己的权力很小。

我相信每个人都应该努力创造一个他自己愿意生活的世界。如果你像我一样,想生活在一个没有不同级别访问权限的世界,在那里你可以控制你的钱,努力工作会得到回报,被动拥有是一种责任,你的钱在未来很长一段时间内都可以保值,而无需改变谁是一时兴起,那么你应该仔细考虑 PoW 和 PoS 之间的妥协,并为你想要的生活原则而战。

 

给TA打赏
共{{data.count}}人
人已打赏
区块链资讯

DAO 不是公司:自治组织的权力下放很重要

2022-9-21 21:50:46

区块链资讯

七个免费的加密站点立即加入书签

2022-9-30 21:54:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索