以太坊的现状可以描述为包括很大一部分新兴的两级质押。我所说的两级质押是指一种质押模型,其中有两类参与者:" O, d0 F0 D- | a A
- 节点运营商,他们运行节点并以自己的声誉或自己的固定金额资本作为抵押。
- 委托人提供一定数量的 ETH,没有最低承诺,也没有严格要求除了携带抵押品之外以任何其他方式参与。3 P. w" U1 c( [% @, @5 X% L0 M
现状有两个主要缺陷:0 r) N, z0 R/ F- u- V$ t
- 节点运营商的中心化风险。现有质押池中选择节点运营商的机制要么不是非常去中心化,要么存在其他缺陷。
- 无需共识层负担。以太坊 L1 每个时期验证约 800,000 个签名,并且单时隙最终确定性可能会增加到每个时隙800,000 个。这是一个很大的负载。此外,由于流动质押的份额很大,网络并没有获得承担这种负载的全部好处。如果网络可以达到可接受的去中心化和安全性,而不需要每个利益相关者在每个时隙中签名,那么我们可以更加依赖该解决方案,并将每个时隙签名的数量减少到例如。10,000。0 i+ g! L7 L8 \
如今两级质押如何运作?当今两个最受欢迎的去中心化质押池 Lido 和 RocketPool 都在创建新兴的两层质押生态系统。在 Lido 的例子中,层次是:' O- Z; w( g2 T9 W
- 节点运营商:这些节点运营商是通过 Lido DAO 中的投票选出的,因此实际上是由 LDO 持有者选出的。
- 委托人:持有 stETH 的人。当有人将 ETH 存入 Lido 智能合约系统时,就会创建 stETH,该系统允许节点运营商将其抵押(但是,由于提款凭证绑定到智能合约 ETH 地址,因此他们无法将其据为己有)。: B0 p/ t* |7 Z6 Q9 r7 {# Z. G
- 节点运营商:任何人都可以通过提交 8 ETH 存款以及一定数量的 RPL 代币来成为节点运营商。
- 委托人:持有 rETH 的人。当有人将 ETH 存入 Rocket Pool 智能合约系统时,rETH 就会被创建,该系统允许节点运营商将其抵押(但不能为自己拿走)。
代表的角色在这些系统(或由未来潜在的协议变更启用的新系统)中,要问的一个关键问题是:从协议的角度来看,拥有委托人到底有什么意义?! a3 _3 s& V0 R* w: B& X
为了了解为什么这个问题有意义,让我们考虑以下世界。最近这篇文章中提出的将削减惩罚限制为 2 ETH 的协议变更已经实施。作为回应,Rocket Pool 将节点运营商押金减少至 2 ETH。Rocket Pool 的市场份额增加至 100%(不仅在质押者之间,而且在ETH 持有者中:随着 rETH 变得无风险,几乎所有 ETH 持有者都成为 rETH 持有者或节点运营商)。4 G( j- D1 \- D. M
假设 rETH 持有者获得 3% 的回报(包括协议内奖励和优先费 + MEV),节点运营者获得 4% 的回报。我们还假设 ETH 的总供应量为 1 亿。8 i8 U. ~8 f& B3 s- W
数学是这样计算的。为了避免处理复利,我们将查看每日收益而不是每年收益,以便二阶项变得小到可以忽略:; d9 n* M* O S$ t& U' ]5 w& n
- 节点操作员投入的 ETH:100M ∗ 2/32 = 6.25M
- 以 rETH 质押的 ETH:100M − 6.25M = 93.75M
- 节点操作员每日名义收益率:0.04/365.25 = 0.01095%
- 代表名义回报:0.03/365.25 = 0.00821%
- ETH 供应增长:6.25M ∗ 0.0001095 + 93.75 M ∗ 0.0000821 ≈ 8380
- 节点运营商持有的 ETH 供应总量百分比变化:(1.0001095/1/0000838) − 1 = 0.00257%
- 代表持有的 ETH 总供应量的百分比变化:(1.0000821/1.0000838) − 1 = − 0.00017%
- 已质押的 ETH:6.25 M
- 质押者名义日回报率:0.01/365.25 = 0.00274%
- ETH 供应增长:6.25M ∗ 0.0000274 ≈ 170
- 质押者持有的 ETH 总供应量的百分比变化:(1.0000274/1.0000017) − 1 = 0.00257%
- 非质押者持有的 ETH 总供应量的百分比变化:(1/1/0000017) − 1 = − 0.00017%; C1 L- U o& A# S& Y3 d' P- u
无论从质押经济学的角度,还是从攻击成本的角度来看,这两种情况的最终结果都是完全相同的。节点运营者持有的 ETH 供应量份额每天增加 0.00256%,非节点运营者持有的 ETH 供应量份额每天减少 0.00017%。攻击成本为208万ETH。因此,在这个模型中,委托似乎变成了一台毫无意义的 Rube Goldberg 机器:我们不妨剔除中间人,并大幅减少质押奖励,并将质押总 ETH 上限限制为 625 万。
这一论点的目的并不是提倡将质押奖励减少 4 倍,并将质押 ETH 总量限制在 625 万个。相反,它是指出一个运作良好的质押系统应该具备的一个关键属性:即委托人应该做一些真正重要的事情。此外,如果委托者在很大程度上受到社区压力和利他主义的激励而采取正确的行动,那也没关系;毕竟,这是促使人们选择去中心化的安全增强(但需要付出更大努力)方式的主要力量,而不是今天集中的威胁安全(但需要付出更少努力)的方式。! N9 H# D2 c- X5 J( t
如果委托人可以发挥有意义的作用,那么这个作用可能是什么?我看到两类答案:- L. T$ ]! E! s0 I6 f7 h$ r O
- 代表选择:代表可以选择将其权益委托给哪些节点运营商。节点运营商将在共识中拥有一个“权重”,该“权重”与委托给他们的总权益成正比。今天,代表选择已经以有限的形式存在,从某种意义上说,rETH 或 stETH 持有者可以提取他们的 ETH 并切换到不同的池,但代表选择的实际可用性可以大大提高。
- 共识参与:委托人可以选择在共识中扮演一个角色,这将比全额质押“更轻”,并且不受长时间提款和大幅风险的影响,但仍将起到对节点运营商的检查作用。许多委托人不想这样做,并且更喜欢最简单的界面,即持有 ERC20 并且不做任何其他事情,但有些人会选择这个选项。, }/ R8 k8 p$ ~& H) N2 T
扩大代表选择权扩大代表选举权的方式有以下三种:
- 池内更好的投票工具
- 矿池之间的竞争更加激烈
- 受封代表团
如今跨池竞争仍然存在,但很弱。主要挑战是较小的质押池的质押代币 (i) 流动性较差,(ii) 更难信任,以及 (iii) 应用程序支持较少。
我们可以通过将削减处罚限制在较小的数额来改进前两个问题,例如。2 或 4 以太币。然后,剩余的(不可削减的)ETH 可以安全地存入和立即提取,从而使基于 ETH 的 LST 可以与 ETH 进行双向兑换,即使对于最小的矿池也是如此。我们可以通过为 LST 创建一个集中发行合约来改进第三个问题——有点类似于钱包的ERC-4337和ERC-6900 ,这样我们就可以保证通过该合约发行的任何质押代币都是安全的。强烈鼓励应用程序(例如支持质押 ETH 的RAI版本)支持通过该注册表发行的所有质押代币。, S! l( l/ X- w6 q% {. h9 \( S8 f. u( i: X7 k
目前协议中不存在神圣委托,但可能会引入。它将涉及与上述想法类似的逻辑,但在协议级别实现。请参阅这篇文章,了解供奉事物的优点和缺点。
所有这些想法都是对现状的改进,但它们所能提供的好处是有限的。代币投票治理很糟糕,最终任何形式的无激励代表选择都只是代币投票的一种;从一开始,这就是我对委托权益证明感到不舒服的主要原因。因此,考虑实现更强有力的共识参与形式似乎很有价值。& I* o2 j8 V+ R7 F
共识参与即使不考虑当前围绕流动质押的问题,目前的单独质押方法也存在局限性。假设单时隙最终确定,我们的最佳估计表明每个时隙可以处理的 BLS 签名的限制为 ~100k - 1M,并且假设时隙时间显着增加。即使我们使用递归 SNARK 来聚合签名,签名责任(出于削减目的)也需要每个签名都有一个参与人员的位字段。如果以太坊成为一个全球规模的网络,那么即使以某种方式使用完整的 danksharding 来存储位字段也是不够的:每个插槽 16 MB 只能支持约 6400 万质押者。
在这里,从这个角度来看,将质押分成较高复杂性的可大幅削减层也是有价值的,该层在每个时段都起作用,但可能只有 10,000 名参与者,而较低复杂性的层只是偶尔被召集来参与。较低复杂性的层可以完全免除削减,或者可以随机地为其参与者提供临时(即几个时段)存款并受到削减的机会。; o3 k9 ^; g7 J: b8 Y5 o5 e2 |
在实践中,这可以通过提高验证者余额上限来实现,然后实施余额阈值(例如 2048 ETH)来确定哪些现有验证者进入较高或较低复杂性层。! K2 O' c# g5 q) v
以下是关于这些小额角色如何运作的一些想法:
- 每个插槽随机选择 10000 个小股东,他们可以在他们认为是该插槽的头部的内容上签名。LMD GHOST 分叉选择规则是使用小质押者作为输入来运行的。如果小股东驱动的分叉选择和节点操作员驱动的分叉选择出现分歧,则用户的客户端不会接受任何最终确定的区块,并显示错误。这迫使社区对这种情况进行调解。
- 委托人可以发送一笔交易,向网络声明他们在线并愿意在接下来的一个小时内充当小股东。对于来自节点的消息(块或证明)进行计数,节点和随机选择的委托人都必须签名。
- 委托人可以发送一笔交易,向网络声明他们在线并愿意在接下来的一个小时内充当小股东。每个时期,随机选择 10 名委托人作为包含列表提供者,并选择 10000 名以上作为投票人。这些是提前选择的 k 个时隙,并给予 k 个时隙窗口来在链上发布消息,确认它们在线。每个已确认的所选包含列表提供者都可以发布一个包含列表,并且一个区块无效,除非对于每个包含列表,它要么 (i) 包含该包含列表中的交易,或者 (ii) 它包含来自 1/2 所选列表的投票选民显示包含列表不可用。' Q' H" e- P+ p5 ~7 o7 s
这些小质押角色也都有一个共同的目标:它们阻止 51% 的大多数节点运营商参与交易审查。第一个和第二个也阻止大多数人参与最终性逆转。第三种更直接地关注审查制度,尽管它更容易受到大多数节点运营商也选择审查包含列表提供者确认消息的可能性的影响。# i0 V/ }$ a. {, i% h
这些想法是从协议中实现的两层质押解决方案的角度编写的,但它们也可以作为质押池功能来实现。下面是一些具体的实现思路:
- 在协议层面上,每个验证者都可以指定两个定约密钥:一个是持久定约密钥 P,另一个是以太坊地址,调用该地址时会输出一个快速定约密钥 Q。节点会跟踪由 P 密钥签名的消息和由 Q 密钥签名的消息的分叉选择;如果两者不一致,节点就不接受任何已敲定的区块。标记池负责随机选择代表作为当前时段的 Q 密钥持有者。
- 或者,协议可以基本保持不变,但该验证者在该时段的公钥将被设置为 P+Q。需要注意的是,对于切分来说,两个可切分信息可能有不同的 Q 密钥,但它们会有相同的 P 密钥;切分设计需要处理这个问题。
- 或者,Q 密钥只能在协议中使用,以签署和验证区块中的包含列表。在这种情况下,Q 可以是一个智能合约,而不是单个密钥,因此池可以用它来实现更复杂的投票逻辑,既可以接受随机选择的提供者提供的包含列表,也可以接受足够多的投票,说明包含列表不可用。
结论如果做得好,调整赌注设计可以解决一石两鸟的问题:
- 为今天没有资源或能力进行单独质押的人提供参与质押的机会,从而让他们掌握更多权力:(i) 选择他们支持的节点的权力和(ii) 积极参与的权力在某种程度上达成共识比完全质押节点操作要轻,但仍然有意义。并非所有参与者都会选择其中一种或两种选择,但任何选择都会显着改善现状。
- 将以太坊共识层在每个时隙中需要处理的签名数量减少到更小的数字,例如约 10,000 个,即使是在单时隙最终性机制中也是如此。这也将有助于去中心化,让每个人都更容易运行验证节点。, A/ }3 u# g, o/ f2 C8 c9 i