作者:Todd,Ebunker 合夥人
今天藉著Kraken暫停Staking這個新聞,想做一個 Staking 的科普&分析:
-本質上,Staking 最重要的就是看 2 把私鑰的歸屬權
-由於 2 把私鑰的歸屬權不同,又誕生了 4 類 Staking 方案
我相信有這篇超長 thread,你對於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 類
方案一、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 提現到底是個什麼流程?
我之前的帖子又簡單介紹過上海昇級以及提現,傳送門→
https://twitter.com/0x_Todd/status/1619950421124206593
眾所周知,以太坊是兩條鏈: 以太坊 1.0 (執行層) Beacon Chain(共識層)。當你去 Stake 時,第一步是把 ETH 匯款到以太坊 1.0 Beacon 金庫地址( https://etherscan.io/address/0x 00000000219 ab 540356 cbb 839 cbe 0530 3d 7705 fa… )鎖倉,然後Beacon Chain給你在共識層生成對應的eth。
注意這些 ETH 是鎖住,而非在 1.0 上銷毀,或者是跨鏈到 beacon chain 上,它只是被鎖住-映射而已。
而上海昇級後,提現將是一種新的交易類型。當你提現時:
1.你的節點通知 Beacon Chain,發出提現信號
2.排隊
3.排隊到你後,Beacon Chain 通知以太坊 1.0 的金庫
4.以太坊 1.0 的金庫地址給你指定的地址匯款,比如0x Todd.eth
所以,所謂我的【提現 key】,本質上是0x Todd.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_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 類
最後,給大家介紹一下最終的聖杯,Solo Staking。
Solo 顧名思義,自己玩,不引入任何第三方,去中心化和安全性拉到滿星的方案。
Solo 礦工,自己獨自佔有驗證 key 和提現 key。優點顯而易見,安全、沒人抽成,給以太坊增加多樣性,而且…滿足精神世界的需求!
缺點也顯而易見:自己親自打工,需要成本:時間成本(維護它),資金成本(租賃服務器/搭建物理機房)。若不 24 小時維護,你的 APR 會略低一些,因為有懲罰。
例如,目前全網出塊有效率為 97% , Vitalik可能就是一個Solo 礦工,專業如他,也只能做到96% 有效率,Rocket Pool 更低,它是眾包的,有效率只有95% 。
Solo 的門檻我覺得至少是 10 K 以太坊,也就是 30 組節點以上,一方面是考慮才能出塊的穩定性(搶不到 MEV 的區塊,也是很難受的)。一方面是收入打不平成本。
但是,如果你的以太足夠多,甚至超過 30 K, 50 K,那你可以考慮僱點人來跑,畢竟付工資要比被大池子/小池子按百分比抽佣便宜,肯定要盈餘更多。
而且,Solo 是永恆的聖杯。如果數量足夠大,我是強烈建議研究一下 Solo。數量低於 100 K,建議重溫一下第 2 類和第 3 類。
另外,插入一個支線。
SSV 是乾嘛用的? SSV 其實是 DVT 這門技術的研究者,它暫時和上述四類方案不是競爭對手,而是合作關係。 DTV 是用於拆分驗證 key 的。
當你的驗證 key 被拆成 4 份之後,妙處在於:
① 一個運營商掉線,那其他運營商可以立刻補上;
② 同時每個運營商都不清楚完整的驗證 key,這個讓驗證這個環節更去中心化,它可以讓 Lido 類、SaaS 類和 Solo 方案變得更強。
終於寫完了這篇!雖然很長,希望這篇分析能幫大家徹底捋清所有 Staking 方案之間的關係和異同。歡迎大家 mark,隨時復習。有任何很關於以太坊or Staking 任何問題,歡迎推特 DM 私信作者@0x_todd。
最後的最後!歡迎大家一起來當驗證者!為以太坊網絡安全做出你的貢獻。
Ebunker 官網: https://www.ebunker.io
更多討論請加入: https://discord.gg/nuvw 6 hmvnK
Ebunker Twitter: https://twitter.com/ebunker_eth