为避免用户混淆,以太坊社区决定不再使用 Eth1、Eth2 这些术语,并将 Eth1 更名为执行层,Eth2 更名为共识层,有关以太坊升级(原名 ETH 2.0)的最新介绍请点此查看。
imToken 将于近期在钱包中深度集成 InfStones 提供的非托管 Eth2 质押服务,即将上线,敬请期待。
原文:The Tokenomics of Staking Pools. What Are Staked ETH Tokens and How Do They Work?
作者:StakeWise
译者:Daisy
对原文略有删改
Eth2 信标链上线已近 5 个月,在此期间涌现了大量的第三方质押平台,从币安等交易所到 Rocket Pool 和 StakeWise 这样的 DeFi 项目。尽管他们提供的质押方案在多个维度上均有差异,有一个点却是相同的:都在尝试解决普通用户质押 ETH 时遇到的问题。这些问题具体是什么呢?
- 质押 ETH 的技术复杂性超出了普通用户的技能范围;
- 普通用户难以满足 32 个 ETH 的质押数额要求;
- 质押的 ETH 有约 18-24 个月的锁定期。
这 3 个问题加总起来,足以让大部分普通用户望而却步。那么质押池方案如何解决这些问题呢?
质押池的解决方案
为了解决以上这些问题,Eth2 质押池诞生了。用户以「拼单」的方式将 ETH 投入质押池,质押池代表用户运营 Eth2 节点,这样一来无论用户的技术水平和存款规模如何,都能参与 Eth2 质押并获得收益。
此外,质押池还尝试通过在 Eth1 上铸造质押池代币以解决 ETH 被锁定的流动性问题,这些代币代表着用户在 Eth2 质押的本金和收益。用户还可以在 Uniswap 等二级市场上将代币兑换成 ETH 提前退出质押,或将代币作为 Aave 这类 DeFi 项目中的抵押品提高资金利用率。
然而不同质押池方案的代币机制各不相同。例如,Lido 的 stETH 代币与 StakeWise 的 sETH2 代币并不相同,因此在二级市场上的定价也应该是不同的。同时,Rocket Pool 的 rETH 与 stETH,CREAM 的 crETH2 和 Stkr 的 aETH 等也不尽相同。
但如果对这些差异进行分类和评估,可以发现不同质押池方案的特色及其适合人群。此外,这种比较分析为质押池代币的估值奠定了基础,从而更好地进行价格发现。
质押池代币模型
质押池代币模型分为两类:一种是单代币模型,通过一个代币代表质押的本金和收益,另一种是双代币模型,将质押的本金和收益分别用 2 种不同的代币来表示。
单代币模型
单代币模型基于代币再平衡 / 再定价的概念。也许是由于机制足够简单,它是当前最流行,被大多数质押池采纳的机制。当用户将 ETH 存入质押池,池子会铸造一个代币代表用户的本金和奖励 / 惩罚的累加值。它可以通过 2 种方式实现:
- 通过调整代币余额,即再平衡,来反映用户质押收到的奖励 / 惩罚。用户可以在阶段 1.5 通过该代币等比例兑换质押池中的 ETH。
- 通过调整代币价格,即再定价,来反映用户质押收到的奖励 / 惩罚。用户可在阶段 1.5 通过该代币按实时定价兑换质押池中的 ETH。
举个例子
- 余额变化:用户在池子里质押 1 个 ETH ,得到 1 个代表质押的 sETH(s 代表 staked) 代币。
随着质押池中奖励或惩罚的累积,池子中每个参与者的代币余额也会相应发生变化,例如当用户在池中有 1.1 个 ETH,那么对应的地址上 sETH 代币余额也为 1.1。因此,用户的质押收益会通过地址中不断增加的代币余额呈现,这个代币是由质押池铸造的。在阶段 1.5,这些 sETH 代币可以等比例兑换成 ETH。
- 价格变化:用户在池子里质押 1 个 ETH,按照当时 ETH/sETH 代币的兑换汇率得到 sETH 代币。
兑换汇率由质押池中 ETH 和 sETH 代币总供应量的比例决定,并会根据池子累积的奖惩金额而变化。
假设用户初始质押时的汇率为 1,即质押池还没有获得任何奖励,1 ETH = 1 sETH。随着池子中奖励和惩罚累积,用户的 sETH 代币余额将保持不变,但现在每个代币可兑换的 ETH 比例将发生变化。换句话说,1 个 sETH 代币可能等于池中的 1.1 个 ETH。
因此,每个 sETH 代币的价格从 1 ETH 变成了 1.1 ETH,通过价格反映质押收益。在阶段 1.5,用户可以按照最终的 ETH/sETH 比例将所有 sETH 代币兑换成池中的 ETH。
Rocket Pool、CREAM、Stkr 和 StaFi 采用的都是价格变化这种方式。
不论是通过余额还是价格来反映累积收益,它们有一个共同点:用单个代币表示质押本金和收益。这意味着,当用户通过质押获得该代币,或者在市场上买入或卖出该代币时,就是在接收 / 卖出质押本金和收益。
双代币模型
双代币模型中代表本金和收益的是两个不同的代币,但同样基于代币再平衡的概念。
你向质押池中存入的本金会反映在代表存款的 ETH 代币(sETH)上。和其他再平衡代币一样,它与你质押的 ETH 以 1:1 的比例进行铸币。
地址中代表本金的 sETH 代币不会增加,你的质押奖励会等比例反映在 rETH(r 表示 reward 奖励)代币上。sETH 和 rETH 共同构成了你的质押余额,两者都可以在以太坊上自由转移,也可以像单代币模型中的代币一样被用于智能合约。
举个例子
用户在池子里质押 1 个 ETH 可获得 1 个 sETH。随着池中奖励的增长,sETH 的余额仍保持不变,但它在地址中的存在将触发 rETH 的累积。只要用户继续持有 sETH 代币,rETH 的累积就会继续。在阶段 1.5,sETH 和 rETH 代币都可等比例兑换池中的 ETH。
StakeWise 是目前唯一一个使用双代币模型的质押池。
双代币模型创造出了一种类似于动态债券的新型混合工具,然而不同的是,它将质押余额分离为具有不同价值累积和现金流预期(本金和利息)的工具,从而帮助用户更高效、更灵活地管理自己的资产。
例如,rETH 实际上可以在 STRIPs 市场逐步出售给那些希望从质押中获得利息敞口,但又不想亲自参与质押的用户。
质押池代币的运行机制
不同质押池代币 sETH 的核心工作原理有着微妙的不同,但产生的影响是深远的。
链下预言机
为了提供有效的流动性解决方案,sETH 必须准确反映用户质押的 ETH 价值。这就要求质押池始终有正确数量的 ETH 支持 sETH 代币的铸造发行。质押池可以根据其验证者在信标链中的余额进行准确的代币铸造。
不幸的是,铸造代币的 ERC-20 合约与验证者的余额并不在同一个区块链上,Eth1 链上的代币合约无法直接同步信标链上验证者的余额。质押池需要通过链下预言机来克服这个问题,其工作原理类似于 Chainlink。
通信方式如下:首先,预言机操作者必须同时运行 Eth1 和 Eth2 节点,才能同时与两条链进行通信。当两个节点都启动后,预言机将从信标链上收集属于某个特定质押池的验证者信息,并将其上传至 Eth1 链上的 ERC-20 合约。信标链的信息一旦被提交至 ERC-20 合约,sETH 代币的数量(或铸造新代币的汇率)就会根据验证者余额的变化而更新。这种变化既可以是向上的,也可以是向下的,取决于余额是增长(即获得奖励)还是下降(即受到惩罚)。
但链下预言机有一个缺陷:预言机操作者掌握着代币余额的控制权。为了缓解这一问题,质押池运营商要求多个预言机同时提交相同的信息,以便通过共识机制更新代币余额,并将预言机分布在独立实体之间,实现一定程度的去中心化。
不过,这些解决方案仍不够理想,建议用户在选择质押池时检查其是否以足够去中心化的方式运行预言机。
余额更新频率
在 ERC-20 合约中,每一次代币余额更新都需要支付一笔矿工费,为了节省这笔支出,大多数服务提供商会选择每 24 小时更新一次代币余额。很多人认为这个频率已经足够了,因为单日质押收益率相当低(从每天 0.005% 到 0.063% 不等),频繁更新是没有必要的。
然而,在发生大规模 slash 事件时,每 24 小时更新一次的频率可能就太低了。当验证者被 slash 惩罚,会在几分钟内造成大规模损失(极端情况下,所有质押余额都会被罚没)。如果质押池的多名验证者同时被 slash 惩罚,每 24 小时更新一次的频率将会造成灾难性后果。
任何用户都可以通过信标链浏览器追踪质押池的验证者在每个 epoch 里的数额,并在质押池代币通过价格或数量反映出来之前,预先知道自己的质押余额已经大幅下降。一旦持有质押池代币的用户意识到池子里的 ETH 与质押池代币的供应量不匹配,他们就会抢跑 ERC-20 合约,将质押池代币抛到二级市场上套出 ETH,让毫无戒备的流动性提供者蒙受永久性损失,并对被 slash 惩罚的质押池造成巨大风险。
为了避免这种情况,质押池可以调高 ERC-20 合约的更新频率,在矿工费成本和 slash 余额错配风险之间找到平衡点。质押池可能还没准备好更频繁地更新代币余额(更不用说每个 epoch 更新一次了!)。相反,他们更愿意专注于通过改进安全程序来降低被 slash 的风险,或者准备只在 slash 事件真正发生时调高更新频率。
因此,建议质押池的用户和流动性提供者监控与其相关的质押池的验证者余额。未来,像Beaconcha.in 这样的服务很可能会提供订阅 slash 事件的通知,有助于市场更快地消解 slash 信息,使 ETH 质押池代币在二级市场流转更高效。
收入和损失的社会化
所有的质押池都会根据用户的存款规模与质押池存款总额按比例分配质押收入和损失。这样做的目的是为了避免一些用户由于被随机分配到的验证者表现比其他验证者差,导致这些用户赚得更少的情况。假设所有的质押池验证者都诚实行事,那么主要差异就来自于一些验证者被更高频地随机选中打包交易从而获得更多奖励。因此,收入社会化似乎是一项公平的方案。
然而,收入社会化在不同质押池参与者之间仍然存在一定程度的不公平,特别是等待 Eth2 验证者激活的队列(在撰写本文时,激活等待期约 19 天)。举个例子,验证者所获得的奖励总额是由所有 sETH 代币持有者共享的,而新用户参与质押时无需等待激活就可以获得 sETH 收益。
因此,sETH 代币持有者的年化收益率与质押池验证者的平均年化收益率是不同的,我们对此应有了解。
这种设计有利有弊。一方面,对刚质押的新用户而言,他们可以绕过激活等待期赚取收益。另一方面如果质押池验证者被 slash 惩罚,新用户也会蒙受损失。
收取服务费
质押池的服务费通常在其为用户所赚取收益的在 8%~23% 之间。在分配用户收益时,服务费会被扣除,直接反映在 sETH 代币余额的增长上。
例如,有两个机制相同、验证者表现相同的质押池,服务费较低的质押池发行的代币自然会比费用较高的质押池发行的代币有更好的收益率。
评估不同代币在二级市场的价格以及在 DeFi 应用中的表现时,这一点是最重要的。净收益的变化将导致不同 sETH 代币的价格差异,即使在流动性深度相同的情况下,费用较低的代币可兑换的 ETH 更多。
收益再质押
对于质押收益存在着一个普遍的误解,有不少用户认为质押池会自动将质押获得的收益再投入质押,获得复合收益率。但在当前的 Eth2 规范中,收益自动再质押是不可能实现的,用户应该警惕任何声称原生支持收益再质押的池子。当到了阶段 1.5,也就是用户能从验证者那里提取收益时,质押池的收益再质押和复利收益率才能实现。我们距离那个时刻还有大约 18 个月,期间请大家务必小心虚假广告。
尽管无法原生支持,但使用双代币模型的质押池可以手动实现收益再质押。这类池子的用户可以将自己的质押收益与本金分开出售,将收益重新投入质押。只要 rETH 代币在二级市场上不折价出售,他们甚至可以实现复合收益率。
最后
希望通过这篇文章,你可以了解不同质押池的代币机制。
如果对于其他 Eth2 质押方案感兴趣,也可以阅读这篇内容。