原文標題:《Understanding Withdrawals》by Jim McDonald
原文標題:《
一級標題
歷史
歷史
原文標題:《
原文標題:《
一級標題
為了回報他們維護區塊鏈安全性的行動,這些驗證者被許諾以根據以太坊協議直接產生的獎勵,這些獎勵被記錄在共識鏈上。
一級標題
一文讀懂以太坊質押提款的工作原理
一文讀懂以太坊質押提款的工作原理
一級標題
一文讀懂以太坊質押提款的工作原理
一級標題
在所有驗證者中,共識鏈已經產生了超過1 百萬的ETH 作為累計的獎勵。就個人的驗證者而言,他們的獎勵取決於一系列的因素,但最明顯的莫過於他們作為活躍驗證者的時間。有很多驗證者已經積累了一筆數量巨大的獎勵:
一文讀懂以太坊質押提款的工作原理
注意,自從合併之後,除了上述的獎勵,提議區塊的驗證者會獲得一部分交易費。這些費用會直接在執行鏈上被支付,因此下文不會再論述它們。
一級標題
一級標題
上海昇級(註解4 )提供了一個從共識鏈上轉移獎勵到執行鏈上的機制,每一個執行區塊都會包括大約16 次把ETH 轉移到執行鏈賬號上的提款(註解5 )的數據。提款有以下數據結構:
一文讀懂以太坊質押提款的工作原理
一筆提款的單個組成部分分別為:
一級標題
提款索引(Withdrawal index) 提款的唯一標識符,便於引用。
驗證者索引(Validator index) 共識鏈上一筆提款來源的驗證者的索引
一級標題
一級標題
上述的信息描述了什麼是提款,但是提款發生時的ETH 是從哪來的呢?
一文讀懂以太坊質押提款的工作原理
提款是用根據以太坊協議產生的資金(即新增發的ETH)來支付的,而不是從已有的賬戶上轉移。這保證了提款可以一直被支付,即使從共識鏈上提出的總數目高於存入的總數目。
一級標題
一級標題
在內部,共識層的軟件持有一個存有驗證者信息的簡單列表:
一文讀懂以太坊質押提款的工作原理
一文讀懂以太坊質押提款的工作原理
每一個驗證者實體的獨立組成部分分別為:
索引(Index) 對應這個驗證者及其列表內位置的唯一索引
狀態(State) 目前這個驗證者的狀態,比如“活躍中”或“退出中”(註解7 )
上述這些概念大多數都是不言自明的,然而提款憑證卻需要一些解釋。每一個驗證者都有一組提款憑證。這些憑證控制了共識層資金的流向,包括初始的存款和接下來的獎勵。
一文讀懂以太坊質押提款的工作原理
目前有兩種提款憑證:
從BLS 公鑰產生的,被稱為“type 0 ”提款憑證
從執行地址產生的,被稱為“type 1 ”提款憑證。
共識鏈按順序處理提款,從索引0 開始一直處理到某一集合中最後那個索引,然後再從頭開始。你可以用一個單指針的模擬時鐘作為類比提款進程的一種思考方式。每一個鐘上的刻度代表一個驗證者,從驗證者索引0 開始到最後那個(目前大概是52 萬個)。
一文讀懂以太坊質押提款的工作原理
如果驗證者擁有type 1 憑證,並處於”活躍“ 狀態(註解8 ),並有超過32 個ETH 的餘額,那麼超過32 個ETH 的部分會被提出。
一級標題
一文讀懂以太坊質押提款的工作原理
一文讀懂以太坊質押提款的工作原理
在筆者撰文時有大約520, 000 名驗證者處於活躍狀態。若每個區塊有16 筆提款,每天7, 200 個區塊,則每處理一輪符合資格的驗證者集將需要大概4.5 天。但正如上圖所示,這個時間將隨著符合資格的驗證者數量改變而改變。
一級標題
一級標題
正如上文所述,要成為符合資格的驗證者必須擁有type 1 的提款憑證。筆者撰文時有大概40% 的驗證者擁有type 1 的憑證,其餘的則擁有type 0 憑證。上海昇級會帶來從type 0 升級到type 1 提款憑證的能力,如此驗證者便能接收獎勵。修改提款憑證需要創建一個在共識鏈上廣播的簽名操作。這個操作的結構如下圖:
一文讀懂以太坊質押提款的工作原理
一文讀懂以太坊質押提款的工作原理
圖表6 :修改提款憑證的操作
操作的組成部分分別為:
驗證者索引(Validator index) 該操作所適用的驗證者的索引
提款的BLS 公鑰(Withdrawal BLS public key) 目前BLS 提款憑證的BLS 公鑰
執行地址(Execution address) 用於新提款憑證的執行地址
簽名(Signature) 由當前BLS 提款憑證的私鑰在操作的其他字段上所作的簽名。
信標鏈上的操作過程如下:
“就每一個被驗證者索引所定義的驗證者而言,檢查給定的BLS 公鑰是否可以轉換為匹配當前驗證者的type 0 提款憑證。若可以,則把給定執行地址轉換成type 1 的提款憑證並為驗證者更新。”
因此,修改憑證的操作只能發生一次。一旦修改憑證的操作被處理完畢,鏈上驗證者的定義就會包含type 1 提款憑證,所以就據上文所述就沒有type 0 提款憑證可供匹配了。也就是說,type 1 憑證一旦被設定就將在其生命週期內保持不變。 (註解11 )
設置相同的地址方便了你,獎勵會更快地累積到這個地址去,因此消耗的gas 會更少。
一級標題
一旦執行地址被選定,則需要為每一個驗證者創建並簽署一個操作。由於暴露與提款憑證相關的私人信息的敏感性(可能是私鑰或者助記詞),我們推薦離線創建。操作方法超出了這篇文章論述的範圍,但你可以參考使用ethdo 工具這麼做的詳細指南,或者使用未來其他可用的工具和嚮導。
一文讀懂以太坊質押提款的工作原理
在創建操作之後,你需要把它們廣播在共識鏈上。若操作是在上海昇級之後才被提供給共識節點的,那麼它會在下一次機會被廣播到網絡中以打包進區塊。若操作是在上海昇級之前被提供給共識節點的,那麼它會被儲存起來並在升級完成後被廣播到網絡。注意這需要你連接到一個可以識別上海昇級的共識節點上;就目前來看這些共識節點預計將在2 月的某個時候可用,為主網升級提供了良好的時機。
一級標題
一級標題
正如上文所述,創建憑證修改操作應該在離線狀態下進行。這避免了提款的私鑰被暴露給不安全的電腦從而導致私鑰被竊取的情況。然而,訪問一台在線的電腦需要從信標節點上獲取信息,並最終廣播憑證修改操作。因此,我們推薦用一個在線/離線的進程來創建並廣播修改操作。
一文讀懂以太坊質押提款的工作原理
一文讀懂以太坊質押提款的工作原理
圖表7 :在線和離線的配置中創建和廣播修改提款憑證操作
有不少的工具都遵循這個過程,比如ethdo 就有他們自己的文檔交代如何進行這個過程,下文是每一步的概覽,講述其作用和意義。
1.獲取鏈上信息
要創建有效的已簽名的憑證修改操作,你需要從鏈上獲取不同的信息,這些信息應該從鏈本身獲取以保證是正確的信息。我們同樣推薦獲取一份包含目前所有驗證者信息的列表。因為這樣可以更容易地創建操作,同時驗證創建的操作是否適合驗證者。
這些信息來自一個活躍中的共識節點,因此需要從一台聯網的電腦上獲取這些資料。大多數運行驗證者程序的實體應該都有訪問共識節點的權限,但是如果它們將質押過程委託給一個服務商,那它們應該設法從服務商獲取必要信息。
這將產生一份包含鏈上信息的文件。文件本身不會帶有私鑰或其他敏感信息。
2.轉移鏈上信息
一旦鏈的信息被收集完成,那就需要把它從一台在線的電腦轉移到一台離線的電腦。目前的普遍做法是通過USB 存儲,USB 存儲允許兩台電腦不需要直連就能完成信息的轉移。這意味著離線的電腦可以完全與互聯網斷開連接,極大地增加了私鑰或者助記詞的安全性。
4.轉移憑證修改操作
一級標題
總結
總結
一旦憑證修改操作的文件被創建完成,就需要把它從離線的電腦上轉移到在線的電腦上。再說一次,USB 存儲或類似的方式是普遍的最優做法。
5.廣播憑證修改操作
一級標題
一級標題
總結
總結
提款功能將隨著上海昇級推出,自從共識鏈啟動以來第一次使用戶的共識獎勵變得可用。一旦設置好之後,它們就會自動地為任何驗證者所用,而升級也帶來了一個機制來配置那些尚未準備好提款的驗證者。
驗證者生命週期完成之後,共識鏈就履行了對質押者們從2020 年12 月以來許下的承諾,並準許驗證者離開這個他們此前覺得可能離開不了的系統。額外的驗證者將為以太坊帶來更強的安全性以及一條更強大的鏈。
1.以太坊有多條鏈,通常被稱為共識鏈(或稱信標鏈)和執行鏈,欲了解更多信息請參考文章”理解合併後的獎勵“。
2.他們同樣參與到同步委員會中,但這些都是見證的另一種形式。
3.就是用俗話解釋以太坊從工作量證明共識機製到權益證明共識機制的遷移。
4.與共識鏈上的Capella 升級同時進行。
5.嚴格意義上最高可以達到16 筆提款,除極端情況外,所有slot 都應該是滿的。
6.共識鏈上的所有數值都是以Gwei 為單位的,因此從共識鏈到執行鏈的任何代幣轉移都是一個以Gwei 為單位的整數。
7.狀態實際上來自驗證者信息中的其他字段,所以它不會呈現在驗證者的定義裡,但是由於它在文章其他地方被引用了,所以把它展示在這。
