技術詳解ao 超平行計算機

作者:PermaDAO

導語

AO 實際上是基於儲存的共識範式(SCP,Storage-based Consensus Paradigm)的延伸,後者類似於主權Rollup,核心思路是把計算和DA/存儲相解耦,鏈上發布/存儲數據+ 鏈下計算/驗證數據。

由於Arweave 具備極高的資料承載量,基於AO 與SCP 架構的DApp 平台可以大幅節省資料發佈與儲存成本,以便於支援一些對吞吐量有較強追求的場景。

在大多數人的既有認知中,Arweave 主打永久儲存概念,長期被各類項目作為儲存層使用。 Arweave 曾經的最為人所知的敘事便是:成為永不消失的亞歷山大圖書館,終極目的是保存人類文明的火種。

因此,在Arweave 的ao 電腦發布後,Arweave 變身成為並行超級電腦非常出人意料,需要指出的是,Arweave 依然可以被作為儲存層去使用,ao 架構是儲存功能的疊加而非取代關係。

ao 與SCP 一致,ao 的運算流程可以並行執行,因此可具備高效率運算能力。 ao 的進程之間可以互聯互通,它們的資料格式保持一致,所有的資料最終都按照ANS-104 的Bundle 格式存入Arweave 主網。

每個行程的所有日誌都被完全存儲,最終進程的全像狀態(HolographicState)被留存在了Arweave 上。

ao 的運算能力結合Arweave 的永久儲存能力,實際上是一個無審查、無處不在的全球性高並發計算機,在其上,任意類型、任意語言、任意公鏈的DApp 都可接入Arweave,暢享受比以太坊廉價,但是更有效率的去中心化計算服務。

AOS 稍有不同,如果將ao 理解為電腦架構,那麼AOS 就是一個作業系統實例。

本質上,ao 是一種架構體系,使用者需要和類似AOS 的作業系統互動才能使用對應的功能,為了論述便利,以下統一用ao 來指涉,但是使用者需要自行注意二者區別

本文要點:

  • Arweave 推出ao 架構,希望藉此變身為儲存與運算的全能選手,改變目前市場上對其僅有儲存概念認知的現狀;

  • Arweave 的ao 架構是在儲存上的功能疊加,ao 架構具備溝通任意公鍊和DApp 的潛力;

  • ao 相關技術包含分散式架構SSI(單系統映像)、Actor Model(erlang 語言並非模型)和SU/MU/CU 單元組成,其中並發和非同步是理解ao 架構的關鍵;

ao/SCP 擁有巨大的潛力,有望刺激Arweave 生態的發展,需要觀察「鏈下運算+鏈上儲存」模式對專案的持續吸引力。

科技解讀

讓我們先介紹一些前提知識,作為對ao 的補充。在近期坎昆升級和EIP-4844 啟動後,以太坊的資料儲存問題顯得越來越重要。

例如,專門用來存放Layer2 DA 資料的blob,並不會永久保留在以太坊網路中,節點可以自行刪除掉超過時間視窗的blob 數據,屆時被淘汰的​​資料就需要另尋一個儲存去處。

雖然有EthStorage 等基於以太坊的儲存平台,在解決blob 資料過期淘汰問題,但這並非以太坊原生的解決方案,需要依賴一些額外設計一些機制。

此外,雖然EIP-4844 可以將資料發布成本極大程度降低,但相較於Arweave,還是顯得非常高。

不同於以太坊,在啟動之初就奔著「亞歷山大圖書館」口號而去的Arweave,雖然在運算功能上顯得簡陋,但其原生支援資料永存,且成本極低(儲存1GB 資料約數十美元,與1 筆以太坊交易的費用持平)。

在資料冗餘儲存方面,Arweave 把出塊機率與節點本地資料集的完備性相關聯,如果儲存節點刪除了一些數據,則其成功出塊的機率會降低,而保留資料最多的節點,具備更高的出塊“算力”,它們將獲得到更多的獎勵。

透過這種方法,Arweave 的激勵系統能保證任一段歷史數據,能極大機率的被冗餘儲存。

可以說,Arweave 適合作為一個儲存成本極低的去中心化資料儲存與發布層,而ao 和SCP 則是基於AR 的模組化區塊鏈及DApp 架構。

SCP 的設計模式雖然在理論上,與以太坊Rollup 等以安全為主的模組化方案存在較大差異,但在落地簡易度以及與Web2 平台銜接的難易度上,可行性卻很高。

因為他從一開始就不打算像Rollup 一樣,把自己限制在一個狹窄的實現路徑上,想要以一種更寬泛、更開放的框架,將Web2 平台與Web3 設施融合起來。

圖源:極客Web3《解讀SCP:跳出Rollup定式的去信任化基礎設施範式》

上圖是採用SCP 方案應用everPay 的原理圖,DA 層採用了Arweave,即圖中的大圓。

棕色圓圈是協調者Coordinator,即執行層,類似於以太坊Layer2 的排序器,使用者將交易提交至協調者後,協調者會執行運算,並將這些DA 資​​料大量提交至AR 上。

至於偵測者Detector,有點類似以太坊Layer2 的挑戰者/驗證人,他們會從Arweave 上拉取協調者提交的DA 數據,對交易結果進行計算或驗證。

檢測者的客戶端是開源的,任何人都可以運作。而守望者Watchmen,其實是管理跨鏈系統的多重簽章節點,會對跨鏈請求進行驗證和執行。另外守望者也負責簽署治理提案。

值得強調的是,SCP 這種架構,對於安全性的要求沒有以太坊Layer2 那麼嚴格,但實際上給採用該架構的項目方提供了更高的自由度、更多的定制選項,且降低了採用成本,可以說是一種特立獨行、腦洞大開的做法。

圖源:極客Web3 《解讀SCP:跳出Rollup定式的去信任化基礎設施範式》

刪繁就簡,ao 的框架可以分為三個部分,分別是:分散式架構,並行運算功能和通訊調度元件三部分,將三者統一起來便是完整的超級電腦功能。

  • 分散式架構,ao 使用單一系統映像(SSI,Single-system image)來組織ao 網路的去中心化系統。

  • 平行運算功能,ao 使用平行運算理論的Actor Model 理論,來處理高同時環境,並有效結合區塊鏈的相關技術,ao 一詞也是從Actor Orient 而來(面向Actor,模仿OOP 的物件導向一詞)。

  • 通訊調度元件,ao 設計了MU/CU/SU 三個關鍵部分,Messenger Units 負責訊息傳遞,Scheduler Units 負責進程調度,Compute Units 負責並行的計算進程。

我們來分別解釋下上述各個部分。首先是SSI 單系統映像,其實就是分散式架構。

例如,各大Web2 應用背後對應的伺服器系統,基本上都是由許多台伺服器節點共同構成的分散式系統,這些伺服器之間透過特殊的訊息傳遞與通訊協議,來確保彼此的狀態、對新增數據的看法是一致的。

但在客戶端/前端層面,使用者感知不到前端背後對應的伺服器是分散式的,對使用者而言,再龐大的電腦叢集也像是單一的電腦。

這其實就是電腦工程中常提到的“抽象”,把複雜的底層組件統一匯總在一起,合併為一個模組,外界不需要知道這個模組的內部構造,只需要把輸入信息傳遞給該模組,就可以得到輸出結果。

前文提及的SSI 單系統映像,採用了Arweave 的「廉價去中心化儲存」特性,可以說ao/SCP 的敘事根基,主要建立在Arweave 相比於其他公鏈的儲存價格優勢,以及相比於傳統Web2 平台的抗審查性與資料透明度優勢。

在ao 與SCP 的敘事中,AR 被當作一個巨大的數據公告板與日誌記錄儀,DApp 前端發出的數據會傳遞至Arweave 網路中,被大量的Arweave 節點儲存在分散式的區塊鏈網路中。

相對於以太坊等去信任程度更高的主流公鍊網絡,由於Arweave 上的存儲成本極其低廉,可以更好的支持那些對數據吞吐量有較高追求的應用場景。

而有別於傳統Web2 平台及聯盟鏈,Arweave 網路的開放性更有利於抗審查與資料透明,依附於AR 的DApp 比Web2 應用更去信任。

比如說,傳統的支付寶也可以被Web3 化,只要支付寶將介面設計為相容ao 協議,支付寶的互動資料就會自動上傳到Arweave 網絡,成為一個Web3 版本的去信任化「支付寶」。

如果是以太坊或EVM 系DApp,也可以對接ao 接口,將訊息格式轉為ANS-104 格式上傳Arweave 即可。

與傳統XX 雲端以及封閉式的聯盟鏈不同,任何人或DApp 專案方只要運行以太坊或Arweave 等第三方公鏈的節點,就可以透過P2P 的方式,向多個節點索取並讀取數據,只要N 個節點中有1 個願意提供數據,你就能獲得到你所需要的東西,這歸根結底依賴網路的開放性。

從這兩個角度來看,ao 和SCP 這樣的基於Arweave 的DApp 架構方案,更像是介於Web2 和Web3 之間的一種過渡。

以太坊和比特幣等傳統Web3 平台,以成本和效率為代價,實現了高度的抗審查與去信任,但是難以獲得大規模採用。

Web2 平台則犧牲了資料透明和抗審查性,實現了高效率與低成本,但是不能去信任,ao 更像是兩者之間的一種中間形態。

SSI 和用戶端伺服器架構、三層架構、N 層架構和對等架構等分散式架構的差異在於透明性上,SSI 可顯著提高系統抽象性和使用者體驗。

不過要注意,SSI 依賴樂觀同步控制,這要求系統具有較高的同步控制能力,以確保資料的一致性和可靠性,一旦同步控制失敗,可能會導致資料遺失,進而影響ao 架構的可用性。

另外一個SSI 的好處是部署速度,SSI 可在單一伺服器上運行多個實例,不需要像微服務架構或容器化技術一樣過度依賴雲端服務或容器化工具,有效降低系統的複雜性和部署成本。

在ao 的實務中,分散式架構的資料同步和備份依賴Arweave 網絡,因為Arweave 的永久儲存特效,理論上任意時間點的資料狀態都有留存,資料不存在遺失或損壞的情況。

不過要注意,SSI 也會引發新的額外開銷,重點是分散式節點之間的網路通訊和資料有效同步上,比如,SSI 架構發生故障時,極端情況下只要存在一個正常節點,整個網路都可正常運行,但是實際上這會引發嚴重的節點安全危機和系統健全性。

Actor Orient

在簡單介紹完SSI 架構後,需要深入研究ao 的並行計算機制的實現方式,區別於中心化伺服器的簡單“堆料”,ao 使用Actor 模型來達到去中心化的高並行效果,並且用戶基本上無感知這是分散式系統。

ao 架構高效的並發運算能力來自Actor 模型,Carl Hewitt 於1973 年定義了Actor 模型的理論框架,並將Actor 作為並發計算的原語,有趣的是,當時是為了給人工智慧做計算而設計的。

不過實務上人們可能更熟悉OOP 等模式,實際上,根據Oracle 的研究,OOP 是Actor 的改良版本,但二者後來的發展漸行漸遠。

Actor 模型定義了一系列系統元件應該如何動作和互動的通用規則,每個Actor 都是一個獨立的實體,它能夠做出本地決策,並與其他Actor 進行通信,但是需要注意,Actor 模型強調的是異步、並行和分佈式的特徵。

