📢 Gate廣場 #MBG任务挑战# 發帖贏大獎活動火熱開啓!
想要瓜分1,000枚MBG?現在就來參與,展示你的洞察與實操,成爲MBG推廣達人!
💰️ 本期將評選出20位優質發帖用戶,每人可輕鬆獲得50枚MBG!
如何參與:
1️⃣ 調研MBG項目
對MBG的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與MBG相關活動(包括CandyDrop、Launchpool或現貨交易),並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是現貨行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
MBG熱門活動(帖文需附下列活動連結):
Gate第287期Launchpool:MBG — 質押ETH、MBG即可免費瓜分112,500 MBG,每小時領取獎勵!參與攻略見公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通過首次交易、交易MBG、邀請好友註冊交易即可分187,500 MBG!參與攻略見公告:https://www.gate.com/announcements
Vitalik近期演講頻繁提到的「無狀態」是什麼?
原文編譯:GaryMa 吳說區塊鏈
Vitalik 在近期的韓國區塊鏈週、新加坡演講甚至是以太坊執行層核心開發者會議(ACDE) 上,都共同提及過一個話題:狀態(State),而隨之左右的則是與其相關的各種解決方案概念,如無狀態、狀態過期(State Expiry)、歷史數據過期(History Expiry,EIP-4444)、Verkle 樹、甚至是地址空間的擴展\壓縮(Address Space Expand\Compression)。當然,這其實也不是什麼新的路線圖調整規劃,在Vitalik 去年11 月發布的以太坊的最新路線圖中,這些主要歸屬於The Verge 和The Purge 關鍵路線。
本文便結合這兩大關鍵路線以及一些新的思路挑戰,一起回顧一下Vitalik 心中的狀態解決路線。
狀態(State)
以太坊中的狀態指的是一個包括所有外部擁有賬戶(EOAs)、它們的餘額、智能合約部署以及相關存儲的綜合賬本。這個狀態不是靜態的;它會隨著新用戶的增加和新智能合約的部署而不斷擴展。
目前,全節點必須存儲這個不斷增長的數據集,以正確驗證區塊並確保狀態轉換正確,使驗證過程本質上是有狀態的。而這種不斷增長的存儲要求因此提高了運行全節點的硬件要求,將導致驗證者越來越中心化。
根據etherscan.io/ 數據,當前運行一個快速同步全節點至少需要1200 Gb(以Geth 客戶端為例),這還是在已經進行了狀態修剪,刪除了較早之前的狀態數據,只保留最近的狀態的前提下。如果是存檔節點,即全節點會保留所有歷史狀態,包括每個區塊的狀態,那麼需要的容量需要約15, 400 Gb,並且未來還是一直增長,即社區常說的“狀態爆炸”。
這也是Vitalik 在韓國區塊鏈週上所強調的:節點的中心化是以太坊網絡面臨的最大問題之一,應該通過使節點的運行更便宜、更容易來解決。
為了應對這一系列挑戰,以太坊社區一直在努力尋找改進和優化的方法,即我們開頭所例舉的各種解決方案概念。
狀態解決方案
無狀態(Statelessness)
無狀態(Stateless)核心概念是將狀態數據外部化,不再需要每個節點存儲完整的狀態。在這種模式下,節點只需維護區塊頭和相關交易信息,通過狀態證明(State Proofs)來驗證和重建狀態。
無狀態的主要作用和意義在於減輕節點的存儲負擔,提高網絡可擴展性,使更多節點能夠輕鬆參與驗證,同時仍然保持了以太坊的去中心化性質。
Verkle 樹
目前,以太坊依賴Merkle-Patricia 樹來哈希和壓縮其狀態數據。然而,這種樹結構中Merkle 證明的大小可能會變得太大,使它們不太適用於無狀態模型所需的見證。
為了解決這個問題,以太坊計劃過渡到Verkle 樹,這是一種更高效的數據結構。 Merkle-Patricia 樹和Verkle 樹都共享一個重要的能力,即生成見證——密碼學證明,允許任何人輕鬆確認狀態根中特定信息的存在與公開可用。
Verkle 樹的優勢在於它們在生成較小的證明大小方面效率更高。
歷史數據過期(History Expiry,EIP-4444)
EIP-4444 旨在实施历史数据过期,这是一项升级,要求节点停止在点对点网络上托管超过一年的历史区块。删除历史数据显著减轻了节点运营者的磁盘空间需求。同时,它还通过消除适应历史区块不同版本的代码的需要,简化了客户端软件。此外,EIP-4444 与 PDS(Proto-danksharding)的结合确保了定期数据修剪;EIP-4444 每年修剪一次,而 PDS 每月修剪一次数据区块。尽管这有助于减少节点的数据存储需求,但也引发了有关历史数据的保存和恢复的担忧。
狀態過期(State Expiry)
無狀態性消除了驗證者在驗證區塊時需要維護完整狀態的必要性。但狀態並不會消失;它的持續增長仍然是網絡的長期挑戰。
為了解決這個根本問題,社區便提出了狀態過期(State Expiry)方案。
狀態過期將自動修剪那些保持不變的狀態部分,比如一年,將它們移到一個單獨的樹結構中,並從主要的以太坊協議中刪除它們。
值得一提的是,狀態過期只有在遷移到Verkle 樹後才變得可行。另外,Vitalik 在韓國區塊鏈週KBW 2023 上表示:如果有無狀態和PBS,狀態過期可以是低優先級的。
因為如果屆時區塊提議者構建者分離(Proposer-Builder Separation、PBS)實現後,在無狀態下,儘管區塊構建者仍需要訪問狀態來創建區塊,但屆時的區塊構建者已經被預期能夠有效處理狀態的增長,因為這領域允許一定程度的中心化,構建者們的節點性能自然能夠滿足需求。
儘管目前協議級別PBS 尚未納入以太坊主網,但是我們大致通過了解Mev-Boost PBS 當前的市場分佈,也能大致了解未來主網的一個趨勢走向,mevboost.pics 的數據統計如下:
另外,狀態過期(State Expiry)的實現涉及以太坊地址格式的改變,目前有兩種方案:地址空間擴展(address space extension)vs 地址空間壓縮(address space compression)。前者是將地址長度增加到32 字節(當前地址格式為20 字節),但需要復雜的邏輯來向後兼容並且現有的合約也必須更新;後者雖然保留20 字節格式,不過將前6 字節用於前綴以及地址週期的標識,雖然這樣大大減少了兼容難題,但也隨之引來另一個難題,地址長度只剩下14 字節便不再具有抗碰撞能力,從而引入一些地址創建的潛在安全問題,這也是目前社區所面臨的重大挑戰。
總結
現在,我們大致可以根據上述技術解決方案的實現難題以及緩急,排除前後優先級(2 \ 3 \ 4 或許可以同等):
2.PBS
無狀態
歷史數據過期(EIP-4444)
以太坊地址格式的改變(壓縮/ 擴展)
狀態過期
綜上,可降低節點運行門檻,保持節點的去中心化以及潛在的狀態爆炸問題,減輕狀態增長以優化網絡通信負載。
當然,目前依舊是任重道遠。
參考鏈接: