1. ECN自制超詳細中文影片教程,包含環境配置、Lighthouse客戶端安裝以及質押操作:《如何成為Spadina測試網驗證者》
其他相關資源
Eth2 Launchpad
https://launchpad.ethereum.org
Eth2瀏覽器
Beaconcha.in: https://beaconcha.in/
Eth2Stats: https://eth2stats.io/
BeaconScan: https://beaconscan.com/
早期支援的Eth2客戶端
Prysm: Go語言客戶端
https://prysmaticlabs.com/
Lighthouse: Rust語言客戶端
https://lighthouse.sigmaprime.io/
Teku: Java語言客戶端
https://github.com/ConsenSys/teku
Nimbus: Nim語言客戶端
https://nimbus.team/
其他學習資源
ECN Eth2知識庫:
https://eth2.ethereum.cn/(路線圖/術語庫/客戶端/FAQ)
ECN Eth2相關進展:
https://news.ethereum.cn/category/eth2/
Ethfans: https://ethfans.org/
以太坊官網 (英文):
https://ethereum.org/en/eth2/
Eth2 Launchpad
Eth2 Launchpad (launchpad.ethereum.org)
旨在幫助和指引使用者安全便捷地完成質押操作,並且實時更新網路質押進度資料,但目前尚不支援多語言版本,因此我們將其中有價值的部分進行了漢化,以供參考。
Overview:概述部分
這個部分提供了一些基本的背景知識和注意事項,也是進行質押之前的必經入口,包括驗證者職責和風險、單向質押、金鑰生成和管理等。
閱讀完本部分之後,大家就能進入正式的質押操作階段了,後續具體步驟包括選擇Eth2客戶端、生成驗證者金鑰、上傳驗證者檔案、連線錢包以及轉賬。
驗證者常見問題
1. 什麼是 “驗證者” (validator)?
驗證者是參與以太坊 2.0協議共識的實體。用大白話來說,即執行特定計算機程式的人。該程式會提議並證明新的區塊,使之能新增到區塊鏈上。
換言之,你可以將驗證者看作新區塊的投票者。一個區塊獲得的票數越多,被新增到區塊鏈上的可能性就越大。重要的是,驗證者的投票權重由其質押餘額決定。
2. 什麼是存款合約 (deposit contract)?
你可以將存款合約理解為以太坊賬戶與ETH 2.0驗證者之間的資金轉移。存款合約的狀態註明了誰為質押者、誰為驗證者、質押金額、以及誰有許可權提款。
3. 為什麼驗證者需要質押存款?
驗證者需要質押存款,這樣才能對他們的不當行為進行懲罰。換言之,為了保證這些驗證者都遵守協議,他們的不當行為需要承擔一定經濟後果。
4. 驗證者需要質押多少ETH?
驗證者在開始維護網路之前,需要質押32個ETH。這32個ETH就是驗證者的初始餘額。
5. 質押多於32個ETH會有什麼好處嗎?
沒有,單個驗證者存入超過 32 ETH 不會獲得任何優勢。將質押的最大ETH數額限制到32個有助於提高去中心化程度,因為它防止任何一個驗證者有過大的投票權重。請記住,驗證者的投票權重取決於其質押餘額。
6. 我可以暫停執行 (而非退出網路) 我的驗證者節點幾天,然後再重新開始嗎?
可以的,但正常情況下你會損失一定數額的ETH,大概相當於你在那段時期賺取的ETH數量。換言之,如果你賺取了大約0.01個ETH,那麼你將損失大約0.01個ETH。
7. 我應該什麼時候補充我的驗證者餘額?
這個問題的答案很大程度取決於你餘額還有多少ETH。如果你的餘額接近16個ETH的話,你當然應該再存入:這是為了確保你不會被驗證者集踢出 (如果你的餘額低於16個ETH的話,你會被自動踢出)。如果你的餘額接近31個ETH,你大概不需要再存入ETH以達到32個。
8. 我什麼時候可以提款,退出與提款有什麼區別?
你可以用你的驗證者節點簽名一條自願退出資訊以示意你想要停止驗證。
但是請記住,在階段0裡,一旦你退出了就回不去了。
你不能再啟用你的驗證者節點了,在階段1.5之前你也不能轉移或提取你的資金
(這意味著在階段1.5之前你都無法訪問你的資金)。
驗證者職責篇
1. 驗證者保持活躍和誠實會有什麼激勵嗎?
除了離線會被罰款外,驗證者的惡意行為也會遭受懲罰,例如投票給無效或衝突的區塊。另一方面,如果驗證者提議或證明的區塊被打包到鏈上,他們就會得到獎勵。
基本規則如下:幫助網路達成共識的行為會得到獎勵妨礙共識達成的無意行為 (或不作為) 會招致輕度懲罰;惡意行為會招致嚴重懲罰 (也稱為罰沒)
換言之,驗證者在最大化他們的獎勵時就是在為整個網路帶來最大的裨益。
2. 獎勵/懲罰是如何發放的?
請記住,每個驗證者都有自己的餘額——初始餘額會在存款合約裡顯示。以太坊網路規則會基於驗證者的履職情況定期更新其餘額。換言之,獎勵與懲罰會隨著時間反應在驗證者的餘額中。
3. 獎勵/懲罰多久更新一次?
大約每6.5分鐘(即一個epoch)更新一次。在每個epoch裡,網路都會評估每個驗證者的表現,並相應給予獎勵或懲罰。
4. 獎勵/懲罰金額有多大?
這個問題很難回答,因為在計算時需要考慮很多因素。理論上,影響驗證交易所得獎勵的最主要因素是在網路的質押總額(即,驗證者總數)。根據質押總額,驗證者的最高年收益率可能在 2% 至 20% 之間。
在驗證者總數固定的情況下,獎勵/懲罰主要取決於驗證者的餘額規模 —— 如果提供證明的驗證者的餘額越高,驗證者收到的獎勵/懲罰金額就越高;餘額越低,獎勵/懲罰就越低。
請注意,這種動態機制是以不那麼明顯的方式運作的。要想了解其具體原理,你先要理解有效餘額(effective balance) 這個概念。如果你對這個概念還不熟悉,我們建議你閱讀這篇文章。
5. 為什麼獎勵取決於網路中的驗證者總數?
區塊獎勵是根據質押在網路中的ETH總量按比例動態計算的。簡單來說,如果質押的ETH總量很少,獎勵(利率)就很高,但是隨著質押的ETH增加,每個驗證者所獲得的獎勵(利率)就會降低。
為什麼要用這種動態調整?儘管本文不會深入其中的細節,但一個主要原因是網路的良好運轉需要一定數量的驗證者來維持 (ETH總質押量也是)。因此,為了鼓勵更多的驗證者參與其中,在達到必要的驗證者數量前維持高利率顯得尤為重要。
此後,我們仍然鼓勵更多的驗證者參與 (越多驗證者參與意味著網路的去中心化程度越高),但這不是必要的 (因此利率可能會下降)。
6. 如果離線,驗證者會遭到什麼懲罰?
這視情況而定。除了有效餘額的影響外,還需要主要以像兩種重要情況:
如果絕大多數(2/3)驗證者都線上,離線招致的懲罰會較低,因為有足夠多的驗證者線上,可以實現區塊的最終確定性。這是預料之中的情況。
如果有超過 1/3 的驗證者同時離線,離線懲罰就會較高,因為網路無法繼續實現區塊的最終確定性。這種屬於不太可能發生的極端情況。
請注意,如果是第二種 (不太可能的) 情況,離線驗證者在 21 天內損失的ETH可高達 50% (16 ETH)。21 天之後,這些驗證者就會被逐出驗證者池。這樣一來,網路就可以恢復正常,開始達成區塊的最終確定性。
7. 誠實驗證者需要線上多長時間才能實現盈利?
總的來說,只要驗證者的線上時間超過 50% ,就能實現盈利。這意味著驗證者不需要使用後備客戶端或多餘的網路連線來達到極長的線上時間,因為離線的後果並沒有那麼嚴重。
8. 作惡的驗證者會遭受什麼懲罰?
同樣視情況而定。惡意行為 (例如,投票給無效或有衝突的區塊) 會讓驗證者遭到罰沒。在早期最低罰沒金額是0.25 ETH ,之後會恢復至1 ETH的低限,但是如果其他驗證者在同一時間也遭到罰沒,這一金額會增加。這樣設計的目的是儘可能減少驗證者因無心之失而蒙受的損失,但同時有力防止協同攻擊。
9. 罰沒是什麼?
罰沒有兩個作用:1) 大幅提高攻擊 ETH 2.0 的成本,使攻擊無利可圖;2) 透過檢查驗證者是否履行其職責來防止他們偷懶。
對驗證者進行罰沒,指的就是如果有驗證者被證明作惡,他們的部分或全部權益就會被銷燬。遭到罰沒的驗證者無法繼續參與網路的共識機制,會被強制退出。
金鑰篇
1. 簽名金鑰 (signing key) 丟失了會有什麼後果?
如果簽名金鑰丟失,驗證者將無法繼續提議或證明區塊。慢慢地,驗證者的餘額將逐漸減少,因為驗證者由於無法參與共識流程而受到懲罰。當驗證者的餘額減少至16 ETH時,系統便會自動將其逐出驗證者池。
然而,這並不意味著驗證者要失去質押的所有ETH了。假設驗證者是透過EIP2334 (根據預設的引導流程) 生成其簽名金鑰,那麼驗證者總是可以根據提款金鑰重新計算其簽名金鑰。
然後就可以憑藉提款金鑰提出那16個ETH了,大概要一天後提款才能到賬。請注意,如果同一時間退出或被逐出網路的驗證者太多了,等待時間將會更長。
2. 提款金鑰 (withdrawal key) 丟失了會有什麼後果?
如果提款金鑰丟失了,驗證者將無法訪問質押的ETH了。因此,建議驗證者使用助記詞 (mnemonics) 來建立提款金鑰,作為備份。如果驗證者是透過此Launchpad的引導流程加入的,其提款金鑰將預設透過助記詞建立。
3. 提款金鑰被盜取了會如何?
如果提款金鑰被盜,盜竊者可以轉移驗證者的餘額,但只能在驗證者退出之後才能進行此操作。如果盜竊者沒有簽名金鑰,那麼其無法強制驗證者退出。這時驗證者先憑藉簽名金鑰快速退出驗證者節點,然後在盜竊者之前憑藉提款金鑰將資金轉走。
4. 為什麼要有兩個金鑰?
簡而言之,就是為了安全。簽名金鑰必須保證隨時可用。因此,簽名金鑰必須保持線上。由於儲存線上上的東西尤其容易受攻擊,因此不建議同時用簽名金鑰進行提款。