尤其是非同步和並行,這意味著每個元件的狀態並不同步,有可能產生衝突,因此必須特別依賴訊息傳遞機制,這也是在ao 中,重點強調MU 和SU 的原因,執行並不困難,困難的是安排和調度,以發揮並行的強大運算能力。

每個Actor 都是獨立的執行單元,可以自行處理分配的任務,如果對其進行利用,例如確保訊息的原子性和一致性後,就是非常強大且靈活的並發模型。

這裡的考慮是區塊鏈中特殊的跨多節點通訊需求,例如常見的微服務架構經常會使用節點對節點通訊模式,但是基於RPC 的實現方式會導致多種資料傳遞的複雜和時延,而ao 架構透過統一的訊息傳遞機制MU,統一分配訊息格式,以便於最終的Arweave 儲存。

和CSP(ConcurrentSemantics)的各節點同步執行任務模式相比,Actor 最典型的特點是非同步執行,為此,ao 不使用常見的共享記憶體機制,確保各自的獨立性,以更靈活的方式進行跨節點通信。

非同步和並行,構成了Actor 模型在ao 架構中的高效之源,而為了確保這種效率,MU/SU/CU 被提出並投入使用。

總之,Actor 模型和Arweave 區塊鏈的結合,搭建出高效資訊傳遞下的非同步高並發算力模型。

三要件

ao 架構下,無論是SSI 或Actor 模型,都對訊息傳遞提出了更高的要求,SU、MU 和CU 應運而生。

首先理解ao 的進程,指的是初始化任務時請求對應的運算資源,例如虛擬機器和記憶體等資源,任何任務的流轉,本質上都是透過進程的傳遞來實現的。

無論是SSI 還是Actor Model,其間流轉的訊息都要符合ANS-104 的資料標準與格式,由此,任意類型的DApp 都可互相理解。

在生產符合要求的數據後,MU 會發送訊息給線上的SU,這個過程會持續進行,直至所有的訊息都被處理完畢,緊接著需要SU 接收數據,並將其上傳至Arweave,以連結Arweave的驗證能力。

並且,MU 的處理進程還可以設立付費機制,從而進行客製化的訊息處理機制,例如只發送訊息但不進行後續動作等。

SU 接收到訊息後,CU 會開始接入,CU 是包含多個負責計算的單元,需要注意的是,CU 也是去中心化的算力市場,類似Akash 一樣,各個CU 集群會相互競爭,競爭勝出者有權進行計算。

CU 會根據請求,回應並提交一份計算結果,這些回應的結果都儲存在Arweave 上,都可由Arweave 上原始資料進行驗證。

可以發現,在這種模式下,ao 提供的是一個高效的、競爭性的計算網絡,用戶無需為計算確立共識,只需要確保傳遞的消息符合對應流程即可,這在根本上擺脫了以太坊等為計算有效性所付出的高昂代價。

SCP 和ao 的結合

首先來討論可驗證性,牢記一個共識,ao 的功能是對可驗證的資料狀態進行呈現,最終可驗證性問題是由Arweave 上的共識資料所保障的。

ao 本質上也是一個scp 應用,此時查詢狀態和返回狀態兩個動作都上鍊到Arweave 上了,ao/SCP程式會載入到這兩個動作,透過這兩個動作計算出Mint 和Slash 結果。

具體來說,基於SCP 範式,需要把Mint 和Slash 的規則寫入索引之中,那麼呼叫索引資料的節點,自然會計算出Slash 和Mint 的結果(資料模型詳見ao spec)。

在論述完ao 的技術架構後,下文會針對其應用進行討論,雖然在ao 發布會後陸續出現原生跨鏈協議aox、去中心化穩定幣協議astro 和Arweave 上的EVM 兼容項目AOVM,但是目前都還處於實驗狀態。

值得一提的是,目前基於ao 的應用程式方興未艾,ao 版本的推特和遊戲已經有很多在開發和測試。

