AO 快速入門:超級並行計算機簡介
AO 是一台"超並行計算機"。其核心目標是提供無需信任的協作計算服務,且在規模上沒有實際限制。它結合了區塊鏈網絡的信任最小化優勢與更傳統計算環境(如亞馬遜 EC2)的速度和可擴展性。但這一切是如何工作的呢?讓我們深入探討 AO 的複雜性。
AO 的關鍵特性有哪些?
在去中心化計算領域,有幾個關鍵特性幫助區分 AO:
- 並行處理: 支持任意數量的進程並行運行,彼此獨立。這些進程可以單獨操作和評估,創建類似於 web2 系統的可擴展性機制。
- 無限計算: 進程不受任何協議強加的關於它們可以計算的信息量的限制,前提是調用者可以承擔相關的計算成本。
- 讀/寫到 Arweave: 進程可以從 Arweave 加載數據並寫入數據,擴展了可以使用 AO 構建的去中心化應用程序的類型(例如,機器學習任務)。
- 自主進程: 進程可以在設定的時間間隔自動執行計算。用戶和其他進程可以"訂閱"一個進程以觸發計算。此功能可以使進程作為自主代理操作。
- 模塊化架構: 靈活的計算環境提供了調度器、消息傳遞層、虛擬機等的交換。這種靈活性允許現有的智能合約系統(Warp、MEM 等)輕鬆地接入 AO 並與統一的網絡互動,創造更加連貫的體驗。
AO 與傳統計算環境的不同之處在於:
- 基於 Arweave 構建:AO 利用 Arweave 的特性,消除了與中心化提供商相關的脆弱性,如單點故障、數據泄露和審查制度。AO 上的計算是透明的,可通過去中心化的信任最小化特性和存儲在 Arweave 上的可復現消息日誌來驗證。
- 去中心化基礎:這種基礎有助於克服物理基礎設施施加的可擴展性限制。最重要的是,任何人都可以從他們的終端輕鬆創建一個 AO 進程,或者僅用幾行 JavaScript 代碼,無需專門的知識、工具或基礎設施。這確保了即使是個人和小規模實體也能擁有全球影響力和參與度。
AO 如何改進其他去中心化計算網絡:
- 並行處理能力:與以太坊等網絡不同,後者的基礎層和每個 rollup 實際上都作為單一進程運行,AO 支持任意數量的進程並行運行,同時確保計算的可驗證性保持完整。此外,這些網絡在全球同步狀態下運行,而 AO 進程保持自己的獨立狀態。這種獨立性使得 AO 進程能夠處理更高數量的交互和計算的可擴展性,使其特別適合對高性能和可靠性有需求的應用程序。
- 可驗證的可復現性:雖然一些去中心化網絡,如 Akash 和點對點系統 Urbit,確實提供了大規模的計算能力,但與 AO 不同,它們不提供交互的可驗證復現性,或者依賴於非永久性存儲解決方案來保存它們的交互日誌。
AO 如何成為一台超級並行計算機?
AO 通過一個節點網絡運作,這些節點共同創建了一個統一的計算環境,能夠並行承載無限數量的進程。這些進程功能類似於獨立的伺服器,每個伺服器都有自己的邏輯,托管在去中心化網絡上。此外,這些進程保持一種"全息"狀態。這使它們能夠獨立工作,為網絡解鎖可擴展性,並實現所謂的"超級並行計算"。
關於 AO,"全息狀態"意味著什麼?
"全息狀態"指的是每個進程如何獨立存儲其狀態,與其他進程無關。這種方法允許每個進程分別操作和評估。它促進了網絡內更快速的交互並改善了可擴展性。狀態是通過托管在 Arweave 上的相關消息日誌(與進程的互動)"全息式"地暗示出來的。
AO 架構的關鍵組件包括:
- 進程: 在 AO 中,進程是一組可以由網絡執行的指令。每個 AO 進程都是持久的,具有通過上傳到 Arweave 的消息日誌所代表的全息狀態。
- 消息: 每次與進程的互動都通過一條消息表示。消息符合 ANS-104 數據項標準。它們可以來自網絡內的用戶或其他進程。
- 調度單元(SUs): SUs 的任務是為消息編號,以便系統地處理它們。此外,它們還確保消息及其數據被上傳到 Arweave。
- 計算單元(CUs): CUs 的任務是確定進程的狀態並處理消息請求。然而,CUs 並不義務計算每一條消息;如果它們缺乏必要的資源,它們可以拒絕計算。現有的 CUs(在撰寫本文時)使用基於 WASM 的虛擬機環境,支持高達 4 GB 的 RAM。
- 消息單元(MUs): MUs 負責消息的流通。它們的工作是將消息推送通過系統,確保它們由 SU 排序,然後與 CU 協調進行計算。MUs 不斷監控新消息,並根據需要重複此過程。
AO 中的並行處理是如何工作的?
在 AO 中,多個進程可以並行操作,共享可用的計算資源。在其他進程空閒時,資源被重新分配給活動進程。這種重新分配有助於最大化利用可用資源,加快處理時間,使系統更加高效和可擴展。
AO 中的消息是如何處理的?
網絡內的每次互動都以消息的形式進行。每條消息都經歷以下流程:
- 用戶或其他進程以消息的形式向某個進程發送請求。消息由消息單元(MU)接收並轉發給調度單元(SU)。
- 調度單元(SU)為消息分配一個原子遞增的槽編號,並確保消息上傳到 Arweave。SU 也可以選擇緩存消息。
- 然後,消息單元(MU)向計算單元(CU)發送請求,以計算消息結果。
- 計算單元(CU)然後從調度單元(SU)或直接從 Arweave 獲取所請求的消息,並計算其結果。
- 計算結果被發送回消息單元(MU),MU 檢查消息是否需要被推送(如果結果需要進一步處理)。
- 如果結果不需要進一步處理,那麼消息單元(MU)將結果發送給消息的原始創建者(用戶或進程)。
AO 進程如何作為自治代理運行?
基於預定義邏輯,AO 進程可以與 Arweave 網絡進行最小化甚至無需持續用戶干預的互動。結合它們的其他特性,AO 進程可以以可驗證的方式作為自治代理行事。這開啟了從參與代幣化遊戲到充當 AO 聊天機器人等眾多潛在應用的可能性。此外,AO 引入了類似 cron 的系統,使進程能夠在預定的間隔執行任務。無論是提供及時的警報、更新代幣價格,還是根據這些更新促進自動化交易和套利,AO 進程作為自治代理的能力是廣泛的。
如何開始使用 AO?
✅ 對於開發者
開發者有兩種方式與 AO 互動:
- AOS:開發者可以使用 AOS 在他們的終端內生成他們的進程。aos 與 ao 是不同的。ao 是一個計算環境,而 aos 功能類似操作系統。它目前支持 Lua 語言編程。查看這些文檔以使用 AOS 生成進程。
- aoconnect:對於更習慣使用 JavaScript 的開發者來說,aoconnect SDK 提供了一種在節點和瀏覽器環境中生成和互動進程的方式。訪問這裡了解更多關於 AO connect 的信息。
✅ 對於終端用戶
終端用戶可以選擇多種應用程序:
- Astro:一種超額抵押的穩定幣,為 Arweave 增加流動性。想要探索 Astro,請訪問這裡。
- Bark:由代幣流動性池支持的去中心化 AMM 交易所。發現 Bark 及其特點,請點擊這裡。
- AO Effect:一種競技場風格的遊戲,可以與全球的朋友互動。開始 AOEffect 遊戲,請訪問這裡。
AO 的下一步是什麼?
展望未來,AO 正準備在協議層推出增強功能,這將包括支付通道、代幣化和質押機制的選項。除此之外,應用開發的視野很廣,有可能擴展到臨時文件存儲解決方案、市場、遊戲,甚至人工智能。