本文作者維塔利克·布特林討論了以太坊權益證明(PoS)系統的改進潛力,特別是在經濟最終性、性能和小型驗證者的可及性等方面。文章提出了多個技術改進思路,包括降低質押門檻至1 ETH、實現更快的交易確認以及單槽性最終性的新機制,以提高安全性和效率。同時,提到需要解決的挑戰,如DoS攻擊風險和管理規模的複雜性,以及與現有研究的關聯。最終,文章強調提升以太坊整體安全性和去中心化的重要性。
作者:維塔利克‧布特林
編譯:鄧通,金財經
特別感謝Justin Drake、Hsiao-wei Wang、@antonttc 和Francesco 的回饋和審查。
最初,「合併」是指以太坊協議自推出以來歷史上最重要的事件:期待已久且來之不易的從工作量論證到權益論證的過渡。現在,以太坊已經成為一個穩定運作的權益論證系統近兩年了,這種權益證明在穩定性、性能和避免中心化風險方面表現出色。然而,權益證明一些重要領域需要改進。
我2023年的路線圖將其分為幾部分:改進技術特性,例如穩定性、性能和對較小驗證者的可近性,以及經濟變化和應對中心化風險。取代了「合併」的標題,而成為「禍害」的一部分。
本文將重點放在「合併」部分:權益論證的技術設計還有哪些可以改進的地方,有哪些途徑可以實現這些改進?
這不是一個可以對權益證明進行改進的增值清單;相反,這是一個正在積極考慮的想法清單。
單槽性最終與質押民主化
我們正在解決什麼問題?
目前,需要2-3 個epoch(約15 分鐘)才能完成一個區塊,並且需要32 ETH 才能成為質押者。這最初是為了在三個目標之間取得平衡而做出的妥協:
最大化可以參與質押的驗證者數量(這直接意味著最小化質押所需的最小ETH) 最小化完成時間最小化運行節點的頭部
這三個目標是相互衝突的:為了實現經濟最終性(即攻擊者需要輸入大量ETH 才能恢復最終確定的區塊),每次最終確定時,每個驗證者都需要簽署替換訊息。因此,如果您有許多驗證者,或者需要很長時間來處理所有簽名,或者需要非常強大的節點來同時處理所有簽名。
請注意,這一切都圍繞著以太坊的關鍵目標:即使確保成功的攻擊基因為攻擊者帶來巨大的成本。這就是「經濟最終性」行動的意義。如果沒有這個目標,那麼我們可以透過隨機每個選擇一個委員會(例如Algorand 執行的攻擊那樣)來最終確定時間來解決這個問題。但這種方法的問題存在,如果人確實控制了51% 的驗證者,那麼他們可以以非常低的成本進行攻擊(恢復確定最終的區塊、審查或延遲最終確定):只有委員會中的部分節點可以被偵測為參與攻擊並受到懲罰,無論是被砍還是少數軟分叉。這意味著著攻擊者可以多次重複攻擊該鏈。因此,如果我們想要經濟最終性,那麼基於委員會的簡單方法是行不通的,乍一看,我們確實需要驗證者參與。
理想情況下,我們希望保留經濟終結性,同時在兩方面改善現狀:
在一個小時內終止區塊(理想情況下,保持甚至減少當前12 秒的長度),而不是15 分鐘允許驗證者用1 ETH 進行質押(從32 ETH 降至1 ETH)
第一個目標由兩個目標證明,這兩個目標都可以是「使以太坊的屬性與(更中心化的)關注性能的L1鏈的屬性保持一致」。
首先,它確保所有以太坊用戶都能從透過最終確定的機制實現更高等級的安全保障中受益。現在,大多數用戶都無法享受等待這種保障,因為他們不願意15分鐘;而透過單槽最終確定機制,用戶幾乎可以在交易確認後立即看到交易最終確定。 其次,如果使用者和應用程式不必擔心鏈回滾的可能性(除非出現相對罕見的不活動遺漏情況),那麼就簡化了協定和周圍的基礎設施。
第二個目標是為了支持單獨質押者的願望。一次又一次的民意調查一再表明,阻止更多人單獨質押的主要因素是32 ETH 的最低中斷。將最低中斷降低到1 ETH 將解決這個問題,至此其他問題成為限制單獨質押的主要因素。
有一個挑戰:更快的確定性和更民主化的質押目標都與最小化開銷的目標相矛盾。事實上,這個事實是我們一開始不採用單一確定性的全部原因。然而,最近的研究提出了一些解決這個問題的可能方法。
它是什麼以及如何運作的?
一時的最終性涉及在一個時限內使用最終確定的區塊鏈的思想演算法。這本身並不是一個難以實現的目標:許多演算法(例如Tendermint 思想)已經以最佳屬性實現了這一點。這個以太坊有一個理想屬性是Tendermint 不支援的不活動洩漏,即使超過1/3 的驗證者離線,該屬性也允許鏈繼續運行並最終恢復。幸運的是,這個願望已經被滿足:已經有提示Tendermint方式學習以適應活動不漏。
領先者的單槽最終性提案
問題最困難的部分是弄清楚如何使單槽最終性在驗證者數量非常高的情況下發揮作用,而不會導致極高的節點運營商隊伍。因此,有幾個前面的解決方案:
選項1:暴力破解-努力實現更好的簽章聚合協議,可能使用ZK-SNARKs,這實際上允許我們處理每個插槽中數百萬個驗證器的簽章。
Horn,為了更好的聚合協議而提出的設計之一。
選項2:軌道委員會– 一種新機制,允許隨機選擇的中型委員會負責最終確定的鏈,但保留我們正在尋找的攻擊成本屬性的方式。
思考Orbit SSF的一種方法是,它開闢了一個妥協選項空間,範圍從x=0(Algorand式委員會,沒有經濟最終性)到x=1(以太坊迷宮),在中間開闢了點,以太坊仍然具有足夠的經濟最終性以實現極大的安全性,但同時我們只需要中等規模的隨機驗證者樣本參與即可獲得較高的效率優勢。
Orbit利用驗證者規模預先的異質性來獲得補充的經濟最終性,同時仍將給予驗證者相應的角色。此外,Orbit使用緩慢的委員會輪調來確保至少幾個之間的高度重疊,從而保證其最終的經濟性仍然適用於委員會輪調邊界。
選項3:兩層質押-一種機制,其中質押者分為兩類,一類的存款要求較高,另一類的存款要求較低。只有要求較高的存款的製度才會直接參與提供經濟最終性關於存款要求較低的體系究竟有哪些權利和責任,有各種提案(例如,除了Rainbow質押帖子)。常見的想法包括:
將權益委託賦予更高系統的權益持有者的權利隨機抽取的底層結構權益持有者證明並需要完成每個區塊生成納入列表的權利與現有研究有哪些聯繫? 實現單槽最終性的途徑(2022):https://notes.ethereum.org/@vbuterin/single_slot_finality 以太坊單槽最終性協議的具體提案(2023):https://eprint.iacr.org/2023 /280 軌道SSF:https://ethresear.ch/t/orbit-ssf-solo-stake-friend-validator-set-management-for-ssf/19928 對軌道風格機制的進一步分析:https://notes. ethereum.org/@anderselowsson/Vorbit_SSF Horn,簽章聚合協議(2022):https://ethresear.ch/t/horn-collecting-signatures-for-faster-finality/14219 大規模認知的簽章合併(2023) : https://ethresear.ch/t/signature-merging-for-large-scale-consensus/17386?u=asn Khovratovich等人提出的簽名聚合協議:https://hackmd.io/@7dpNYqjKQguYC7wMlPxHtQ/By#kM30dpNYqjKQguYC7wMlPxHtQ/By#kM30dpNYq / 基於STARK的簽章聚合(2022):https://hackmd.io/@vbuterin/stark_aggregation 彩虹質押:https://ethresear.ch/t/unbundling-stake-towards-rainbow-stake/18683 還剩下要做什麼?需要權衡什麼?
有四種主要的安裝路徑(我們也可以採取混合路徑):
維持現況軌道超空間輻射強力SSF 具有兩層質押的SSF
(1) 意味著不做任何工作,保持質押原樣,但使以太坊的安全體驗和質押中心化屬性變得比本來更糟糕。
(2)避免「高科技」,並透過解決地重新思考協議假設來解決問題:我們放寬了「經濟終結性」的要求,這樣我們就要求攻擊成本損失,但可以接受攻擊成本可能比現在低10倍(例如,攻擊成本為25億美元,是250億美元)。普遍認為,以太坊今天的經濟終結性超出了它所需的水平,它的主要安全性而不是在其他地方,所以這可以說是一個可以接受的犧牲。
主要的工作是驗證軌道機制是否安全並具有我們想要的屬性,然後完全形態化並實施它。另外,EIP-7251(增加最大有效餘額)允許自助驗證者餘額合併,這會立即減少鏈驗證頭部,並作為Orbit 推出的有效的初始階段。
(3)避免解決了重新思考的問題,而是用高科技強行問題。做到這一點需要在很短的期限(5-10秒)收集大量簽名(100萬以上)。
(4)避免了解決的重新思考和高科技,但它確實創造了一個兩層的質押系統,仍然具有中心化風險。風險很大程度取決於較低的質押層所獲得的特定權利。例如:
如果低體系質押者需要將其論證權委託給高體系質押者,那麼委託可能會中心化,最終我們就會得到兩個高度中心化的質押體系。 如果需要對低系統進行隨機污染物來批准每個區塊,那麼攻擊者可以花費極少量的ETH 來阻止最終性。 如果低結構押者只能製作納入列表,那麼論證層可能仍處於中心化狀態,此時對論證層的51% 攻擊可以審查納入列表本身。
可以組合多種策略,例如:
(1 + 2):增加軌道而不執行單槽最終性。 (1 + 3):利用強力技術減少最小存款規模執行而不是單最終槽性。所需的聚合量比純(3)的情況少64倍,因此問題拆分更容易。 (2 + 3):使用保守參數執行Orbit SSF(例如128k 驗證者委員會而非8k 或32k),並使用蠻力技術產生超高效率。 (1 + 4):添加彩虹質而不執行單槽最終性。 它如何與路線圖的其他部分互動?
除了其他好處之外,單槽終止性還降低了某些類型的多塊MEV攻擊的風險。此外,在單槽終止性世界中,證明者-建議者分離設計和其他協議內塊生產管道需要以不同的方式設計。
暴力策略的弱點是,它們使得整個時間變得更加困難。
單一秘密領導選舉
我們要解決什麼問題?
今天,哪個驗證者會提出下一個區塊是預先的。這會產生一個安全漏洞:攻擊者可以監視網絡,識別哪些驗證者對應哪些IP位址,並在驗證者即將提出區塊時知道它發動DoS 攻擊。
它是什麼?它是如何運作的?
解決DoS問題的最佳方法是隱藏哪個驗證者將產生下一個區塊的訊息,至少在實際區塊生成之前。請注意,如果我們刪除「單一」要求,這很容易:一個解決方案是讓任何人都可以創建下一個區塊,但要求randao 揭示小於2256 / N。平均而言,只有一個驗證者能夠滿足此要求– 但有時會有兩個或更多,有時會有零個。將「保密」要求與「單一」要求結合一直是一個難題。
單一的秘密領導者選舉協議透過使用一些加密貨幣技術為每個驗證者創建一個「盲」驗證者ID來解決這個問題,然後讓許多提議者對有機盲ID礦池進行改組和重新盲化(這相當於網路的工作方式選擇)。在每一個混合計算中,都會產生一個隨機的盲ID。只有該盲ID的所有者才能產生有效的證明來提議區塊,但沒有人知道該盲ID對應哪個驗證者。
攪拌SSLE 協議
有哪些現有研究的連結? Dan Boneh 的論文(2020 年):https://eprint.iacr.org/2020/025.pdf Whisk(以太坊的具體提議,2022年):https://ethresear.ch/t/whisk-a- practical-shuffle-based-ssle-protocol-for-ethereum/11763 ethresear.ch 上的單一秘密領導者選舉標籤:https://ethresear.ch/tag/single-secret-leader-election 使用環簽名的簡化SSLE :https://ethresear.ch/t/simplified-ssle/12315 還剩下做什麼?需要權衡什麼?
請注意,剩下的就是找到並實現一個足夠簡單的協議,以便我們可以輕鬆地在主網上實現它。我們非常重視以太坊是一個相當簡單的協議,我們不希望複雜性進一步增加。我們看到的SSLE實作增加了數百行規範代碼,並在複雜的加密貨幣中引入了新的假設。找出一個足夠有效的抗量子SSLE實作也是一個懸而未決的問題。
最終可能會出現這樣的情況:只有當我們因為其他原因(如狀態樹、ZK-EVM)在以太坊協議的L1上引入通用零知識證明機制時,SSLE的「邊際額外複雜性」才會下跌達到足夠低的程度。
另一個選擇是根本不理會SSLE,而是使用協定外部的部分措施(例如在p2p 層)來解決DoS 問題。
它如何與路線圖的其他部分互動?
如果我們加入論證者– 提議者分離(APS),例如執行票證,我們的執行區塊(即包含以太坊機制交易的區塊)將不需要SSLE,因為可以依賴專門的區塊建構器。那麼但是,對於共識區塊(即包含協定訊息(例如說明、可能包含清單的部分等)的區塊),我們仍將受益於SSLE。
更快的交易確認
我們正在解決什麼問題?
以太坊的交易無疑時間進一步減少是有價值的,從12 秒高效減少到4 秒。這樣做將顯著改善L1 和基於匯總的用戶體驗,同時使defi 協定更加容易。它還使L2 更容易去中心化,因為將允許大量的L2應用程式在基於匯總的上工作,從而減少L2構建自己的基於委員會的去中心化排序的需求。
它是什麼?它是如何運作的?
這裡大致有兩種技術:
減少時那麼短的時間,例如減少到8秒或4秒。這並不一定意味著4秒的最終性:最終性本質上需要三輪通信,因此我們可以將每輪通信做成一個單獨的塊,在4秒後至少會得到初步確認。 允許發起者在此時看到過程中發布預確認。在極端情況下,發起者可以即時將他們的交易納入他們的區塊中,並立即為每筆交易發布預先確認訊息(“我的第一筆”交易是0×1234…”,“我的筆交易是0×5678…”)。提議者發布兩個相互衝突的確認的情況可以通過兩種方式處理:(i)通過cut提案者,或(ii)通過使用證明者投票決定哪一個更早。有哪些現有研究的連結? -protocol-enforced-proposer-commitments-pepc/13879 時鐘鏈上的交錯週期(2018年實現低延遲的想法):https://ethresear.ch/t/staggered-periods/1793 剩下要做什麼,還有哪些權衡?
目前尚在縮短時間的實用性。在今天,即使世界上許多地區的質押者也很難快速獲得證明。嘗試4秒的時間短暫的時間存在中心化驗證者集的風險,並且由於延遲,在少數特權地區之外成為驗證者是不切實際的。
提議者預先確認方法的缺陷是它可以很大程度上改善平均情況下的包含時間,但不能改善最壞情況下的包含時間:如果當前提議者運作良好,您的交易將在0.5 秒內得到預確認,而不是(平均)6 秒內被納入,但如果當前發起者離線或運行失敗,您仍然需要等待整整12 秒才能開始下一個時隙並提供新的發起者。
此外,還有一個懸而未決的問題,就是如何激勵預先確認。提議者有動機接近時間來最大化他們的任選性。如果指定者簽署了預先確認的及時性可以,那麼交易發送者將部分費用以立即預確認為條件,但會給證明者收取額外的費用,並可能使證明者更難以繼續承擔中立的“啞管道」。
另一方面,如果我們不嘗試把最終確定的時間保持在12秒(或更長),生態系統將更加重視第2層制定的預確認機制,跨第2層的交互將需要更長的時間。
它如何與路線圖的其他部分互動?
基於提議者的預確認實際上依賴證明者-提議者分離(APS)機制,例如執行票證。否則,提供即時預先確認的壓力可能會導致經常驗證者中心化過度的壓力。
其他研究領域
51% 攻擊力恢復
人們通常認為,如果發生51% 攻擊(包括無法透過加密貨幣證明的攻擊,例如審查),社區將齊心協力實施少數派軟分叉,確保好人遭襲,壞人因不活動而洩露或被切斷。種對社交層的過度依賴程度可以說是不健康的。我們可以嘗試減少對社交層的依賴,使恢復過程需求自動化。
自動化是不可能的,因為如果是的話,這將算作一個>50%完全錯誤的演算法,我們已經知道這類演算法的(非常嚴格的)數學可證明的限制。但我們可以實現部分自動化:例如,如果客戶端審查了客戶端已經看到足夠長的交易,客戶端可以自動拒絕接受一條鏈作為最終確定的,甚至拒絕接受它作為分叉選擇的頭部。一個關鍵目標是確保攻擊中的壞人至少不能快速獲得勝利。
增加勞動力閾值
今天,如果67%的質押者支持,區塊就會最終確定。有人認為這過於激進。在以太坊的整個歷史上,只有一次(非常短暫的)最終失敗。如果將這一比例增加到80% ,那麼增加的非最終性時期數量將相對較低,但以太將獲得安全性:特別是,許多越來越多爭議的情況將導致最終性的坊暫時停止。這似乎比「錯誤的一方」立即觸發要健康程度,無論是錯誤的一方是攻擊者,還是客戶端有錯誤。
這也回答了「單獨質押者的意義何在」這個問題。今天,大多數質押者已經透過礦池進行質押,而且似乎不太可能讓單獨質押者獲得高達51% 的押金ETH。然而,如果質押者努力的話,讓單獨質押者達到阻止多數派的少數派,特別是如果大多數派達到80%(因此阻止多數派的少數派只需要21%)似乎是有可能實現的。只要單獨質押者不參與51%攻擊(無論是最終性逆轉還是審查),這種攻擊就不會獲得「乾淨利落的勝利」,而且單獨質押者會積極幫助組織少數派軟分叉。
抗量子性
Metaculus 目前認為,儘管進步較大,但量子電腦很可能在2030 年代的某個時候開始破解密碼學:
量子計算專家,例如Scott Aaronson,最近也開始更認真地考慮量子在中實際運作的可能性。這對整個以太坊圖都有影響:這意味著目前依賴橢圓形的以太電腦協議部分都需要某種基於哈希或其他量子抗性的替代方案。這特別意味著我們不能假設我們能夠永遠依賴BLS 聚合的特性來處理來自大型驗證器集的簽章。這證明了在權益論證設計性能假設在保溫性方面是合理的,也是更積極地發展量子抗性替代方案的原因。
資訊來源:0x資訊編譯自網際網路。版權歸作者Vitalik Buterin所有,未經許可,不得轉載