上海升級,和你有關嗎?

Author: David.Cai @ imToken Labs

前言

以太坊上海升級即將來臨,對於生態系裡的不同角色,針對此升級要做的事也有所不同。此篇文章我們帶領大家導覽上海升級與你的關係,並且該做什麼事來應對。

文章主要把角色分為以下幾種:

1. Home Staker

2. 驗證者運營服務商

3. 參與 ETH 2.0 質押但無涉及節點的使用者


Home Staker

對於自建驗證者的使用者,有兩項重要的任務需要完成。

第一項非做不可,第二項視情況而定

  1. 升級你的執行層 & 共識層節點

  2. 更改你的以太質押收益地址

任務 1:升級節點

上海升級會在區塊裡添加了新的資料格式,這意味著此升級是個硬分叉,所以使用者必須升級節點才能持續參與共識。Home staker 們請注意節點 client 的版本更新進度,若有上海升級兼容版本釋出,務必先行把你的節點做版本更新,千萬不要等到上海升級正式上線了才更新。否則,當分叉後無法參與到投票、出塊,可能會被當作 inactive validator 而受到處罰。下列為各 client 之 Github repo,新版本釋出都會發佈在上面。

Execution Client: Geth, Nethermind, Besu, EthereumJS, Erigon

Consensus Client: Lighthouse, Teku, Lodestar, Prysm, Nimbus

---

任務 2:更改以太收益地址

上海升級一大重點,為允許使用者提領鎖在驗證者裡的以太幣。那麼問題來了:提領出來的以太幣要送到哪個地址?如果是很早期就參與 solo staking 的使用者,這個收益地址可能尚未設置,但晚期參與的可能已經設置好了。如何判斷收益地址需要更改?怎麼更改?步驟如下:

(1). 先到 beaconcha.in 找到自己的驗證者,Deposits (圖片橘色框) 點下去後,會看到有一串 Withdrawal Credential (圖片紅色框) 的數字,如果你的數字開頭是 0x00,那就代表你的收益地址尚未設置。下圖為還沒設置的驗證者範例:

0x00 開頭驗證者
0x00 開頭驗證者

(2). 要更改收益地址,需要創立驗證者時用的 24 個英文單字 + 一台同步好的共識層節點 + 更改收益地址用的指令集。詳細的操作過程可以參考 ethdo 指令集,未來上海升級正式上線後,我們也考慮以主網為環境,出一篇手把手的教學文 (🔴 警告:教學文僅是示範案例,實際執行時需根據你的狀況做調整,請自行承擔後果,風險自負)要注意的是:當前共識層僅允許使用者更改收益地址一次,千萬別將收益地址設錯,一但設錯,連神仙都救不了你。若收益地址更改成功,驗證者 Withdrawal Credential 的開頭會變成 0x01 (圖片藍色框)。

0x01 開頭驗者
0x01 開頭驗者

--

另外,更改收益地址沒有急迫性,不會因為在上海升級後,還沒設置好收益地址就對驗證者做懲罰。Home staker 們可以慢慢來,確定已經完全了解整個過程再來執行。

由於更改收益地址的操作需要格外小心,以太坊基金會預計在 2/28 啟動 Sepolia 測試網的 staking withdraw,使用者們可以在那時候預演一次。不想等的小夥伴,也可以利用浙江測試網先跑一遍,此測試網是專門開來測試 staking withdraw,鏈長很短,同步時間也不需太久,大約兩小時內就能同步完畢。浙江測試網相關資源放在以下鏈結:


驗證者運營服務商

驗證者節點運營商的任務如下:

  1. 升級執行層 & 共識層節點

  2. 引導使用者安全執行 BLSToExecutionChange

對於驗證者運營商來說,最關鍵的是如何安全的執行 BLSToExecutionChange。何謂 BLSToExecutionChange?這看似高大上的名詞,其實就是「改變質押收益地址」這個動作的專業技術名詞罷了,業界簡稱為「BTEC」。為何筆者在上段的 home staker 不提這詞呢?主要是筆者認為講 BLSToExecutionChange/BTEC 太不親民,太過裝逼了 😑 。。。。 但既然驗證者運營服務商大多是專業的,那咱還是提一下。

BTEC 在實際執行時,需要使用驗證者的 withdraw key 簽署一段特定格式的文字,並發送到共識層去(如下圖)。這邊額外補充一點小知識:ETH 2.0 的共識設計中,每個驗證者有兩把鑰匙:validator key & withdraw key。驗證者參與共識時的投票、出塊僅需要 validator key,withdraw key 實際上並未用到。大多運營商只會跟使用者索取 validator key,而使用者自己保管 withdraw key。

資料來源: https://github.com/wealdtech/ethdo/blob/master/docs/changingwithdrawalcredentials.md
資料來源: https://github.com/wealdtech/ethdo/blob/master/docs/changingwithdrawalcredentials.md

--

問題來了:withdraw key 在使用者手上,所以 BTEC 需要使用者來執行簽署。但前面提到,簽署這個動作還是需要一些些的技術操作,而且一但簽好送到共識層,設好的質押收益地址就不能更改。由於不可逆的性質,在執行 BTEC 時,使用者需要確保簽署的請求確實交給運營商,運營商也要確認請求真的來自使用者。如果運營商的客戶是企業機構,大概率能透過底下的工程師,開發一套安全的自動化系統執行 BTEC。但如果運營商的客戶,是對技術不熟的純投資者,如何引導他們正確且安全的執行 BTEC 非常重要

理想狀況下,運營商應該會設計一套介面,由介面一步步引導使用者輸入必要資訊,並在最後階段進行核對,驗證其設置收益地址的正確性。由於使用者會在介面輸入 withdraw key 相關資訊,極度容易成為黑客的目標,介面的資安要求必須以最高規格來審視。


參與 ETH 2.0 質押但無涉及節點的使用者

目前多數參與以太坊質押的使用者,可能都是透過 Lido, RocketPool 這類的 LSD 賽道產品,如果你屬於這類,那上海升級對你的影響較小,基本上不需要有任何動作,躺平交給項目方就對了。

但如果你是屬於自己管理 withdraw key,運營商幫你管理 validator key 的使用者,你的任務就是密切的關注運營商發布的資訊。再三提醒自己:「只能改質押收益地址一次,絕對不容許出錯 !🚨」。請充分發揮社群的角色,與社群大眾一同監督運營商。若運營商有推出互動式的網站介面讓你更改收益地址,千萬要留意網站的域名,不要連到釣魚網站了。若有自稱官方人員能幫你處理更改收益地址,也絕對要再三確認其真實性,不要上了詐騙者的當。


總結

總結來說,上海升級對於大多使用者的影響不直接,但對於要處理「更改收益地址」的人,還是必須以最嚴格的標準來看待此事。 imToken 也正在積極的和運營商研擬一套穩健的方案,我們站在使用者的角度,把資產的安全放在第一位。日後,我們也會持續分享以太坊生態系裡的大小事,還請各位看官多多關注!


Follow us: Official Website, Twitter, Medium, Discord

Digital assets under your control
Digital assets under your control
Subscribe to imToken Labs
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.