激勵協議中更好的(Of)去中心化的(Of)一(One)種策略是(Yes)懲罰相關性。 也就是(Yes)說,如果一(One)個(Indivual)參與者行爲(For)不(No)當(包括意外),那麽與他(He)們同時(Hour)行爲(For)不(No)當的(Of)其他(He)參與者(以(By)總 ETH 衡量)越多,他(He)們受到的(Of)懲罰就會越大(Big)。 該理論認爲(For),如果你是(Yes)一(One)個(Indivual)大(Big)型參與者,那麽你所犯的(Of)任何錯誤都更有可能在(Exist)你控制的(Of)所有“身份”中複制,即使你将你的(Of)代币分散到許多名義上(Superior)獨立的(Of)賬戶中。
這(This)項技術已經在(Exist)以(By)太坊削減(以(By)及可以(By)說是(Yes)不(No)活動洩漏)機制中得到應用(Use)。 然而,僅在(Exist)極特殊的(Of)攻擊情況下出(Out)現的(Of)邊緣情況激勵措施在(Exist)實踐中可能永遠不(No)會出(Out)現,可能不(No)足以(By)激勵去中心化。
這(This)篇文章建議将類似的(Of)反相關激勵擴展到更“平凡”的(Of)失敗案例中,例如錯過證明,幾乎所有驗證者至少偶爾都會這(This)樣做。 該理論認爲(For),較大(Big)的(Of)質押者,包括富有的(Of)個(Indivual)人(People)和(And)質押池,将在(Exist)同一(One)互聯網連接甚至同一(One)台物理計算機上(Superior)運行許多驗證器,這(This)将導緻不(No)成比例的(Of)相關失敗。 這(This)樣的(Of)質押者總是(Yes)可以(By)爲(For)每個(Indivual)節點進行獨立的(Of)物理設置,但如果他(He)們最終這(This)樣做,那就意味着我們已經完全消除了(Got it)質押的(Of)規模經濟。
健全性檢查:同一(One)“集群”中不(No)同驗證器的(Of)錯誤實際上(Superior)更有可能相互關聯嗎?
我們可以(By)通過組合兩個(Indivual)數據集來檢查這(This)一(One)點:(i) 最近一(One)些時(Hour)期的(Of)證明數據,顯示在(Exist)每個(Indivual)時(Hour)隙期間哪些驗證器應該經過證明,以(By)及哪些驗證器實際進行了(Got it)證明,以(By)及 (ii) 将驗證器 ID 映射到公開的(Of)數據包含許多驗證器的(Of)集群(例如“Lido”、“Coinbase”、“Vitalik Buterin”)。 您可以(By)在(Exist)此處、此處和(And)此處 找到前者的(Of)轉儲,在(Exist)此處 找到後者的(Of)轉儲。
然後,我們運行一(One)個(Indivual)腳本來計算共同失敗的(Of)總數:同一(One)集群中的(Of)兩個(Indivual)驗證器的(Of)實例被分配在(Exist)同一(One)時(Hour)間槽内進行證明,并在(Exist)該時(Hour)間槽中失敗。
我們還計算預期的(Of)共同故障:如果故障完全是(Yes)随機機會的(Of)結果,則“應該發生”的(Of)共同故障的(Of)數量。
例如,假設有 10 個(Indivual)驗證器,其中一(One)個(Indivual)集群大(Big)小爲(For) 4,其他(He)集群獨立,并且 3 個(Indivual)驗證器失敗:兩個(Indivual)在(Exist)該集群内,一(One)個(Indivual)在(Exist)集群外。
這(This)裏有一(One)個(Indivual)共同失敗:第一(One)個(Indivual)集群中的(Of)第二個(Indivual)和(And)第四個(Indivual)驗證器。 如果該集群中的(Of)所有四個(Indivual)驗證器都失敗了(Got it),則會出(Out)現六個(Indivual)共同失敗,每六個(Indivual)可能的(Of)對有一(One)個(Indivual)。
但“應該”有多少共同失敗呢? 這(This)是(Yes)一(One)個(Indivual)棘手的(Of)哲學問題。 回答的(Of)幾種方式:
對于(At)每次失敗,假設共同失敗的(Of)數量等于(At)該時(Hour)隙中其他(He)驗證器的(Of)失敗率乘以(By)該集群中驗證器的(Of)數量,并将其減半以(By)補償重複計算。 對于(At)上(Superior)面的(Of)例子,給出(Out)了(Got it)2/3。
計算全局故障率,平方,然後乘以(By)[n*(n-1)]/2對于(At)每個(Indivual)集群。 這(This)是(Yes)給定的(Of)[(3/10)^2]*6=0.54
将每個(Indivual)驗證者的(Of)失敗随機重新分布到其整個(Indivual)曆史記錄中。
每種方法都不(No)是(Yes)完美的(Of)。 前兩種方法未能考慮具有不(No)同質量設置的(Of)不(No)同集群。 同時(Hour),最後一(One)種方法未能考慮到具有不(No)同固有困難的(Of)不(No)同時(Hour)隙所産生的(Of)相關性:例如,時(Hour)隙 8103681 具有大(Big)量的(Of)證明,這(This)些證明未包含在(Exist)單個(Indivual)時(Hour)隙中,可能是(Yes)因爲(For)該塊已發布異常遲到。
我最終實現了(Got it)三種方法:上(Superior)面的(Of)前兩種方法,以(By)及一(One)種更複雜的(Of)方法,我将“實際共同失敗”與“假共同失敗”進行比較:每個(Indivual)集群成員被替換爲(For)(僞)随機驗證器的(Of)失敗具有相似的(Of)故障率。
我還明确區分了(Got it)失誤和(And)錯過。 我對這(This)些術語的(Of)定義如下:
失誤:當驗證者在(Exist)當前時(Hour)期錯過證明,但在(Exist)上(Superior)一(One)個(Indivual)時(Hour)期正确證明時(Hour);
錯過:當驗證者在(Exist)當前時(Hour)期錯過了(Got it)證明并且在(Exist)上(Superior)一(One)個(Indivual)時(Hour)期也錯過了(Got it)證明時(Hour)。
目标是(Yes)區分兩種截然不(No)同的(Of)現象:(i) 正常運行期間出(Out)現網絡故障,以(By)及 (ii) 離線或出(Out)現長期故障。
我還同時(Hour)對兩個(Indivual)數據集進行此分析:最大(Big)截止日期和(And)單槽截止日期。 僅當根本不(No)包含證明時(Hour),第一(One)個(Indivual)數據集才會将驗證器視爲(For)在(Exist)一(One)個(Indivual)時(Hour)期内失敗。 如果證明未包含在(Exist)單個(Indivual)槽中,第二個(Indivual)數據集将驗證器視爲(For)失敗。
“預期”和(And)“假集群”列顯示,如果集群不(No)相關,基于(At)上(Superior)述技術,集群内“應該”有多少共同故障。 “實際”列顯示實際有多少共同故障。 一(One)緻地,我們看到集群内“過多相關失敗”的(Of)有力證據:同一(One)集群中的(Of)兩個(Indivual)驗證器比不(No)同集群中的(Of)兩個(Indivual)驗證器同時(Hour)錯過證明的(Of)可能性明顯更大(Big)。
我們如何将其應用(Use)到懲罰規則中?
我提出(Out)了(Got it)一(One)個(Indivual)簡單的(Of)論點:在(Exist)每個(Indivual)槽中,令 p 爲(For)當前錯過的(Of)槽數除以(By)最後 32 個(Indivual)槽的(Of)平均值。
該時(Hour)隙證明的(Of)懲罰應與 p 成正比。
也就是(Yes)說,與其他(He)最近的(Of)槽位相比,未證明某個(Indivual)槽位的(Of)懲罰應與該槽位中失敗的(Of)驗證者數量成正比。
這(This)種機制有一(One)個(Indivual)很好的(Of)特性,那就是(Yes)它不(No)容易被攻擊:在(Exist)任何情況下,失敗都會減少你的(Of)懲罰,并且操縱平均值足以(By)産生影響需要(Want)你自己進行大(Big)量的(Of)失敗。
現在(Exist),讓我們嘗試實際運行它。 以(By)下是(Yes)四種懲罰方案對大(Big)集群、中集群、小集群和(And)所有驗證器(包括非集群)的(Of)總懲罰:
基本:每次失誤扣一(One)分(即類似于(At)現狀)
basic_ss:相同,但需要(Want)包含單槽才算作(Do)未命中
超額:用(Use)上(Superior)面計算的(Of) p 來懲罰 p 點
extra_ss:用(Use)上(Superior)面計算的(Of) p 來懲罰 p 點,要(Want)求單槽包含不(No)計爲(For)未命中使用(Use)“基本”方案,大(Big)方案比小方案有約 1.4 倍的(Of)優勢(在(Exist)單槽數據集中約 1.2 倍)。 使用(Use)“額外”方案,該值下降至約 1.3 倍(在(Exist)單時(Hour)隙數據集中約 1.1 倍)。 通過多次其他(He)叠代,使用(Use)略有不(No)同的(Of)數據集,超額懲罰方案統一(One)縮小了(Got it)“大(Big)人(People)物”相對于(At)“小人(People)物”的(Of)優勢。
這(This)是(Yes)怎麽回事?
每個(Indivual)插槽的(Of)故障數量很少:通常隻有幾十個(Indivual)。 這(This)比幾乎任何“大(Big)額股份”都要(Want)小得多。 事實上(Superior),它比大(Big)型質押者在(Exist)單個(Indivual)槽位中活躍的(Of)驗證者數量還要(Want)少(即其總存量的(Of) 1/32)。 如果大(Big)型質押者在(Exist)同一(One)台物理計算機或互聯網連接上(Superior)運行許多節點,那麽任何故障都可能會影響其所有驗證器。
這(This)意味着:當大(Big)型驗證者出(Out)現證明包含失敗時(Hour),他(He)們會單槍匹馬地改變當前槽的(Of)失敗率,這(This)反過來又會增加他(He)們的(Of)懲罰。 小型驗證器不(No)會這(This)樣做。
原則上(Superior),大(Big)股東可以(By)通過将每個(Indivual)驗證者置于(At)單獨的(Of)互聯網連接上(Superior)來繞過這(This)種懲罰方案。 但這(This)犧牲了(Got it)大(Big)型利益相關者能夠重用(Use)相同物理基礎設施的(Of)規模經濟優勢。
進一(One)步分析
尋找其他(He)策略來确認這(This)種影響的(Of)大(Big)小,其中同一(One)集群中的(Of)驗證器很可能同時(Hour)出(Out)現證明失敗。
嘗試找到理想的(Of)(但仍然簡單,以(By)免過度拟合和(And)不(No)可利用(Use))獎勵/懲罰方案,以(By)最小化大(Big)型驗證者相對于(At)小型驗證者的(Of)平均優勢。
嘗試證明此類激勵方案的(Of)安全特性,理想情況下确定一(One)個(Indivual)“設計空間區域”,其中奇怪攻擊的(Of)風險(例如,在(Exist)特定時(Hour)間戰略性地離線以(By)操縱平均值)成本太高,不(No)值得。
按地理位置聚類。 這(This)可以(By)決定該機制是(Yes)否也能激勵地理上(Superior)的(Of)去中心化。
通過(執行和(And)信标)客戶端軟件進行集群。 這(This)可以(By)決定該機制是(Yes)否也能激勵使用(Use)少數客戶。
微信咨詢