同時,Arweave 生態已有的一些成熟的SCP 項目,例如everVision 旗下的everPay 和Permaswap 等應用都會進行對應的ao 化適配與改造,在理論和實踐上,SCP 理論和ao 也是同源的。

SCP 根植於Arweave 的儲存能力,可以想像一個永不停止的圖靈紙帶機,SCP 負責將資料上傳至區塊鏈,承擔的是圖靈機的磁帶記錄功能,而狀態機可由ao 來提供,每一次的狀態變動都可以儲存在Arweave 之上。

這裡面存在的問題是狀態爆炸,也是困擾以太坊的多年隱疾,而Arweave 不儲存狀態,因此天然不存在狀態爆炸問題,可以永久保存ao 進程生產的全部資料。

需要注意的是,ao 節點中的資料並不需要計算才能達到共識狀態,理論上,只要相關資料儲存在Arweave網路之上,則每一步狀態變動都必須被記錄,因此,更準確的來說,ao 上的資料不需要計算就能寫入網絡,計算也只是資料變動的一部分。

其次,面對經久不衰的區塊鏈三難問題,即任何區塊鏈無法同時解決安全、去中心化和可擴展性問題,SCP 和ao 的結合基本上可以終結這個困境。

  • 安全性:Arweave 提供的資料是最大的共識,儲存在Arweave 的共識資料為應用提供可驗證性;

  • 去中心化:ao 帶來了算力的去中心化,任何個人、機構和NGO 都可以加入和離開ao 計算網絡,得益於數據共識,離開後的狀態恢復也無比簡單;

  • 可擴展性:和以太坊的縱向分層不同,ao 和SCP 整體來說是橫向分塊,無限擴展運算和儲存能力。

基於ao/SCP 架構,Arweave不再是一個單純的儲存公鏈,AR+AO 組合起來是一個同時具備儲存和計算功能的去中心化超級計算機,任意DApp 都可在其上進行部署,並相互之間進行調用。

目前的ao 也是一種獨特的模組化架構,即橫向擴展的模組化,不僅允許Arweave 網路上的Warp 等智能合約,EVM 等機制的智能合約也可以插入ao 網絡,只需要保持數據的格式一致性即可。

或者這樣說,scp 是基於Arweave 搭建了全鏈的Layer2,可以接入任意公鍊和DApp,而ao 就是超級版的SCP,可以將任意公鏈、智能合約和DApp 變成ao 的一部分。

DeFi 的另一種可能

在現存的EVM 體系中,智能合約是一切的核心,鏈上行為本質上就是對智能合約的調度和使用,以最常見的DEX 交易為例,智能合約在觸發特定條件時按照規定執行對應操作,例如添加流動性,尋找代幣的合約地址等。

但是必須要注意,此時的合約只是一個單線程的進程,無法進行並發的調用,所有交易都會被以太坊排序並確定其是否成功或者被MEV 搶跑攻擊。

如果使用ao 架構對Uniswap 進行改造,則可以創造一個並行的、無休的鏈上交易機器人,ao 版Uniswap 各進程可以設定為不同的觸發機制,但不會相互幹擾,並可利用全部計算資源運行。

可以這樣理解,這就是一個Web2 量化等級的鏈上交易所。 Arweave 生態上最大的DEX 計畫— — Permaswap 已經採用此方式適合ao 原生環境。

ao 的每個進程都具備Token 的發行能力,以以太坊為例的話,每個ERC-20 代幣的發行過程就是Token Process,只需要按照設定的價格區間進行設置,就可以對交易用戶生成訂單,然後完成代幣的交換過程。

實際上以太坊的代幣轉移和交易無比困難,本質上是不同帳戶餘額進行加減運算,最終導致每一筆交易都需要根據以太坊最新需求進行重複計算,造成大量的冗餘數據沉澱在鏈上。

