從Staking聊起,4種掌控以太坊網絡的方式作者: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 類

從Staking聊起,4種掌控以太坊網絡的方式

方案一、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 上,它只是被鎖住-映射而已。

從Staking聊起,4種掌控以太坊網絡的方式

而上海昇級後,提現將是一種新的交易類型。當你提現時:

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% 。

從Staking聊起,4種掌控以太坊網絡的方式

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