以太坊提款如何運作?
上海/Capella 升級後以太坊質押提款的運作方式,涵蓋技術流程、提款佇列,以及質押者在存取其質押的以太幣時需要了解的資訊。
Date published: 2023年3月30日
由 Finematics 製作的解說影片,涵蓋了上海/Capella 升級後以太坊質押提款的運作方式,包括部分提款與全額提款的機制、常見的誤解,以及對質押生態系統的影響。
本逐字稿是 Finematics 發布的原始影片逐字稿 (opens in a new tab)的無障礙副本。為提升可讀性,已進行了輕微的編輯。
信標鏈 (0:31)
隨著上海/Capella 升級的迅速逼近,關於以太坊質押提款及其對整個以太坊生態系統意義的討論非常熱烈。
讓我們先了解我們是如何走到這一步的,以及為什麼當以太坊從工作量證明 (PoW) 轉向權益證明 (PoS) 時,沒有啟用質押提款。
向權益證明的過渡是分多個步驟進行的,以盡量減少同時發生的大幅變更數量。這種方法至關重要,特別是對於一個每年結算數兆美元價值的成熟網路而言。最重要的步驟是:信標鏈的啟動,以及合併。
2020 年信標鏈的啟動為過渡奠定了基礎,它建立了一個獨立的權益證明共識層,與以太坊工作量證明鏈並行運作。提早啟動信標鏈可以在結算實際價值交易之前,累積足夠的 ETH 來保護網路安全。這也允許在有真實資金質押的情況下,對新的權益證明共識模型進行長時間的測試。
儘管知道要到很久以後才能提取他們的 ETH,早期的網路參與者仍投入了數百萬枚 ETH 來保護以太坊權益證明網路的安全。
下一個重大步驟「合併」,將權益證明共識層與執行層結合在一起。這使得最終能夠脫離工作量證明,並只維持一條規範鏈——以太坊——現在由數百萬枚質押的 ETH 提供安全保障。合併是迄今為止以太坊最大的變更。由於升級的性質,它必須在沒有任何停機時間的情況下進行。
為了將風險降至最低,合併的範圍被縮小,除了從工作量證明切換到權益證明之外,沒有其他功能被包含在升級中。必須進行的最大「刪減」影響了提款,這成為了即將到來的上海/Capella 升級的重點。
提款 (2:09)
顧名思義,質押提款將允許質押者提取他們被鎖定的 ETH。提款分為兩種類型:「部分」和「全額」。
當驗證者提取其累積的獎勵(即超過 32 ETH 最大有效餘額的額外餘額)時,就會發生部分提款。部分提款也可以被稱為「獎勵支付」或「超額餘額支付」。
當驗證者完成退出流程並提取全部餘額時,就會發生全額提款。這只有在驗證者自願退出系統,或者在稱為「罰沒」的過程中被強制移除時才會發生。
一旦啟用,質押提款將每隔幾天自動分配一次。此外,提款流程在共識層啟動,因此在任何步驟都不需要交易手續費。
為了開始提取質押獎勵,驗證者只需提供一次提款地址。由於提款會影響以太坊的共識層和執行層,因此網路的這兩個部分都必須進行更新。「上海」是包含提款功能的執行層升級名稱,這些功能在 EIP-4895 中有詳細說明。「Capella」是同時啟動的對應共識層升級名稱。這兩個升級有時也被統稱為「沙佩拉 (Shapella)」。
機制 (3:40)
在以太坊生態系統中,每個驗證者都有一個對應的索引編號。此外,他們還有兩種類型的提款憑證,定義為 0x00 或 0x01。
0x00 表示特定驗證者沒有關聯的提款地址。這些憑證是從 BLS 公鑰的雜湊衍生而來,並將其第一個位元組替換為零位元組——因此得名。
0x01 表示驗證者提供了他們的提款地址。這些提款憑證表示為 0x01,後面跟著 11 個位元組的零,然後是所選的以太坊地址。
為了啟用提款,擁有 0x00 憑證的驗證者將需要簽署一則「BLSToExecutionChange」訊息。這在 Capella 升級後將成為可能。
一旦啟用提款,提議區塊的驗證者將線性掃描驗證者索引,以找到前 16 個擁有 0x01 憑證且符合以下任一條件的驗證者:
- 餘額超過 32 ETH(累積的驗證者獎勵)
- 處於「可提款」狀態(已完全退出驗證者集)
線性搜尋在找到 16 個符合這些條件的驗證者後,或在進行 16,384 次迭代後停止。演算法會記住搜尋停止時的索引,因此下一個提議區塊的驗證者可以從該索引繼續。到達最後一個索引後,演算法會從頭開始——索引 0。
一個很好的比喻是指針式時鐘,指針指向小時,朝一個方向前進,不會跳過任何小時,並在到達最後一個數字後最終再次繞回起點。
掃描完成後,驗證者會建立一個提款清單,以包含在其執行負載中。清單上的每個項目包含:
- WithdrawalIndex — 一個單調遞增的索引,從 0 開始,每次提款增加 1,以唯一識別每筆提款
- ValidatorIndex — 正在提取餘額的驗證者索引
- ExecutionAddress — 提款應發送到的執行層 ETH 地址
- Amount — 要發送到執行地址的金額,單位為 Gwei
在建立或處理區塊時,執行層客戶端會在區塊的末尾套用這些提款。處理提款不會與使用者交易競爭區塊空間。每個區塊最多處理 16 筆提款,假設沒有錯過任何時隙,每天最多應處理 115,200 筆提款。
提款的設計簡單但極其穩健。
誤解 (6:30)
第一個誤解是,在處理提款時,「全額」和「部分」提款在優先級或順序上有所不同。實際上,當對驗證者集的線性掃描到達某個驗證者的索引時,全額和部分提款都會發生。唯一的區別在於,在全額提款的情況下,驗證者必須離開退出佇列並達到「可提款紀元」,然後線性掃描才能選中它。
另一個誤解是,如果使用者不提供提款地址,他們將失去獎勵。這不是真的——如果驗證者忘記提供提款地址,一旦啟用提款,他們的 ETH 獎勵不會憑空消失。相反地,掃描將跳過尚未提供提款地址的驗證者。
重要的是要記住,提款地址無法更改,且只能設定一次。質押者在設定提款地址時必須極其小心,確保他們對所提供的地址擁有完全的所有權。
也有人猜測,一旦啟用提款,質押者將從以太坊生態系統中提取大量 ETH,這種論點的更強烈版本甚至假設這將破壞權益證明共識機制的穩定性。雖然我們無法完全預測隨著時間的推移會提取多少 ETH,但有幾個重要的反論點:
首先,大多數質押者都是以太坊的早期採用者,他們在何時啟用提款仍不確定的情況下,就有勇氣進行質押。許多質押者表示他們希望繼續質押以支持網路,並繼續賺取以 ETH 計價的獎勵。
其次,為了確保權益證明共識機制和活躍的驗證者集保持穩定,以太坊為所有希望退出的驗證者實施了提款佇列。這個佇列限制了可以同時離開生態系統的驗證者數量。
第一次提款掃描將提取大量累積的獎勵——基本上是自信標鏈啟動以來的獎勵。然而,隨後的掃描將處理數量少得多的 ETH。
影響 (8:39)
啟用提款將創造一個開放的雙向質押流動。目前,質押流動是單向的——ETH 只能流入網路,永遠無法退出。有趣的是,啟用提款可能會激勵更多人進行質押,因為他們知道如果需要將資金用於其他用途,他們隨時可以提取他們的 ETH。
不運行自己的驗證者而是透過中心化質押提供商進行質押的質押者,將能夠更換他們的提供商。他們可以從提供較低質押利率的提供商提取資金,轉移到提供更好利率的提供商,從中心化提供商轉移到去中心化的提供商,甚至運行自己的驗證者。
提款也將影響流動性質押衍生品,例如 Lido、Rocket Pool 等。像 stETH 或 rETH 這樣的流動性質押代幣,在市場動盪期間曾有暫時失去與 ETH 價格掛鉤的歷史。然而,有了雙向的質押流動,其掛鉤的任何顯著差異都會很快被套利消除。
流動性質押和中心化質押的早期採用者佔據了絕大部分市場,因為他們沒有太多競爭。然而,一旦啟用提款,這些現有參與者的市佔率可能會發生重大變化,特別是如果他們不提供具競爭力的利率。在質押提供商之間自由轉換的能力將有利於 ETH 質押市場。
總結 (10:01)
啟用質押提款是以太坊最受期待的升級之一。確保這項變更順利執行將極其重要。為了協助測試,驗證者將有多個開發網和測試網可用來執行整個流程,並在主網上線前解決任何潛在問題。
提款是另一項改進,使以太坊朝著建立一個永續、安全和去中心化的未來又邁進了一步。沙佩拉升級預計將在 2023 年上半年進行。
在製作本影片時,信標鏈在超過 530,000 個驗證者中累積了超過 1,700 萬枚 ETH。驗證者的平均餘額略高於 34 ETH,這意味著累積了超過 100 萬枚 ETH 的獎勵。看看提款將如何影響這些數字將會非常有趣。