从Staking聊起,4种掌控以太坊网络的方式

今天借着Kraken暂停Staking这个新闻,想做一个Staking的科普&分析:

 

-本质上,Staking最重要的就是看2把私钥的归属权

-由于2把私钥的归属权不同,又诞生了4类Staking方案

 

我相信有这篇超长thread,你对于Lido,Rocket,Coinbase,Kraken,SSV以及Ebunker能有一个更深的理解。

 

如果把以太坊看作是一家公司的话,负责Staking的验证者(Validator)就是员工。它的工作就是验证交易的合法性,然后打包区块上链(虽然构建区块这活儿,如今也已经慢慢外包给MEV服务商了)。

首先,作为验证者,你需要证明你的员工身份,毕竟不是谁都可以来随便验证。交了32ETH押金后,你需要持证上岗(即:【验证key】)。

 

理论上,做Staking的第一步,就是创建一个验证key。随后,你拿着你的验证key,也就是你的工作证,才能给每一个交易盖戳。

 

第二,以太坊贴心地设计出了第二把私钥,用于接收刚刚提到的押金(32ETH)。

 

当你去做验证者时,你会要填一个“提现地址”。它是未来你提取本金和工资的地址,而那个地址的私钥理论上应当在你的手里(即:【提现key】)。

 

我打个比方,这是你的工资卡。

 

这样2把私钥:①验证key(工作证)、②提现key(工资卡)的用途,我想大家都明白了。

 

接下来,根据2把私钥的不同归属,才诞生了四种Staking解决方案:

-CEX类

-大池子类(Pooled Staking)

-SaaS类(Staking as a Service)

-Solo类

以太坊基金会的四种Staking划分
以太坊基金会的四种Staking划分

方案一 CEX类/全托管

如果你使用交易所Staking方案,例如Binance,Coinbase或者今天刚宣布停止Staking服务的Kraken。你会发现,你根本没有创建过【验证key】,也没有填过【提现key】,那这种就是标准的“全托管”。

 

那这两把钥匙分别在哪呢?

-验证key在Binance Pool或者Coinbase Pool

-提现key则在Binance和CB的冷钱包

 

你根本不用上班(参与验证),工资卡也给了交易所帮你保管。这种方案是最省心的,而且有保底。

 

但是不适用于对去中心化有追求的人,毕竟FUD三天两头有,而且现在看美国甚至不允许你这样搞。

 

方案二 大池类 Staking(Pooled Staking)

这就是Lido和Rocket Pool的Staking方案。你仍然不用创建两把Keys,由Lido和Rocket管理,那它和交易所的区别在哪呢?

 

先聊聊验证key:

交易所:显然,它旗下就1家运营,即它自己。

 

Lido:Lido 1.0旗下有29家专业运营商,Lido把ETH都委由他们管理,所以验证key是相对分散的,29家运营商各拿一部分。等于说Lido是个集团,旗下有强力打工天团29人,你自己不用打工,让打工天团专业人士帮你上班。所以,运营商抽5%分成,Lido再抽5%。

 

Rocket Pool:Rocket Pool旗下可以有无数家运营商,任何人带着机器/云服务器+16个ETH都可以来当运营商。等于说Rocket Pool是众包平台,旗下一堆美团骑手,自带电动车(机器/云服务器)和机房,帮你跑节点。

理所当然,他们也要抽成。

 

再聊聊提现key:

这里有必要再补充一个原理:Staking提现到底是个什么流程?

 

我之前的帖子又简单介绍过上海升级以及提现,传送门→

 

