以太坊2.0 Staking老司機指南:避免罰沒的三大技巧
編者按:本文來自巴比特資訊(ID:bitcoin8btc)編者按:本文來自
巴比特資訊(ID:bitcoin8btc)
巴比特資訊(ID:bitcoin8btc)
編者按:本文來自
巴比特資訊(ID:bitcoin8btc)
巴比特資訊(ID:bitcoin8btc)
編者按:本文來自
巴比特資訊(ID:bitcoin8btc)
巴比特資訊(ID:bitcoin8btc)
,作者:Raul Jordan,翻譯:灑脫喜,經授權發布。
本文討論了以太坊2.0網絡中的罰沒(slashing)機制,對於Staking參與者(尤其是自己親自參與的),你需要了解哪些情況會導致罰沒,以及如何避免被罰沒。本文檔中提供的大多數信息與客戶端選擇無關,這意味著它將適用於所有用戶,而不管他們選擇運行Prysm、Lighthouse、Teku、Nimbus還是其他以太坊2.0客戶端。
原文作者是Prysmatic Labs聯合創始人Raul Jordan。
*重要免責聲明*
Prysmatic Labs對用戶的資金損失不承擔任何責任,無論原因是什麼,包括客戶端漏洞或文檔錯誤,這種責任的免除延伸到了罰沒過程。儘管每個以太坊2.0客戶端都盡最大努力確保代碼庫是安全的,但與其他任何開發項目一樣,總是會存在出錯的可能性。參與以太坊2.0是一項有風險的活動,重要的是參與者需要研究並理解他們要承擔的風險及責任。
什麼是罰沒(slashing)?
不要將罰沒和不活動處罰混淆,罰沒的目標是抑制那些試圖傷害以太坊2.0網絡的人,並反過來獎勵那些按計劃維護、管理和運營以太坊2.0網絡的人。罰沒的的主要目的是減輕在以太坊2.0網絡上執行的攻擊,例如在不同的歷史檢查點視圖上創建相互衝突的驗證者分支。
正確遵循協議的驗證器在正常操作中永遠不會發出可遭到罰沒的投票,驗證器不會因為離線而遭到罰沒。https://github.com/protolambda/eth2-surround
罰沒的行為會破壞掉那些傷害以太坊網絡的驗證者的質押資金,強迫他們離開網絡,並通過促進好的參與者來加強區塊鏈的安全性。
圖片描述
儘管罰沒是一種懲罰方式,但即便是一個正常用戶,如果其驗證器配置不正確,仍有可能遭到罰沒。因此,了解如何正確設置和管理驗證器客戶端和操作系統是至關重要的,用戶還應避免在不了解其全部功能的情況下嘗試使用高級指令。1、2驗證器在同一個slot中使用不同的root(本質上內部數據的哈希)提出兩個衝突的區塊。如果這類操作沒有遭到懲罰,那麼驗證者就很容易創建不必要的分叉,或造成混亂。注:簡單地提出相同的區塊兩次,並不會遭到罰沒;
圖片描述
驗證器在同一個slot中證明兩個衝突的區塊。這被稱為雙重投票,也意味著驗證者可能試圖創建衝突的鏈分叉。注:簡單地為相同區塊投票兩次,並不會遭到罰沒;
驗證器投出的投票“包圍”(surround)或被之前的投票“包圍”,這意味著驗證者試圖投票反對歷史,這種情況下就會遭到罰沒;圖片描述);
以太坊2.0 surround 投票,來自
遭到罰沒後,會發生什麼?
儘管存在多個防止罰沒的機制,但每個驗證器密鑰對僅被一個驗證器使用是至關重要的。這聽起來很容易,但是當配置了多個驗證器時,很容易錯誤地還原驗證器並複制已經運行的驗證器。進行更改時,請始終確認正在使用/恢復/設置正確的驗證器密鑰。
)找到一些其他資源。此處。
如果驗證器遭到罰沒,則會發生很多事情:
遭到罰沒的驗證器會面臨三種懲罰類型(
此處
來源
在每個epoch週期開始進行懲罰,直到驗證器離開退出隊列;
此處
在舉報信息被包括在一個區塊內,以及遭罰沒的驗證器退出之間的中間時間,將實施特別處罰,這一特殊處罰與在此期間有多少其他驗證器遭到罰沒成比例。所適用的最大值,可達到相關罰沒對象的所有有效餘額。
這意味著,如果驗證器遭到罰沒,它會立即受到懲罰,並將持續受到約36天的處罰,直到其可以退出為止,並且在18-36天的時間內,還會受到一次性罰款,而罰沒的金額還受到同一epoch時期遭罰沒的驗證器數量的影響(即判定這是一次次協同攻擊,還是單獨的攻擊)。有關更詳細的說明,請訪問
此處
最後,值得注意的是,遭到罰沒的驗證器無法重新進入驗證器集。如果驗證者要繼續驗證,就需要進行新的質押以及生成新的密鑰,而罰沒是不可逆的!
總的來說,遭到罰沒會導致你質押的ETH不斷變少,並在中途遭受重大損失。在36天后,你可以退出信標鏈,也可以撤回所有剩餘的ETH,而在這36天的時間段內,你會損失很大一部分的ETH。
會導致罰沒的常見用戶錯誤
儘管上面提到的罰沒場景對普通用戶而言似乎是不可能發生的,但不正確的配置,很可能會導致誠實的驗證者也會遭到罰沒!以下是一些可能發生這種情況的場景:
1、相同的驗證密鑰同時運行在兩個服務器上,其中一個可能用作故障轉移,以防第一個服務器出現故障。
說明:這是最容易讓你遭到罰沒的方式,如果你的故障轉移系統誤報第一個節點已關閉,你可能會發現自己處在遭遇罰沒的境地。
2、你把密鑰遷移至另一台計算機或另一個以太坊2.0客戶端,而沒有遷移你的罰沒保護歷史記錄;這裡說明:失去罰沒保護歷史記錄,可能會導致一些問題,比如你的時鐘被弄亂,從而產生會遭到罰沒的區塊或投票。這裡這裡
5、可能導致罰沒錯誤的協議漏洞(這種情況不太可能發生,而它會是最糟糕的情況)
這裡
這裡
選擇驗證器時,了解如何設置、配置,升級和排除任何已安裝軟件的故障是至關重要的。在
這裡
這裡
( ethereumprice.org)可以找到一個很好的資源來更好地理解參與以太坊2.0 Staking的風險,
這裡
還有另一個解釋如何檢測罰沒條件的資源。
誰在實行罰沒?
罰沒者(Slasher)
罰沒器(Slasher)是指一個單獨的軟件,其主要目的是檢測可罰沒的事件。你可以把罰沒器(Slasher)想像成以太坊2.0網絡的“警察”,由於檢測惡意消息所需的額外數據和進程,通常這些罰沒器是獨立於信標節點運行的。為了檢測可罰沒的消息,罰沒器記錄網絡上每個驗證器的證明和提議歷史記錄,並將該歷史記錄與廣播的內容交叉引用,以找到可罰沒的消息,例如雙重區塊或surrounding投票。
網絡所需要的是一個誠實的罰沒器客戶端來監視網絡,因為發現的任何罰沒都會傳播到整個網絡,以便盡快將其放入一個區塊中。
舉報人獎勵
為了激勵罰沒檢測,驗證器將獲得一種“舉報人獎勵”,這是在信標鏈上對提交具有任何有效罰沒的區塊的獎勵。這些獎勵是給予那些參與罰沒的驗證者的,通常每個驗證者大約有0.1 ETH獎勵。
雖然激勵檢測是有價值的,但如果你在Prysm中發現了罰沒,僅運行一個罰沒器客戶端是不會獲得舉報人獎勵的。默認情況下,發現的任何罰沒都會廣播到網絡以盡快包含在區塊中,因此,通常在檢測到罰沒後,獎勵會立即發給提議者,而不是發給運行罰沒器的驗證者。
運營一個罰沒器並不意味著有利可圖。罰沒本就是罕見的,舉報人獎勵也被設置地很低。本質上,運營罰沒器相當於一種利他行為,再次強調,網絡中只需激活一個誠實的、功能正常的罰沒器,即可捕獲到違規行為。幸運的是,這是低門檻的,我們設想會有相當多的用戶和實體將運行罰沒器來確保網絡安全。
罰沒預防針
我們有好消息要告訴大家,罰沒是可以預防的!有很多最佳實踐可確保我們不會遭到罰沒,但重要的是要了解它們。
1、本地罰沒保護數據庫
一種由多個客戶端實現的罰沒保護方法是本地簽名歷史數據庫。該功能在Prysm的驗證者客戶端中是默認啟用的。該數據庫確保驗證器根據其自身的歷史記錄不對被視為可罰沒消息的消息進行簽名。更簡單地說,驗證器在決定是否應對消息進行簽名時,會將數據庫視為其唯一的真實來源。這種方法確保單個驗證器不會執行重複的操作。
需要注意的是,本地罰沒保護無法防止使用相同的驗證器密鑰運行多個驗證器實例。
2、遠程罰沒保護以太坊防止罰沒的另一種替代實現方式是使用罰沒器(slasher)。罰沒器記錄它收到的所有證明和區塊,驗證器在同意簽署消息之前會引用它。與本地簽名歷史數據庫相比,這種方法是一種更強的罰沒保護方式,但與數據庫一樣,此方法無法防止運行同一驗證器的多個實例。EIP-3076如果檢查通過,數據將通過信標節點。這是最先進的罰沒保護形式,因為理想情況下,罰沒器了解網絡中發生的所有事件,並記錄了每個驗證器的區塊和證明歷史。但有一點需要注意的是,在Prysm中,遠程罰沒保護還沒有優化,因為我們的罰沒器仍然是資源消耗大戶。鑑於我們的罰沒器資源消耗很高,這可能會導致你的驗證器錯過證明或區塊。遠程罰沒保護旨在作為本地罰沒保護之上的附加層運行。出於安全原因,用戶無法在Prysm中禁用本地罰沒保護。
以太坊
3、遷移你的罰沒保護歷史
有時,你可能希望切換Staking機器,或者你可能希望遷移到適合你的不同的以太坊2.0客戶端。無論如何,你都應始終攜帶好你的罰沒保護記錄。
以太坊
罰沒保護標準:EIP-3076
目前有一個官方標準用於遷移
以太坊
2.0客戶端之間的罰沒保護歷史記錄,它被稱為
。該標準建議在JSON文件中表示驗證器的罰沒保護歷史記錄。該文件包含了:
有關驗證歷史記錄的鏈的初始狀態信息(用於區分測試網和主網);
有關用戶正在運行的驗證器公鑰的所有簽名區塊以及簽名證明信息;
通過導出此文件,並在遷移到另一台計算機或以太坊2.0客戶端時導入它,你將獲得大量好處,並能夠免受未存儲此本地歷史記錄的情況下的簡單罰沒條件。
將現有的驗證密鑰導入Prysm
截至發稿時,在Prysm的v1.0.1版本中,Prysm不允許用戶將EIP-3076 罰沒保護JSON文件導入驗證器客戶端。這是Prysm團隊的首要任務,可能會在以太坊2.0主網上線後的下一個版本中實現這個功能。


