撰文:0xjs@金色財經
在預告推出超平行電腦AO兩週後,北京時間2024年2月28日凌晨,去中心化儲存計畫Arweave正式發布AO公開測試網。
從預告到正式推出,Arweave代幣AR價格已經上漲超過1倍。
根據Arweave團隊說法,Arweave早在2020年初就有此想法,即Arweave資料儲存平台可以支撐高度可擴展的區塊鏈網路。 2023年在製定使用代幣代表內容所有權的計畫時,意識到需要一個高度可擴展的網路來支持此類代幣的市場,隨後開始默默開發。
Arweave創辦人Wiliams表示,AO建立了一台超平行計算機,可以同時並行運行任意數量執行緒的計算機,可擴充性令人難以置信。
也就是說,原本做去中心化儲存的Arweave進入運算和智能合約市場。儘管其採取的架構和方法,和以太坊等公鏈迥異,但事實上已經進入公鏈市場並與它們競爭。
Arweave創辦人Williams表示,AO有信心與以太坊競爭。那麼,到底什麼是AO?有何特質讓其創辦人有信心與以太坊競爭?
什麼是AO?
根據AO官方文檔,AO計算機是面向參與者的(actor oriented)機器,從遵守其核心資料協議的節點網路中湧現,運行在Arweave網路上。以下簡要介紹該協定及其功能以及技術細節。
AO計算機是一個單一的、統一的計算環境( Single System Image,單系統映像,其是分散式計算的一種模式,使用一個多網絡的通用接口,分佈式數據庫,或者多個伺服器,但對用戶而言是一個系統),託管在分散式網路中的一組異質節點上。 AO旨在提供一個環境,其中可以駐留任意數量的並行進程,並透過開放的訊息傳遞層進行協調。這種訊息傳遞標準將機器的獨立操作流程連接到一個「網路」中,就像網站在獨立伺服器上運行但透過超連結連接成一個凝聚的統一體驗一樣。
與現有的去中心化計算系統不同,AO能夠支援計算操作而無需協議強制限制大小和形式,同時也保持網路本身的可驗證性(從而實現信任最小化)。此外,ao分散式和模組化架構允許現有的智慧合約平台輕鬆「插入」網絡,充當可以從任何其他進程發送和接收訊息的單一進程。
AO,不是對計算環境的所有使用者強制執行一組選擇,而是以模組化形式建構。 AO允許使用者選擇最適合他們的虛擬機器、去中心化排序權衡、訊息傳遞安全保證和支付選項。然後,透過將所有訊息(每個訊息共享相同的格式)最終結算到Arweave 的去中心化資料層上來統一該模組化環境。這種模組化創建了一個適合極其廣泛的工作負載的統一計算環境,其中每個進程都可以輕鬆地傳輸訊息並進行協作。
AO的核心目標是在沒有任何實際規模限制的情況下實現無需信任和協作的計算服務。這為應用程式提供了一個以前不可能的全新設計空間,其融合了智慧合約應用程式(除了程式碼之外不需要信任任何東西的服務)和傳統運算環境(Amazon EC2 等)的優點。
由於其可擴展性,開發人員使用AO的自然方式是在網路內產生自己的命令列( aos) 進程,並開始發出命令。這個開發者體驗類似於開發人員在雲端主機上建立新的伺服器實例並透過SSH 連接到它,只不過這個命令列過程具有智慧合約的屬性。他們的命令列進程ao 並不存在於任何特定的資料中心或任何一個實體位置,其計算是完全無需信任的。每個用戶都可以與其他所有進程和程序發送訊息並進行互動。結果是一個全局性的「單系統映像」:一台統一的電腦——分佈在世界各地,以任何規模運行——在所有用戶之間共享。
從最終用戶或開發人員的角度來看,AO本質很簡單: AO是一台共享計算機,他們可以在其中運行任意數量的進程。這些進程不託管在任何特定伺服器上,也不受任何個人或團體的控制。相反,一旦啟動,這些流程就可以透過加密方式委託,以可證明中立的方式永久地提供服務。這使他們能夠隨著時間的推移保證用戶的權利。
AO核心功能
與現有的去中心化和分散式計算系統相比,AO協議具有以下特點:
並行運行任意數量的進程(「合約」):在AO中,應用程式由任意數量的通訊進程建構。受到原始Actor 模型(Carl Hewitt,1973)和Erlang的啟發,ao不允許進程之間共享內存,但允許它們透過原生訊息傳遞標準進行協調。然後,這些進程中的每一個都可以以可用計算資源的全速運行,而不會相互幹擾。透過專注於訊息傳遞,AO可以實現比傳統智能合約更類似於傳統Web2/分散式系統環境的擴展機制。
進程中的無限資源利用:建立在SmartWeave和LazyLedger原始版本(後來改名為Celestia)的延遲評估架構之上,AO網路中的節點根本不需要執行任何計算即可就程式狀態達成共識過渡。狀態由Arweave 託管的進程訊息日誌「全像」暗示。然後,計算成本被委託給用戶,他們可以計算自己的狀態,或者請求由他們選擇的節點執行。
存取原生無限硬碟Arweave:AO進程可以無縫地將任何大小的資料直接載入到記憶體中、執行並寫回網路。這種設定消除了典型的資源限制,並實現了完全並行執行,大大擴展了應用程式開發的可能性,超越了傳統智慧合約平台的限制。因此,它為需要大量資料處理和運算資源的複雜應用程式打開了大門,例如機器學習任務和高運算自主智能體。
自動啟動合約:在傳統的智慧合約環境(如以太坊、Solana、Polygon 等)中,合約會根據使用者交易的請求「喚醒」來執行計算。這創建了一個環境,在該環境中,除非用戶與程式交互,否則程式不是「即時」的,從而縮小了可以在其上建立的應用程式的範圍。 ao透過允許合約進行預定的「cron」互動來消除此限制,這些互動會自動喚醒它們並按設定的時間間隔執行計算。任何用戶,或實際上是進程本身,都可以向節點付費以「訂閱」進程,以便以適當的頻率觸發計算評估。
支援擴充的模組化架構:ao的核心架構是一個開放資料協議,任何人都可以建立其實作。所有東西——從排序器、訊息傳遞中繼器,甚至是系統的虛擬機器——都可以隨意交換和擴展。這種靈活性將允許Arweave 生態系統中現有的智慧合約系統(Warp、Ever、Mem 等)插入ao統一網路並能夠從統一網路發送和接收訊息。這也將允許所有這些智慧合約系統共享一些相同的基礎設施和工具,從而在Arweave 上提供更連貫的運算體驗。
AO基本架構
進程(Processes):網路的計算單元。進程由儲存在Arweave 上的交互訊息日誌以及初始化資料項表示。進程在初始化時定義其所需的運算環境(其虛擬機器、調度程序、記憶體需求和必要的擴展)。雖然流程以這種方式在共識層級上表示,但它們也意味著可以由滿足要求的計算單元計算並選擇執行該流程的狀態。除了從用戶錢包接收訊息之外,進程還透過訊息單元轉發來自其他進程的訊息。流程開發人員可以自由選擇如何確定這些訊息的可信度。
訊息(Messages):與進程的每次互動都由訊息表示。訊息的核心是符合ANS-104標準的資料項。使用者和進程(透過其寄件匣和訊息單元)可以透過調度程序單元將訊息傳送到網路上的其他進程。 AO訊息的語意介於UDP和TCP封包之間:保證只傳遞一次,但如果訊息從未被訊息單元轉發——或者接收者從未實際處理它——那麼它的傳遞將不會發生。
調度程序單元(Scheduler Units,SU):負責將發送給進程的資訊分配slot 編號並確保資料上傳到Arweave。調度程序單元負責將原子遞增的slot編號單一分配給傳送到流程的訊息。分配後,調度程序需要確保資料上傳到Arweave,從而永久可供其他人存取。進程可以自由選擇其首選的排序器,可以透過多種方式實現:去中心化、中心化甚至用戶託管。
計算單元(Compute Units,CU):計算單元是使用者和訊息單元可以用來計算AO中進程狀態的節點。雖然SU 有義務對它們已接受的進程的訊息進行排序,但不需要CU 來計算進程的狀態。這創建了一個點對點的計算市場,其中CU 提供解決進程狀態的服務,並相互競爭——權衡價格、進程的計算要求和其他參數。一旦狀態計算完成,CU 將向呼叫者傳回特定訊息解析的輸出(日誌、寄件匣和產生其他進程的請求)的簽章證明。 CU 也可以產生並發佈其他節點可以載入的簽章狀態證明-可選擇支付UDL指定費用。
通訊單元(Messenger Units,MU):一種根據cranking 的進程在AO網路中傳遞訊息的節點,將訊息傳遞給計算單元,並協調以計算輸出結果。本質上,當MU 在系統中發送訊息時,它們將其發送到適當的SU進行處理,然後與CU協調以計算交互的輸出,然後對任何生成的發件箱訊息遞歸地重複該過程。這個過程一直持續到沒有更多的消息需要處理為止。
結語
AO的推出,意味著Arweave從儲存平台轉身為運算平台。儘管AO採取的架構和方法完全不同於傳統的區塊鏈,AO已經處於與以太坊等眾多智慧合約公鏈的競爭地位。
AO宣稱自己擴展性極強,讓人無疑以為又是一個「以太坊殺手」。
AO未來到底能為加密市場帶來什麼改變?
AO目前仍處於測試網階段,一切後續發展仍有待觀察。