众所周知,以太坊是两条链: 以太坊1.0(执行层) Beacon Chain(共识层)。 当你去Stake时,第一步是把ETH汇款到以太坊1.0 Beacon金库地址(https://etherscan.io/address/0x00000000219ab540356cbb839cbe05303d7705fa…)锁仓,然后Beacon Chain给你在共识层生成对应的eth。

注意这些ETH是锁住,而非在1.0上销毁,或者是跨链到beacon chain上,它只是被锁住-映射而已。

Staking的链上步骤
Staking的链上步骤

而上海升级后,提现将是一种新的交易类型。当你提现时:

 

1.你的节点通知Beacon Chain,发出提现信号

2.排队

3.排队到你后,Beacon Chain通知以太坊1.0的金库

4.以太坊1.0的金库地址给你指定的地址汇款,比如0xTodd.eth

 

所以,所谓我的【提现key】,本质上是0xTodd.eth这个地址的私钥。

 

而Lido & Rocket的提现key,是帮你又多包了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支持者经常声称它是完全去中心化的,这个广告语深入人心。

 

但是当你看完此thread,你会知道,它是在验证key部分,做到了去中心化,任何人都可以当验证者(Lido V2也正在努力实现)。

 

而在提现key这个部分,作为用户,仍然无法参与,你的资产仍然静静地躺在第三方的钱包当中。

 

当然,Lido,Rocket相比交易所来说,仅多操作一两步,却更加去中心化,仍是不错的折中方案。尤其是Lido,stETH流动性非常赞(目前远超其他所有LSD方案),是重要加分项。

 

方案三 SaaS(Staking as a Service)类/小池子类

到了第三步,Staking就更加原教旨主义了。我个人是有一定的去中心化洁癖的,尤其是经历了一系列CEX暴雷后。

 

刚才做了比喻,验证key是工作证;提现key是工资卡。

 

那么,人们天然就会想,有没有一种方案,就让别人替我打工,同时我自己领工资呢?

 

现实生活没有这种美事儿,但以太坊网络有,就是SaaS或叫VaaS(Validator as a Service)。我们以非托管矿池 Ebunker 为例。

 

我们首先要做的,是把验证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 之外,还有一些矿池提供类似的“非托管”服务,可以到Rated上查询。

 

当然,缺点也有,所有的非托管SaaS类,均没有LSD方案。道理也很浅显,人家不掌握你的私钥,怎么敢给你发存折(LSD)?当然,有些SaaS矿池也会提供大池子方案,大池子方案就可以给LSD。

 

再用精简的话说:谁掌握私钥决定了是否可以LSD。CEX、大池子方案都可以,小池子,Solo都不行。

 

上海升级后,以太坊提现最久1-2个月,SaaS类小池子方案,流动性也得到了一定的保障,所以,这也是我个人最喜欢的方案,省心/稍费事/不把私钥给别人/APR不错。(前提:你拥有超过32 ETH,否则使用LSD)

 

第四类解决方案:Solo类

 

最后,给大家介绍一下最终的圣杯,Solo Staking。

Solo顾名思义,自己玩,不引入任何第三方,去中心化和安全性拉到满星的方案。

 

Solo矿工,自己独自占有验证key和提现key。优点显而易见,安全、没人抽成,给以太坊增加多样性,而且…满足精神世界的需求!

 

缺点也显而易见:自己亲自打工,需要成本:时间成本(维护它),资金成本(租赁服务器/搭建物理机房)。若不24小时维护,你的APR会略低一些,因为有惩罚。

 

例如,目前全网出块有效率为97%,Vitalik可能就是一个Solo矿工,专业如他,也只能做到96%有效率,Rocket Pool更低,它是众包的,有效率只有95%。

来自:Rated
来自:Rated

Solo的门槛我觉得至少是10K 以太坊,也就是30组节点以上,一方面是考虑才能出块的稳定性(抢不到MEV的区块,也是很难受的)。一方面是收入打不平成本。

 

但是,如果你的以太足够多,甚至超过30K,50K,那你可以考虑雇点人来跑,毕竟付工资要比被大池子/小池子按百分比抽佣便宜,肯定要盈余更多。

 

而且,Solo是永恒的圣杯。如果数量足够大,我是强烈建议研究一下Solo。数量低于100K,建议重温一下第2类和第3类。

 

另外,插入一个支线。

SSV是干嘛用的?SSV其实是DVT这门技术的研究者,它暂时和上述四类方案不是竞争对手,而是合作关系。DTV是用于拆分验证key的。

 

当你的验证key被拆成4份之后,妙处在于:

①   一个运营商掉线,那其他运营商可以立刻补上;

②   同时每个运营商都不清楚完整的验证key,这个让验证这个环节更去中心化,它可以让Lido类、SaaS类和Solo方案变得更强。

 

终于写完了这篇!虽然很长,希望这篇分析能帮大家彻底捋清所有Staking方案之间的关系和异同。欢迎大家mark,随时复习。有任何很关于以太坊 or Staking任何问题,欢迎推特DM私信@0x_todd。

 

最后的最后!欢迎大家一起来当验证者!为以太坊网络安全做出你的贡献🧐

Subscribe to 0xTodd
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.