

撰文:0xTodd,Nothing Research 合伙人
今天借着 Kraken 暂停 Staking 这个新闻,想做一个 Staking 的科普&分析:
本质上,Staking 最重要的就是看 2 把私钥的归属权。
由于 2 把私钥的归属权不同,又诞生了 4 类 Staking 方案。
我相信有这篇文章后,你对于 Lido,Rocket,Coinbase,Kraken,SSV 以及 Ebunker 能有一个更深的理解。
如果把以太坊看作是一家公司的话,负责 Staking 的验证者(Validator)就是员工。它的工作就是验证交易的合法性,然后打包区块上链(虽然构建区块这活儿,如今也已经慢慢外包给 MEV 服务商了)。
首先,作为验证者,你需要证明你的员工身份。毕竟不是谁都可以来随便验证,交了 32 枚 ETH 押金后,你需要持证上岗(即:【验证 key】)。理论上,做 Staking 的第一步就是创建一个验证 key。随后,你拿着你的验证 key,也就是你的工作证,才能给每一个交易盖戳。
第二,以太坊贴心地设计出了第二把私钥,用于接收刚刚提到的押金(32 ETH)。当你去做验证者时,你会要填一个“提现地址”。它是未来你提取本金和工资的地址,而那个地址的私钥理论上应当在你的手里(即:【提现 key】)。打个比方,这是你的工资卡。
这样 2 把私钥:①验证key(工作证)、②提现key(工资卡)的用途,我想大家都明白了。
接下来,根据 2 把私钥的不同归属,才诞生了四种 Staking 解决方案:
-CEX 类
-大池子类(Pooled Staking)
-SaaS 类(Staking as a Service)
-Solo 类
如果你使用交易所 Staking 方案,例如 Binance,Coinbase 或者今天刚宣布停止 Staking 服务的 Kraken。你会发现,你根本没有创建过【验证 key】,也没有填过【提现 key】,那这种就是标准的“全托管”。
那这两把钥匙分别在哪呢?
验证 key 在 Binance Pool 或 Coinbase Pool
提现 key 则在 Binance 和 CB 的冷钱包。
你根本不用上班(参与验证),工资卡也给了交易所帮你保管。这种方案最省心,而且有保底。
但是不适用于对去中心化有追求的人,毕竟 FUD 三天两头有,而且现在看美国甚至可能不允许你这样搞。
这就是 Lido 和 Rocket Pool 的 Staking 方案。你仍然不用创建那两把 keys,由 Lido 和 Rocket 管理,那它和交易所的区别在哪呢?
交易所:显然,它旗下就1家运营商,即自己。
Lido:Lido 1.0旗下有29家运营商,Lido把ETH都委由他们管理,所以验证key是相对分散的,29家运营商各拿一些。等于说Lido是个集团,旗下强力打工天团29人,你自己不用打工,让打工团专业人士帮你上班。所以运营商抽 5% 分成,Lido 再抽 5%。
Rocket Pool:Rocket Pool旗下可以有无数家运营商,任何人带着机器/云服务器+16个ETH都可以来当运营商。等于说Rocket Pool是众包平台,旗下一堆美团骑手,自带电动车(机器/云服务器)和机房,帮你跑节点。理所当然,他们也要抽成。
这里有必要再补充一个原理:Staking 提现到底是个什么流程?我之前的帖子又简单介绍过上海升级以及提现。
众所周知,以太坊是两条链:
以太坊1.0(执行层)
Beacon Chain(共识层)
当你去 Stake 时,第一步是把 ETH 汇款到以太坊 1.0 Beacon 金库地址锁仓,然后 Beacon Chain 给你在共识层生成对应的 ETH。
注意这些 ETH 是锁住,而非在 1.0 上销毁或是被跨链到 beacon chain 上,它只是锁住-映射而已。 示意图如下:
而上海升级后,提现将是一种新的交易类型。当你提现时:
1.你的节点通知Beacon Chain,发出提现信号。
2.排队。
3.排队到你后,Beacon Chain通知以太坊1.0的金库。
4.以太坊1.0的金库地址给你指定的地址汇款,比如0xTodd.eth。
所以,所谓我的【提现key】,本质上是"0xTodd.eth"这个地址的私钥。
而 Lido\Rocket 的提现,是又多包了 3 层:
1.你通知Lido\RPL,我要提现。
2.Lido\RPL通知运营商,某某节点要提现。
3.运营商通知Beacon Chain,某某节点要提现。
4.排队。
5.Beacon Chain通知以太坊1.0金库。
6.以太坊1.0的金库地址给Lido\RPL提现金库汇款。
7.你销毁stETH\rETH,Lido\RPL智能合约给你地址汇款。
PS:如果换成交易所,第 7 步就是 CZ\阿姆斯特朗给你的 Binance\Coinbase 中心账户直接加余额。
对于大池子类方案,第 1、4、5、6、7 步都无懈可击,是纯粹链上操作。
而薄弱环节在第 2、3 步。
理论上,大池子类方案可以拒绝你的提现,比如你因为使用龙卷风被美国 OAFC 制裁了,那么第 2、3 步不给你传信就能做到。
我为什么叫它“大池子”方案,因为它所有节点的提现地址,填的都是同一个地址,即Lido\RPL的提现金库智能合约地址。
当然,对于 CEX 而言,它们仍然有较大的进步。
但是由于第 2、3 步的操作空间的存在,也让这类方案成为了一个很接近“全托管”的方案。毕竟,提现 key 理论上仍然为大池子所有,你手中持有的只是“提现地址”的“提现地址”。
所以,对于不掌握最终资金去向的方案,我都倾向于划归“全托管”。
部分 Rocket Pool 支持者经常声称它是完全去中心化的,这个广告语深入人心。
但是当你看完此文章,你会知道,它是在验证 key 部分,做到了去中心化,任何人都可以当验证者(Lido V2 也正在努力实现)。
而在提现 key 这个部分,作为用户,仍然无法参与,你的资产仍然静静地躺在第三方的钱包当中。
当然,Lido、Rocket Pool 相比交易所来说,仅多操作一两步,却更加去中心化,仍是不错的折中方案。尤其是 Lido,stETH 流动性非常赞(目前远超其他所有LSD方案),是重要加分项。
到了第三步,Staking 就更加原教旨主义了。我个人是有一定的去中心化洁癖的,尤其是经历了一系列 CEX 暴雷后。
刚才做了比喻,验证 key 是工作证;提现 key 是工资卡。那么,人们天然就会想,有没有一种方案,就让别人替我打工,同时我自己领工资呢?
现实生活没有这种美事儿,但以太坊网络有,就是 SaaS 或叫 VaaS(Validator as a Service)。我们以非托管矿池@ebunker_eth为例。
我们首先要做的,是把验证 key 做成 keystore 给到 Ebunker Pool。接下来,由专业矿池来维护这个节点的出块。同时,提现地址填我自己的,即我掌握最终以太坊的提现权。
总结下:
【验证key】,我和矿池各一份;
【提现key】,只有我有。
即:矿池打工/我拿钱/矿池拿抽成。
这个方案和大池子类有什么区别呢?区别在:
Pooled类,提现地址是统一的(即Lido\RPL金库),所以它是“大池子”。
SaaS类,提现地址是每个人都填自己的,所以它是“小池子”。
PS:大池子,小池子的说法是我起的,我觉得这个很形象,便于理解。
那你可能会问,那像SaaS类,如果矿池不帮你去Beacon chain广播,你还是无法提现啊?
关键来了,因为你手里有你的【验证key】,如果最差情况发生,例如矿池rug了,你还可以亲自去跑这个节点,亲自广播。
同时,你手里还有【提现key】,所以你可以亲自提现,完好无损取回本金。
而在大池子类方案里,最坏情况发生后,你是没有这个能力的,因为你既没有【验证key】也没有【提现key】。
那你可能会问第二个问题,SaaS方案中,小池子矿池能否做到卷我钱跑路?
这是以太坊Staking设计的精巧之处,因为你在创建节点时,会填入自己的提现地址,矿池无法篡改它。所以,即便矿池rug了,你的本金绝对无法被矿池拿走,因为偷走它的难度≈攻击以太坊本身。
而在大池子方案里,最坏情况发生后,理论上它可以携款跑路。很简单,它只要升级它的金库合约,将它的ownership转移给攻击者。当然这是最坏情形,发生的概率很小。
为了反制这一点,Lido引入了多签来管理智能合约升级;而Rocker Pool似乎对此事讳莫如深,暂时没有找到它讨论合约升级的相关内容。
所以,对于不想打工(毕竟7*24运维节点不是个轻松活),又有安全性要求(不给第三方管理资金),选择SaaS服务是个不错的选择。除了@ebunker_eth之外,还有一些矿池提供类似的“非托管”服务,可以到Rated上查询。
当然,缺点也有,所有的非托管 SaaS 类,均没有 LSD 方案。
道理也很浅显,人家不掌握你的私钥,怎么敢给你发存折(LSD)?当然,有些 SaaS 矿池也会提供大池子方案,大池子方案就可以给 LSD。
再用精简的话说:谁掌握私钥决定了是否可以 LSD。CEX、大池子方案都可以,小池子,Solo 都不行。
上海升级后,以太坊提现最久 1-2 个月,SaaS 类小池子方案,流动性也得到了一定的保障,所以,这也是我个人最喜欢的方案,省心/稍费事/不把私钥给别人/APR 不错。
最后,给大家介绍一下最终的圣杯,Solo Staking。
Solo 顾名思义,自己玩,不引入任何第三方,去中心化和安全性拉到满星的方案。
Solo 矿工,自己【独自】占有【验证key】和【提现key】。
优点显而易见:安全、没人抽成,给以太坊增加多样性,而且…满足精神世界的需求!
缺点也同样显而易见:自己亲自打工,需要成本:时间成本(维护它),资金成本(租赁服务器/搭建物理机房)。若不24小时维护,你的APR会略低一些,因为有惩罚。
这是做一个矿工(能跑就行)和做一个好矿工(追求高收益)的区别。
例如,目前全网出块有效率为97%,Vitalik可能就是一个Solo矿工,专业如他,也只能做到96%有效率,Rocket Pool更低,它是众包的,有效率只有95%。
而且,Solo是永恒的圣杯。如果数量足够大,我是强烈建议研究一下Solo。
数量低于100K,建议重温一下第2类和第3类。
另外,插入一个支线。ssv network 是干嘛用的?SSV 其实是 DVT 这门技术的研究者,它暂时和上述四类方案不是竞争对手,而是合作关系。DTV 是用于拆分验证 key 的。
当你的验证 key 被拆成 4 份之后,妙处在于:
①一个运营商掉线,那其他运营商可以立刻补上;
②同时每个运营商都不清楚完整的验证 key,这个让验证这个环节更去中心化,它可以让Lido类、SaaS 类和 Solo 方案变得更强。
终于写完了这篇!虽然很长,希望这篇分析能帮大家彻底捋清所有 Staking 方案之间的关系和异同。欢迎大家 mark,随时复习。也欢迎分享你喜欢的 Staking 方案,加入讨论。