V神發布ETH2.0信標鏈首個硬分叉提案HF1,引入更公平的節點懲罰機制
編者按:本文來自巴比特資訊(ID:bitcoin8btc),作者:Kyle,經授權發布。
編者按:本文來自
巴比特資訊(ID:bitcoin8btc)
巴比特資訊(ID:bitcoin8btc)
,作者:Kyle,經授權發布。
編者按:本文來自
巴比特資訊(ID:bitcoin8btc)
巴比特資訊(ID:bitcoin8btc)
,作者:Kyle,經授權發布。
編者按:本文來自
巴比特資訊(ID:bitcoin8btc)https://github.com/ethereum/eth2.0-specs/pull/2130
巴比特資訊(ID:bitcoin8btc)
,作者:Kyle,經授權發布。
“以太坊創始人V神在推特上介紹了以太坊信標鏈第一個硬分叉(暫定名為“HF1”)升級提案。V神稱,HF1添加了輕客戶端支持,簡化了規範,提高了效率,並引入了懲罰性較小的不活躍懲罰機制。根據文件,硬分叉將使開發人員可以對最近發布的信標鏈進行一些關鍵的升級,也將成為將來進行更深層更改的有用測試。其中輕客戶端支持對資源的要求最低,並且可以在移動設備上運行的節點。這將允許“最小化信任的錢包”能夠自己驗證區塊鏈,而不是依賴於外部服務提供者。”https://github.com/ethereum/eth2.0-specs/pull/2176
HF1是以太坊信標鏈的第一個硬分叉升級的暫定代碼名稱(有關該硬分叉的長期命名思路,請參見此處)。 HF1的主要目標是:
添加輕客戶端支持
修復信標鏈中的一些脆弱點。這些脆弱點被發現時已經太晚而沒能在信標鏈創世啟動時修復。
在較小的更改升級環境下對信標鏈的硬分叉升級機制進行測試,以便以後進行更大的更改。
HF1中提出的共識更改內容包括:https://github.com/ethereum/eth2.0-specs/issues/2098
同步委員會
我們向信標鏈添加一個隨機抽取的“同步委員會”。這樣做的目的是允許輕客戶端使用很少的overhead(每天最少僅需大約20千字節,驗證單個區塊僅需大約500字節)來確定鏈head。這將使輕客戶端實際上可在移動設備、內置瀏覽器之類的使用案例中使用信標鏈,從而為實現更加信任最小化的錢包生態系統鋪平道路。https://github.com/ethereum/eth2.0-specs/pull/2192
https://github.com/ethereum/eth2.0-specs/pull/2194
在每個時間段(約27小時)內,隨機選擇1024位驗證者作為同步委員會的成員。同步委員會中的驗證者節點將發布簽名以向當前的head進行證明。這些簽名將作為LightClientUpdate對象的一部分進行廣播,該對象可以幫助輕客戶端找到這個head,並將被包含在信標鏈中以得到獎勵。
INACTIVITY_PENALTY_QUOTIENT: reduced from 2**26 (= 67,108,864) to 3 * 2**24 (= 50,331,648)
PROPORTIONAL_SLASHING_MULTIPLIER: increased from 1 to 2
MIN_SLASHING_PENALTY_QUOTIENT: reduced from 2**7 (= 128) to 2**6 (= 64)
更多內容:
記賬改革(第一級)
我們替換了證明者獎勵的計算方式。不同於存儲PendingAttestation對象並且最後處理它們,我們選擇添加了一個位域,用於存儲每個驗證者的狀態,從而可以實時累積有關誰參與的數據。位域按“改組順序”排序,以確保同一委員會中驗證者的記錄一起顯示。這種更改的目的是簡化客戶端實現,並使更新Merkle樹更加便宜。

具體參考:
記賬改革(第二級)https://econcs.pku.edu.cn/wine2020/wine2020/Workshop/GTiB20_paper_8.pdf
我們對驗證者集進行更改,並且懲罰記賬僅每64個時期(epoch)發生一次,而不是每個單一時期。這樣做的目的是大大降低處理“空白時期過渡”的複雜性——例如,有一條鏈的參與度非常低,其中兩個連續的區塊相隔一千個slot,它們之間只有一個空白時期。為了處理這樣的鏈,目前客戶端需要每個時期重新計算每個驗證者的餘額一次,以此對驗證者進行不活躍懲罰; 而在新的提案中,他們只需要每64個時期執行一次。
此外,我們對不活躍懲罰的工作方式進行了兩項更改:https://github.com/ethereum/eth2.0-specs/pull/2197
不活躍懲罰將變為每個驗證者的二次方。也就是說,如果存在不活躍懲罰,在此期間完全離線的驗證者會損失約10%的餘額,那麼在此期間90%的時間在線的驗證者現在只會損失約0.1%的餘額(相對於〜 1%)。這試圖將處罰重點放在真正行為不當的節點上,減少對由於網絡連接問題而離線的誠實節點。
更多的討論可以參考此處:
驗證者不活躍懲罰在確定後逐漸減慢而不是停止。這樣可確保一旦達到最終狀態,離線節點將繼續失去餘額一段時間,從而確保驗證者在線時間百分比顯著高於2/3,而不是僅稍高於該閾值。


