AO 是超平行計算,Nostr 是去中心化的社交協議,要怎麼比較呢?各自有著怎樣的定位與發展路徑?
當你看到標題時可能會覺得奇怪:AO 代表超並行計算,Nostr 則是去中心化的社交協議,這兩者似乎屬於完全不同的領域,不容易進行比較。然而,如果我們深入技術實現的層面,會發現它們本質上都是“訊息傳輸協定”,這樣一來,它們就具有了可比性。
作為訊息傳輸協議,其中的核心要素自然是「訊息」本身,一切圍繞著訊息的傳遞。那麼在AO 和Nostr 網路中,各自的訊息是如何定義的呢?它們支援訊息傳輸的網路架構又是如何搭建的?又如何與其他協定整合?它們各自的定位、主要應用場景和發展趨勢又是什麼?
本文旨在深入比較AO 與Nostr 這兩種協議,重點在於協議結構對功能的影響,並圍繞上述問題展開詳細分析。
訊息的概念和特徵
AO 中的Message
在AO 網路架構中,訊息(Message)是各個網路單元(MU、SU、CU)之間或各個進程之間傳遞的基本資訊單元。它們透過發送和接收訊息來實現資訊交換和協作。
AO 被設計為一個訊息驅動的非同步通訊網路。首先,AO 在啟動工作(啟動一個進程)時需要訊息來驅動,這些訊息可以來自外部使用者或其他進程。其次,AO 的進程間通訊是異步的,這意味著訊息的發送和接收是獨立於發送者和接收者的操作。發送訊息的進程不需要等待接收者的回應或確認,可以立即繼續執行其他操作。這種特性顯著提高了AO 平行計算的效率。
在AO 網路中,訊息的非同步傳輸和無需等待的特性使其成為處理大規模並行運算任務的理想選擇,因為它允許系統的各個部分能夠並行執行,而無需長時間等待其它進程的回應。
在AO 中,每個訊息都遵循Arweave 生態系統的ANS-104 標準,這是一種資料打包協議。 ANS-104 透過將多個交易以二進位方式序列化到一筆原生交易中,顯著提升了資料讀寫的吞吐量。這個協定不僅僅是簡單的資料打包,還在打包資料中加入了所有者、簽名、目標位址、標籤、資料等欄位。這種設計使得ANS-104 能夠支援多種資料類型,包括文件、圖片、影音、遊戲、資料模型、程式碼以及全像狀態等。此外,它還支援資料所有權和簽章驗證,為資料的安全性和完整性提供了保障。
ANS-104 標準的這些特性對AO 尤其重要,因為它們使得AO 能夠針對不同的資料類型建立多樣化的應用情境。統一的訊息格式也大大促進了進程間的高效通訊和無縫協作,還可以提高在Arweave 上進行儲存和結算處理的效率,使得AO 能夠有效地建立資料可用性層和資料共識,從而支持其廣泛的應用需求。
Nostr 中的Event
在Nostr 協定中,採用了基於JSON 結構定義的一種標準訊息格式,用於描述各種類型的資料。這種訊息格式被稱為事件(Event),是Nostr 網路中的基本資料物件。
最常用的訊息結構正在被整合到一個共同遵循的標準中,稱為NIPs(Nostr Implementation Possibilities)協定標準。這種一致性和標準化大大提升了資料處理和管理的效率,有助於增強系統的互通性和穩定性。透過NIPs,使用者可以在Nostr 網路中執行各種操作和互動,而無需擔心資料格式的差異性或不相容性問題。
JSON 結構用於定義Nostr 協定中的事件資料格式,在此結構中包含不同的字段,每個字段具有不同的作用,舉例來說:
-
pubkey 欄位:表示發送事件的使用者公鑰,用於標識使用者的身分。此公鑰將用於對事件進行數位簽名,以確保事件的真實性和完整性。
-
kind 欄位:用於指示事件的類型。它可以表示不同的訊息類型,如聊天室訊息、錢包資訊等,也可以表示使用者的特定行為,例如推薦中繼清單、執行某項操作等。
-
content 欄位:包含事件的具體內容。這個欄位支援多種資料類型,例如社群媒體貼文、論文、影音等。用戶可以在這裡表達他們想要傳達的各種訊息和數據。
-
sig 欄位:用於儲存事件的數位簽章。這個簽章由發送者使用他們的私鑰生成,然後由接收者的客戶端使用相應的公鑰進行驗證。簽名能夠確保具有對應公鑰的用戶在特定日期確實發送了該事件,從而增強了事件的可信度和可驗證性。
-
……
詳細的事件資料結構描述可參考:https://nostr.how/zh/the-protocolcontent。 Nostr 協定透過這些欄位和結構,為事件的發送、接收和驗證提供了一套清晰的框架。這種設計有助於確保資料的安全性、一致性和可靠性。
所有欄位組合在一起,以此來表達一個完整的、發揮特定作用的事件。概括來說,事件是一個包含任意內容並由使用者簽署的資料結構,這個結構反映出Nostr 的定位、特徵和作用:
-
Nostr 是一個資訊發布、儲存和接收系統。 Nostr 透過採用JSON 結構和NIPs 協定標準,建立了一個高效的資料交換和管理框架,確保了資訊的一致性和可解析性,為使用者提供了穩定可靠且統一的資訊通訊環境;
-
支援客戶端驗證:此資料結構支援在客戶端進行驗證,因此無需信任任何中繼伺服器或第三方,可以直接驗證事件的真實性和完整性。
-
建構去中心化、抗審查、可驗證的社交網路:這種資料結構的特性使得Nostr 可以作為一個去中心化的平台,使用者可以在其中自由交流和共享訊息,而無需擔心審查或資訊篡改問題。
支援訊息傳輸的網路結構
AO:MU/SU/CU 構成協作網絡
AO 網路由MU、SU 和CU 三個模組化基本單元構成,並透過訊息和進程來運作和協作,其網路架構如圖1-1 所示。
圖1-1:模組化且相互協作的網路單元形成AO的網路架構(圖片來自AO白皮書)
進程(Process)是AO 網路中的計算單位,啟動一個應用程式在AO 上等同於啟動一個或多個進程,系統會為每個進程分配和調度資源,如MU、SU、CU、虛擬機器、內存等,以執行該進程:
-
MU(Messenger Unit):這是信差單元,負責將訊息傳送到適當的SU 進行處理,然後交付給CU 執行計算,計算結果再回傳SU,信差單元不斷重複此過程;
-
SU(Scheduler Unit):這是調度單元,負責調度和訊息排序,並將訊息上傳至Arweave;
-
CU(Compute Unit):這是計算單元,接受訊息,執行計算,實現狀態轉換。
如上所述,AO 的網路結構和運作方式顯示:
-
AO 是一個訊息傳輸系統
訊息是進程中的核心要素,是MU、SU 和CU 的唯一的工作物件。整個進程圍繞著訊息而展開,進程就是訊息集合的運行活動,包含了從接受訊息、訊息傳輸、訊息調度和排序、執行計算(訊息狀態轉換)、輸出並儲存計算結果的完整過程。
所以AO 是一個訊息傳輸系統,可以致力於建立資訊發布和即時交流互動、內容分發等方面的應用,如去中心化的社交網絡、社交媒體以及去中心化的音視頻點播/直播平台等。
-
AO 是一個超平行運算網絡
AO 是一個模組化網絡,其中計算在鏈下執行,不受區塊共識的約束,使得計算單元(節點)能夠根據需要進行無限擴展,從而極大提升了計算性能。
在AO 的環境中,可以同時開啟任意數量的運算任務(並行進程),這些進程能夠在不同的運算節點上獨立運行,並在本地完成驗證。這使得AO 成為一種分散式、可驗證的超平行計算機。
儘管各個運算進程可以在不同的節點上獨立運行,但它們之間可以透過統一的資訊格式(ANS-104)進行訊息傳遞和協作。這種方式將獨立運行的計算進程連接在一起,形成一個統一的網路。
-
AO 是一個開放平台
AO 的核心是一個資訊協議,允許運行在Arweave 上的不同應用之間相互通訊。每個應用可以透過AO 網路向其他應用發送訊息,利用AO 進行組合性運算,實現跨鏈訊息交換。
AO 網路運行在鏈下,能夠與Web2 應用實現無縫連接。透過呼叫AO 協定接口,Web2 應用可以參與到這個去中心化網路。這種特性使得AO 能夠消除Web2 和Web3 應用之間的隔閡,實現可信任的資訊交換和應用之間的互通性。 AO 的通訊協定設計機制使其成為一個開放的平台,為開發者帶來了無限可能性。
綜上所述,AO 的網路架構支援其成為一個可組合、互通、可擴展、可驗證、去中心化和開放的電腦網路平台。它不僅適用於以資訊發布和交流互動為主題的社交應用,還能夠支援對運算效能要求更高、業務邏輯更複雜的應用,例如機器學習、自主決策代理、圖形渲染、線上遊戲和DeFi 應用等。
Nostr:Client-Relay 結構
Nostr 是「Notes and Other Stuff Transmitted by Relays」的縮寫,意思是「透過中繼傳送註解和其他內容」。網路中有兩個主要的元件,其網路結構如圖1-2 所示。
圖1-2 Nostr的網路結構
-
客戶端(Client)
這是在用戶端運行的應用程序,用於將資料讀寫到中繼伺服器。用戶端使用公鑰作為用戶發送和接收事件的地址,而私鑰則用於在發送事件時進行簽名,以證明是用戶本身的操作並防止篡改。在接收事件時,用戶端使用私鑰驗證簽名,以確認事件的來源和完整性。
客戶端允許使用者連接到分佈在不同地點、任意數量的中繼伺服器。使用者可以在一個中繼上發布訊息,並在另一個中繼上檢索資訊。這意味著客戶端(使用者)不必依賴任何特定的中繼伺服器,從而有效保護使用者資料和行為。
-
中繼伺服器(Relay)
中繼伺服器具有監聽、抓取和儲存與其連接的客戶端事件的能力,並將這些事件轉發給已訂閱的用戶端。
任何人都可以運行中繼伺服器,多個中繼伺服器可以互相替代,這種設計弱化了單一中繼的重要性,降低了單點故障的風險,提升了抗審查能力。此外,多個中繼之間的競爭能夠推動服務品質的提升,如提供更大的儲存容量、更快的反應速度以及垃圾資訊的過濾等服務。
中繼伺服器可以根據自身需求選擇儲存使用者全部或部分內容,並決定儲存的時間長度,這為中繼的定位和商業行為提供了更大的靈活性。同時,中繼伺服器之間無需進行相互通信,因此不存在共識層面的問題,也無需進行資料同步。資料同步是透過客戶端之間的事件發送和接收來實現,這與區塊鏈節點有根本的不同。
這樣的架構不僅能夠提升系統的彈性和效率,也能有效地因應不同的使用情境和需求。
可見,Nostr 採用了像Client-Relay 這樣的輕量級網路結構,不僅能夠提升系統的靈活性和效率,還能夠有效地支援建構一個去中心化、抗審查、可驗證的資訊發布系統,滿足人們對言論自由、流暢溝通和資料安全與隱私控制的需求。這種設計有效應對了中心化社群媒體帶來的種種挑戰和弊端。因此,Nostr 被譽為去中心化社交協議,廣受開發者青睞,用於建構各類去中心化社交應用,例如Damus、YakiHonne、Iris 等。
與其他協議集成
AO+Arweave:去中心化的世界計算機
AO 運行在Arweave 之上,實現了與Arweave 的無縫集成,如圖3-1 所示。
圖3-1 AO與Arweave無縫整合(圖片來自AO白皮書)
這是儲存共識範式(SCP)的一種實作。在這種創新的範式中,儲存(共識)與計算被有效地分離,使得鏈下計算和鏈上共識成為可能。這種架構帶來了顯而易見的優勢:
-
高效能運算: 智慧合約的運算在鏈下執行,不再受制於鏈上的區塊共識過程,從而大大擴展了運算效能,使高效能運算成為可行。
-
超並行運算: 不同節點上的各個流程可以獨立地執行平行運算和本地驗證,而無需像傳統的EVM 架構中那樣等待所有節點完成重複運算和全域一致性驗證。這種設計使得AO 能夠實現超並行計算。
-
自訂計算:Arweave 為AO 提供了所有指令、中間狀態和計算結果的永久存儲,作為AO 的資料可用層和共識層。每個應用程式(智慧合約)的執行與Arweave 中儲存的資料密切相關,運算邏輯和資料資源可以根據應用在本地節點執行的需求進行自訂。這種靈活性遠遠超過了傳統的EVM 模型,其中所有節點必須同時執行預定義操作以追求全網狀態的一致性。
綜上所述,AO 為Arweave 增添了超平行運算層,而Arweave 為AO 提供了儲存即共識的支援。這兩者的結合創造了一個去中心化的世界計算機,為去中心化世界開啟了廣闊的應用創新空間。
Nostr + Lightning:建構去中心化訊息
和價值網絡
因為Nostr 的開發者fiatjaf 同時也是閃電網路的開發者,因此Nostr 原生支援閃電網路。閃電網路(Lightning Network)是比特幣區塊鏈的第二層解決方案,透過使用通道(Channels)在鏈下擴展區塊鏈的功能。它有效地解決了比特幣交易速度慢、吞吐量有限以及交易成本高昂等問題,使得高頻、低成本的比特幣小額支付成為可能。
Nostr 與Lightning Network 的結合,最直接的應用之一是在社群應用中實現「打閃」。 Nostr 的熱門用戶端Damus 內建了比特幣閃電網路支付功能,用戶只需填入Nostr 的公鑰,即可輕鬆調用閃電網路支付Relay 的一次性費用。付款完成後,用戶會收到閃電網路發票。有關其詳細工作流程,請參閱:https://nostr.how/zh/zaps,網頁中詳細解釋了操作步驟。
在資產發行方面,比特幣一層的資產發行協議Taproot Assets(TAP)與閃電網路相容,可以將Taproot 資產和比特幣的最小單位Satoshis 引入Nostr 生態系統中,並利用閃電網路進行即時和經濟實惠的資產轉移。這不僅豐富了Nostr 的資產種類,還為社交網路、支付和DeFi 等應用程式場景提供了更多可能性。
此外,CKB 社群的成員也提出了Nostr 綁定協議,利用RGB++ 技術將Nostr Event 與CKB CELL 進行同構綁定。這項舉措使得用戶可以在Nostr 社交網路中創建和分發原生資產,有效解決了社交網路中的原生支付問題。
更重要的是,Nostr 與Lightning Network 的結合正在為去中心化應用開闢一條全新的商業模式,即V4V(Value 4 Value)。
V4V 的理念認為,將非稀少資訊貨幣化是一項非常困難的任務。傳統網路世界預設的貨幣化模式通常依賴廣告,這種模式嚴重依賴中心化監控和使用者行為分析。 V4V 提供了一種替代方案,允許資訊和價值的自由流動,無需受到限製或中介。這種方法不僅是在線貨幣化比特(bit)和位元組(byte) 的一種新方法,也是內容創造和價值傳遞的新途徑。
V4V 的解決方案正在為基於Nostr 構建的社交應用、播客和直播平台等帶來創新價值,例如:
-
去中心化媒體資訊互動協議YakiHonne,支援了Nostr 與閃電網路的集成,使用SATS 作為打賞支付,全年支付總額超過9000 萬SATS。
-
Nostrwatch.live 是一個運行在Nostr 和閃電網路上的去中心化直播平台,建構了一個「Value for Value」的雙向流價值交換平台。當播放者向觀眾發送即時媒體串流時,同時也從觀眾那裡接收SATs 支付串流。一旦支付停止,串流媒體訊號也隨之停止播放。這與傳統的預付模式不同,觀眾無需事先訂閱或預付費用。
-
Podverse 是播客 2.0 應用,能夠與Alby 集成,使用閃電網路向播客發送boostagram(一種向創作者發送訊息的捐贈方式)和sat 支付流。當在Podverse 中「串流Satoshis」時,該應用程式會按每分鐘的收聽時間將Satoshis 發送給用戶正在收聽的播客。
可以看出,透過Nostr 與Lightning 的結合,Nostr 從一個去中心化訊息傳輸網路逐步演變為一個融合訊息和價值的去中心化傳輸網路。這一進化不僅能保護個人言論免受侵犯,也能確保個人資產的安全,使其成為價值交換的載體和網路。這種演進為規模化和消費級應用的創新開闢了新的可能性和發展機遇,可能成為實現Web3 大規模採用的可行途徑。
總結:結構決定功能
我們在上文中主要從資料結構和網路結構兩個方面對AO 和Nostr 協定進行了比較分析,並根據「結構決定功能」的原則,深入分析了各協定支援的主要功能和應用場景:
-
從資料結構角度來看
從資料結構角度來看,AO 和Nostr 協定有一些共同點。它們都是資訊傳輸協議,支援各種資料類型的資訊發布、交流互動和內容分發,能夠建立去中心化社交網路和去中心化社交媒體應用程式。此外,它們都具備去中心化、抗審查、可簽署驗證以及隱私和安全保護的功能特徵。
然而,它們也有顯著的差異。 Nostr 協定的定位和主要應用場景著重於上述這類應用,而這些只是AO 資料結構所支援功能和應用的一個小子集。 AO 協議的重點則在於支援超並行計算,其應用領域更為廣泛和深遠。
-
從網路結構角度來看
從網路結構的角度來看,AO 協定具備模組化、相互協作和可擴展的網路單元,允許進程在不同節點上獨立運作並進行本地驗證,這些特性為實現超並行計算提供了基礎條件。
同時,AO 協議透過基於SCP 範式與Arweave 的無縫集成,突破了區塊鏈技術的不可能三角限制。它可以根據需求無限擴展儲存資源和運算資源,並利用Arweave 永久儲存的具有所有權保護的共識資料進行任意進程(應用)間的資訊交換和協作。因此,AO 協議能夠建立面向全球的高效能、超並行運算網絡,為Web3 甚至Web2 應用帶來了創新空間。
舉例來說,它支援需要大語言模型(LLMs)和高密度計算的機器學習應用;支援能夠滿足具有複雜業務邏輯、可預定義需求和多元化自主策略的AgentFi;支援強調資料所有權和內容變現的版權管理與創作者市場(ContentFi);以及能夠支援有數據共識要求,需要進行資訊跨鏈通訊、資產跨鏈流動、數據跨鏈共享以及智能合約跨鏈互通等去中心化應用等。
相較之下,Nostr 協定則主要由Cliet-Relay 兩個網路元件和Event 資料結構以及公私鑰體系所構成,它建立了一個輕量級的資訊發布和接收網路。當Nostr 協定與Lightning 整合後,整個網路融合了去中心化資訊網路和去中心化價值網路的特徵,更適合建構規模化、消費級應用網路的需求。
-
從協議定位角度來看
從協議定位角度來看,雖然AO 和Nostr 都是訊息傳遞協議,它們的定位和重點有所不同。 AO 協議的主要重點在於建構「去中心化世界電腦」這樣的基礎設施,定位下層,但卻打開了支援各類應用的廣闊空間,能夠捕捉更廣泛的價值,帶來不斷向上發展的力量。
相較之下,Nostr 協議最初設計時就傾向於支援社交應用,定位為一個輕量級的去中心化社交協議,其應用場景更為特定和聚焦。
綜上所述,AO 和Nostr 在資料結構、網路結構以及協定功能上各具特色和優勢,有著不同的定位和適用場景。它們將在不同的發展路徑上展現出各自的潛力和價值。