作者:霧月,極客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已經在這個交匯點上邁出了重要且大膽的一步,我們期待未來在這一整合領域中,能看到更多的突破與驚喜。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。