而ao 改變了代幣轉移時的計算方式,不同的帳戶之間的代幣轉移,本質上是不同的狀態同步,依賴於MU 的消息傳遞進程,只需要每個過程都發送到Arweave 網路上進行存儲,也就是共識發生在計算之前,那麼最終進行組合性的運算即可劃轉資產,而無需整個網絡參與運算。

即ao 上的每個代幣都是並發的,甚至可以為一個代幣建立無數個子帳本,每個子帳本提供獨立並行的運算能力。

在現有的ao 設計中,允許自動喚醒特定合約,只需要向節點付費便可使用該進程,隨後該進程會按照設定頻率去計算和執行,得益於Arweave 的廉價和ao 的高速,執行頻率可以設定的非常密集。

對於使用者而言,ao 執行的是類似電腦的一種程序,而不是抽象的智能合約,例如,接入EverID 後的everPay 對接ao 網絡,那麼EverID 操作的是ao 接口,至於ao 接口後的程序類型則無關緊要。

使用者可同時操作多個公鏈上的DApp 應用,高度類似現有網際網路終端的使用邏輯,終端機會呼叫網路中不同的伺服器,提供使用者簡潔單一的應用介面。

本質上,這是對現存DeFi 的一種變革,將使用者的操作邏輯統一於一套互動體系之內,同時保存背後的去中心化程度。

全球超級電腦

除了DeFi 這種傳統的加密需求外,ao 實際上還開啟了反哺育傳統Web2 的能力,其中一個重點是ML(Machine learning)的可信賴運算。上文也提到,Carl Hewitt 設計Actor Model 的初衷就是AI 計算,恰好讓ao 和AI 具備了天生的結合能力。

在以往的AI 和Crypto 結合中,機器學習的模型無法順暢上鍊,尤其是LLM 等參數量極大的模型,但是ao 不同以往,既然用戶可以自行選擇和定制化ao 調配的資源,並且可以無准入的使用運算服務,而運算資源本質上是無限擴展且互相合作的,那麼ML 上鍊似乎並不是不可能。

和Akash 等去中心化運算市場相比,ao 的優勢不在於GPU 叢集的數量多寡,而是超大規模平行運算能力,Akash 則需要強信任機制才能組成算力市場。

而ao 則無需犧牲無准入特性,並且要注意,這一切仍然是基於智能合約去實現的,即鏈上運行,存儲於Arweave 進行狀態證明,並且得益於超強兼容特性。

使用者可以以自己習慣的方式去使用鏈上環境,例如運行LLM 模型,並且其資料都可以保存在Arweave 網路之上,同時可以解決AI 大模型的算力和資料的去中心化需求。

ao 和現有的去中心化算力平台以及雲端運算廠商都不相同,這是第一個去中心化的高並發網絡,可以理解為雲廠商具備了智能合約功能,在以太坊遭遇計算和存儲危機的當下,可以說Arweave完成了「去中心化算力就是去中心化資料」的奇妙回環。

更簡單的說,以往價格高昂、遠離大眾的超級計算機,現在來到了每一個人身邊,並且沒有任何人可以控制它的開始、運行和結束,只要一個進程開始,只有在智能合約設定終止的條件下才會結束,否則會永久的運行下去。

結語:Arweave 未來

ao 到來之後,疊加SCP 範式的能力,Arweave 有機率成為永久的存儲和無限的計算之網,但是要注意,目前的ao 運行節點仍處於測試網狀態,並且依賴於代碼中寫好的懲罰slash 機制去運作。

理論上的最優不等於現實中的可行,ao 希望成為一個無限延伸的、可即時擴展的運算之網,使用者擁有完全的控制權。

但Arweave 上的各類生態並不活躍,尤其是主流DeFi 應用仍舊比較匱乏,不僅少於以太坊,甚至落後於Filecoin 推出FVM 的情況。

總體上,ao+SCP+Arweave 確實打開了區塊鏈的另一種可能性,但是這種可能性還需要時間的驗證。

Total
0
Shares
Related Posts