區塊鏈系統在有效管理和更新狀態儲存方面面臨重大挑戰,主要是因為寫入放大(WA)和大量的輸入/輸出(I/O)操作。在傳統架構中,例如梅克爾帕特里夏樹(Merkle Patricia Tries, MPT),頻繁且昂貴的磁碟互動導致效率低下,限制了吞吐量和擴展性。這些問題是去中心化應用程式在需要高交易速率和低基礎設施成本時最大的瓶頸之一。克服這些限制對於支持更廣泛的採用和釋放區塊鏈技術的全部潛力至關重要。
現有的區塊鏈狀態管理方法,如MPT、AVL樹和NOMT,存在固有的低效率,限制了它們的擴展性和性能。MPT因為能夠有效生成證明而被廣泛使用,但它們的寫入開銷高,需要大量的動態隨機存取記憶體(DRAM)來減少過多的固態硬碟(SSD)讀取。AVL樹通過依賴自平衡結構提供了邊際改善,但它們依賴於基於路徑的操作,這使得它們資源密集且不適合即時需求。NOMT作為一個較新的發展,進一步改善了梅克爾樹操作的閃存儲存性能,但它也面臨高寫入放大和稀疏分佈鍵處理不佳的問題。這些限制對於在擴展性、效率和性能之間取得平衡構成了重大障礙。
QMDB引入了一種革命性的方法來管理區塊鏈上的狀態,將鍵值儲存和梅克爾樹功能統一在一個架構中。這種設計通過一系列新穎的特徵來解決早期系統的低效率問題。一種基於小枝的子樹壓縮機制顯著減少了記憶體需求,將2048個條目壓縮為單個哈希和位圖,實現了99.9%的DRAM佔用率減少。通過實施內存梅克爾化,QMDB消除了在狀態更新期間對磁碟I/O的需求,使系統即使在消費級硬體上也能最佳運行。其僅附加的架構使狀態更新的寫入放大最小化,同時允許有效的狀態修改。此外,包含歷史證明功能使得在任何區塊高度有效驗證和重建區塊鏈狀態成為可能,從而提高了去中心化應用程式的透明度和功能性。因此,這些發展使QMDB成為傳統方法的高性能和可擴展替代方案。
該系統利用固定大小的小枝和針對大規模數據集優化的模組化索引器來設計二進制梅克爾樹。能夠僅處理每個條目2.3字節DRAM的索引器使QMDB能夠擴展到數十億條目,並實現最高的吞吐量。使用分片和三階段管道進行預取、更新和刷新,以最大限度地利用可用的硬體資源和並行處理機制。它還提供CRUD操作,與SSD的互動最少,以有效管理各種硬體配置下的狀態。這些技術進步使QMDB能夠處理比以太坊(Ethereum)2024年預測的狀態大小大得多的數據集,同時在企業級和消費級硬體上表現出色。
QMDB在區塊鏈狀態管理方面實現了顯著的改進,達到每秒高達228萬次更新,並處理數十億條目的數據集。它始終超越現有系統,在高要求的條件下提供六倍於RocksDB的吞吐量和八倍於NOMT的吞吐量。它靈活且高效:在低成本的消費者設置上可以達到每秒150,000次更新,同時在高容量伺服器上擴展到2800億條目。這些結果顯示QMDB能夠降低區塊鏈參與的硬體障礙,保持卓越的可擴展性和吞吐量,因此在去中心化系統設計中是一項偉大的成就。
通過解決區塊鏈架構中的關鍵低效率,QMDB引入了一個強大且可擴展的解決方案來管理狀態更新和儲存。它的創新方法,包括基於小枝的壓縮、內存梅克爾化和僅附加的狀態更新,重新定義了區塊鏈系統中性能和效率的極限。這些創新降低了硬體需求,並促進了更廣泛的參與去中心化網絡,為需要高交易速率和有效狀態管理的先進應用鋪平了道路。其獨特的能力使QMDB成為一個里程碑,推動了區塊鏈狀態管理系統中所有其他可擴展性和性能的基準。
查看論文。這項研究的所有功勞都歸於這個項目的研究人員。此外,別忘了在Twitter上關注我們,加入我們的Telegram頻道和LinkedIn小組。還有,別忘了加入我們的65k+機器學習SubReddit。
🚨 推薦開源平台:Parlant是一個框架,改變了AI代理在面對客戶場景中做決策的方式。
新聞來源
本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!