作者:霧月,極客web3
在區塊鏈技術迭代越來越快的今天,針對性能的優化已然成為了一個關鍵議題,以太坊路線圖已經非常明確以Rollup為中心,而EVM串行處理交易的特性是一種桎梏,無法滿足未來的高並發計算場景。
在先前的文章-《從Reddio看並行EVM的優化之路》中,我們曾對Reddio的平行EVM設計思路進行了簡要概述,而在今天的文章中,我們將對其技術方案,以及其和AI的結合場景進行更深入的解讀。
由於Reddio的技術方案採用了CuEVM,這是一個利用GPU提升EVM執行效率的項目,我們將先從CuEVM開始說起。
CUDA概覽
CuEVM是一個用GPU對EVM進行加速的項目,它將以太坊EVM的操作碼轉換為CUDA Kernels,以在NVIDIA GPU上並行執行。透過GPU的平行運算能力,來提高EVM指令的執行效率。可能N卡用戶會常聽到CUDA這個字——
Compute Unified Device Architecture,這其實是NVIDIA開發的一種平行運算平台和程式設計模型。它允許開發者利用GPU的平行運算能力進行通用運算(例如Crypto中的挖礦、ZK運算等),而不僅限於圖形處理。
作為一個開放的平行運算框架,CUDA本質是C/C++語言的擴展,任何熟悉C/C++的底層程式設計師都可以快速上手。而在CUDA中一個很重要的概念是Kernel(核函數),它也是一種C++函數。
但與常規C++函數只執行一次不同,這些核函數在被啟動語法<<<...>>>呼叫時會由N個不同的CUDA執行緒並行執行N次。
CUDA的每個執行緒都被分配了獨立的thread ID,並且採用執行緒層次結構,將執行緒分配為區塊(block)和網格(grid),以便於管理大量的平行執行緒。透過NVIDIA的nvcc編譯器,我們就可以將CUDA程式碼編譯為可在GPU上執行的程式。
CuEVM的基礎工作流程
在了解CUDA的一系列基礎概念後,就可以看下CuEVM的工作流程了。
CuEVM的主入口為run_interpreter,從這裡以json檔案的形式,輸入要並行處理的交易。從專案用例可以看出,輸入的都是標準的EVM內容,無需開發者另行處理、翻譯等。
在run_interpreter()中可以看到,它使用CUDA定義的<<…>>語法呼叫了kernel_evm()核函數。我們上文提到過,核函數是會在GPU中並行呼叫。
在kernel_evm()方法中會呼叫到evm->run(),我們可以看到這裡面有大量的分支判斷來將EVM操作碼轉換為CUDA操作。
以EVM中的加法操作碼OP_ADD為例,可以看到它會將ADD轉換為了cgbn_add。而CGBN(Cooperative Groups Big Numbers)就是CUDA高效能的多精確度整數算術運算庫。
這兩步驟將EVM操作碼轉換為了CUDA操作。可以說,CuEVM也是所有EVM操作在CUDA上的實現。最後,run_interpreter()方法傳回運算結果,也即世界狀態及其他資訊即可。
至此CuEVM的基本運算邏輯已經介紹完畢。
CuEVM是有並行處理交易的能力,但CuEVM立項的目的(或主要展示的用例)是用來做Fuzzing測試的:Fuzzing是一種自動化的軟體測試技術,它透過向程式輸入大量無效、意外或隨機的數據,以觀察程序的反應,從而識別潛在的錯誤和安全問題。
我們可以看出Fuzzing非常適合併行處理。而CuEVM並不處理交易衝突等問題,那並不是它所關心的問題。如果想要整合CuEVM,那麼還需對衝突交易進行處理。
我們在之前的文章《從Reddio看並行EVM的優化之路》中已經介紹過Reddio使用的衝突處理機制,這裡不再贅述。 Reddio在將交易用衝突處理機制排序完後,再發送進入CuEVM即可。換言之,Reddio L2的交易排序機制可以分成衝突處理+CuEVM並行執行兩部分。
Layer2,並行EVM,AI的三岔路口
前文說並行EVM和L2只是Reddio的起點,而其未來的路線圖中將明確和AI敘事結合。使用GPU進行高速平行交易的Reddio,在許多特性上天生適合AI運算:
-
GPU 的平行處理能力強,適合執行深度學習中的捲積運算,這些運算本質上是大規模的矩陣乘法,而GPU 專為這類任務最佳化。
-
GPU 的執行緒分級結構能夠與AI 運算中的不同資料結構對應關係相匹配,透過執行緒超配和Warp 執行單元來提高運算效率並掩蓋記憶體延遲。
-
計算強度是衡量AI 運算效能的關鍵指標,GPU 透過最佳化運算強度,如引入Tensor Core,來提升AI 計算中矩陣乘法的效能,實現計算與資料傳輸之間的有效平衡。
那麼AI與L2到底如何結合呢?
我們知道在Rollup的架構設計中,整個網路中其實並不僅僅是排序器,也會有一些類似監督者、轉發者的角色,來驗證或蒐集交易,他們本質上都使用了與排序器相同的客戶端,只是承擔的職能不一樣。在傳統的Rollup中這些次要角色的職能和權限非常有限,如Arbitrum中的watcher這種角色,基本上是被動性和防禦性與公益性的,其盈利模式也值得懷疑。
Reddio會採用去中心化排序器的架構,礦工提供GPU作為節點。整個Reddio網路可以從單純的L2演進為L2+AI的綜合網絡,它可以很好地實現一些AI+區塊鏈用例:
AI Agent的互動基礎網絡
隨著區塊鏈技術的不斷演進,AI Agent在區塊鏈網路中的應用潛力巨大。我們以執行金融交易的AI Agent為例,這些智能代理可以自主進行複雜的決策和執行交易操作,甚至能在高頻條件下快速反應。然而,L1在處理此類密集操作時,基本上不可能承載巨大交易負載。
而Reddio作為L2項目,透過GPU加速可以大幅提高交易並行處理能力。相較於L1,支援並行執行交易的L2具備更高的吞吐量,可以高效處理大量AI Agent的高頻交易請求,確保網路的流暢運作。
在高頻交易中,AI Agents對於交易速度和反應時間的要求極為苛刻。 L2減少交易的驗證和執行時間,從而顯著降低延遲。這對於需要在毫秒級響應的AI Agent至關重要。透過將大量交易遷移至L2,也有效緩解了主網的擁塞問題。使得AI Agents的營運更加經濟有效率。
隨著Reddio等L2專案的成熟,AI Agent將在區塊鏈上發揮更重要的作用,推動DeFi和其他區塊鏈應用情境與AI結合的創新。
去中心化算力市場
Reddio未來會採用去中心化排序器的架構,礦工以GPU算力決定排序權利,整體網路參與者的GPU的效能會隨著競爭逐漸提升,甚至能夠達到用來作為AI訓練的程度。
建構去中心化的GPU算力市場,為AI訓練和推理提供更低成本的算力資源。算力從小到大,從個人電腦到機房集群,各種等級的GPU算力都可以加入該市場貢獻自己的閒置算力並賺取收益,這種模式可以降低AI計算成本,讓更多人參與AI模型開發與應用。
在去中心化算力市場用例中,排序器可能不主要負責AI的直接的運算,其主要職能一是處理交易,二是在整個網路中協調AI算力。而關於算力和任務分配,這裡面有兩種模式:
-
由上而下的中心化分配。由於有排序器,排序器可以將受到的算力請求指派給符合需求且名望較好的節點。這種分配方式雖然理論上存在中心化和不公平的問題,但實際上其帶來的效率優勢遠大於其弊端,並且從長遠來看排序器必須滿足整個網路的正和性才能長遠發展,也即有隱性但直接的限制確保排序器不會有太嚴重的偏向。
-
由下而上的自發性任務選擇。使用者也可以將AI運算請求提交給第三方節點,在特定的AI應用領域這顯然比直接提交給排序器更有效率,也能防止排序器的審查和偏向。在運算完畢後該節點再將運算結果同步給排序器並上鍊。
我們可以看出在L2 + AI的架構中,算力市場有極高的彈性,可以從兩個方向集結算力,最大程度上提升資源的使用率。
鏈上AI推理
目前,開源模型的成熟度足以滿足多樣化的需求。隨著AI推理服務的標準化,探索如何將算力上鍊以實現自動化定價成為可能。然而這需要克服多項技術挑戰:
-
高效請求分發與記錄: 大模型推理對延遲要求高,高效請求分發機制非常關鍵。儘管請求和回應的資料量龐大且具私密性,不宜在區塊鏈上公開,但也必須找到記錄和驗證的平衡點——例如,透過儲存hash實現。
-
算力節點輸出的驗證: 節點是否真正完成了所製定的運算任務?如,節點虛報用小模型運算結果取代大模型。
-
智能合約推理:將AI模型結合智能合約進行運算在許多場景下是必須的。由於AI推理具有不確定性,並不可能用於鏈上的方方面面,所以未來的AI dApp的邏輯很可能一部分位於鏈下而另一部分位於鏈上合約,鏈上合約對鏈下提供的輸入的有效性和數值合法性進行限定。而在以太坊生態中,與智能合約結合就必須面對EVM的低效率的串列性。
但在Reddio的架構中,這些都相對容易解決:
-
排序器對請求的分發是遠比L1高效的,可以認為等同於Web2的效率。而對於資料的記錄位置和保留方式,可以由各種價格便宜的DA方案來解決。
-
AI的運算結果可以最終由ZKP來驗證其正確性和善意性。而ZKP的特點是驗證非常快,但生成證明較慢。而ZKP的生成也剛好可以使用GPU或是TEE加速。
-
Solidty → CUDA → GPU這條EVM並行主線本就是Reddio的基礎。所以表面上看這個對Reddio而言是最簡單的問題。目前Reddio正與AiI6z的eliza合作,將模組引入Reddio,這是一個非常值得探索的方向。
總結
整體來看,Layer2解決方案、平行EVM以及AI技術這幾個領域看似互不相關,但Reddio透過充分利用GPU的運算特性,巧妙地將這幾大創新領域有機地結合在了一起。
透過利用GPU的平行運算特性,Reddio在Layer2上提升了交易速度與效率,使得以太坊二層的效能得以增強。將AI技術融入區塊鏈更是一個新穎且前景看好的嘗試。 AI的引入可以為鏈上操作提供智慧化的分析和決策支持,從而實現更為智慧和動態的區塊鏈應用。這種跨領域的整合,無疑為整個產業的發展開闢了新的道路和機會。
然而,需要注意的是,這一領域仍處於早期階段,仍需大量的研究和探索。技術的不斷迭代和優化,以及市場先行者的想像和行動,將是推動這項創新走向成熟的關鍵驅動力。 Reddio已經在這個交會點上邁出了重要且大膽的一步,我們期待未來在這一整合領域中,能看到更多的突破與驚喜。