作者:Delphi Digital,翻譯:金財經xiaozou
並行執行通常被譽為區塊鏈擴容和大規模採用的關鍵,可能會吸引「數十億用戶」。
1.為什麼要關心狀態增長管理?
因為它會影響開發人員的體驗、用戶支付的費用以及驗證者累積的獎勵,所以,狀態增長管理是所有L1的關鍵考慮因素。
對於並行化VM(虛擬機器)來說,重要的是要注意到,只有不更新相同狀態的交易才能並行運行。為了不發生衝突,交易必須是順序排序的,這意味著如果50%的交易具有相同的狀態,並行執行只對其餘50%獨立交易有利。
2、並行執行的兩種主要類型
讓我們來看看並行執行的兩種主要類型:
(1)確定性(Deterministic)類型
透過預先定義的存取清單映射交易依賴關係,VM追蹤對儲存和餘額的交易依賴關係,以防止狀態衝突,如Solana和Sui所示。
(2)樂觀(optimistic)類型
此類並行執行在假定交易不會發生衝突的情況下並行運行或順序再執行所有交易。此類做法不需要存取列表,從而簡化了開發過程,收穫了Monad、MegaETH、Aptos和Sei等公鏈的採用。
3.以太坊的順序執行
運行以太坊驗證者(validators)需要至少8GB RAM和2.8 GHz四核心CPU。然而,EVM使用單核執行交易表明它並沒有完全進行硬體優化。
EVM不能並行執行交易主要受下列兩個因素限制:
-
它缺乏一種機制來識別具有共享狀態依賴關係的交易。
-
它使用RockDB和Merkle Patricia Trees儲存狀態數據,並發讀寫比較複雜。
單獨的並行執行不足以維持網路使用。狀態增長和狀態存取是下一個擴容瓶頸。
並行執行的好處可能被誇大了,因為每個區塊只有部分選定交易才能並行執行。這在網路擁塞期間變得非常明顯,因為依賴關係重疊會減少加速增益。下圖所示區塊20000006的速度提高了6倍,而區塊20434947的速度只提高了1.7倍。
我們來看來自Ghost的數據,對2024年6月初的20M區塊到20.1M區塊之間的10萬個區塊的評估表明,順序依賴關係最小的區塊在並行處理情況下執行速度更快。
4、狀態增長和狀態存取問題
區塊鏈的狀態包括帳戶、各帳戶餘額、nonces和合約資訊。隨著交易頻繁以及新合約的出現,特別是在像ETH這樣複雜的系統中,鏈狀態持續擴展。
5.狀態管理的經濟焦點
Solana、Sui或Aptos等公鏈使用狀態租金(state rent)等機制,為最佳的狀態成長管理提供經濟誘因。它們透過在交易期間向用戶收取儲存費,防止驗證者和用戶支付更高的儲存成本。
6.狀態管理的技術焦點
大多數技術方法都圍繞著高效的資料庫結構展開,這些資料庫結構支援使用更優的Merkle樹結構進行非同步讀寫操作。
Delphi Digital研究員Muhammad Yusuf是這麼說的:並行化是一個已決問題。各鏈將爭相支援更強大的設定和更快的虛擬機器。但要真正取得長期成果,就需要強勁的狀態成長和存取管理機制。 」