結構決定功能:AO 與 Nostr 的分析比較

PermaDAO
2024-08-02 15:15:53
收藏
AO 是超並行計算,Nostr 是去中心化的社交協議,怎麼進行比較呢?各自有著怎樣的定位和發展路徑?

當你看到標題時可能會覺得奇怪:AO 代表超並行計算,Nostr 則是去中心化的社交協議,這兩者似乎屬於完全不同的領域,不容易進行比較。然而,如果我們深入技術實現的層面,會發現它們本質上都是"消息傳輸協議",這樣一來,它們就具有了可比性。

作為消息傳輸協議,其中的核心要素自然是"消息"本身,一切圍繞消息的傳遞展開。那麼在 AO 和 Nostr 網絡中,各自的消息是如何定義的?它們支持消息傳輸的網絡架構又是如何搭建的?又如何與其他協議集成?它們各自的定位、主要應用場景和發展趨勢又是什麼?

本文旨在深入比較 AO 與 Nostr 這兩種協議,重點探討協議結構對功能的影響,並圍繞上述問題展開詳細分析。

一、消息的概念和特徵

1、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 能夠有效地構建數據可用性層和數據共識,從而支持其廣泛的應用需求。

2、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 可以作為一個去中心化的平台,用戶可以在其中自由交流和共享信息,而無需擔心審查或信息篡改問題。

二、支持消息傳輸的網絡結構

1、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 應用等。

2、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 等。

三、與其他協議集成

1、AO+Arweave:去中心化的世界計算機

AO 運行在 Arweave 之上,實現了與 Arweave 的無縫集成,如圖 3-1 所示。

圖3-1 AO與Arweave無縫集成(圖片來自AO白皮書)

這是存儲共識範式(SCP)的一種實現。在這種創新的範式中,存儲(共識)與計算被有效地分離,使得鏈下計算和鏈上共識成為可能。這種架構帶來了顯而易見的優勢:

  • 高性能計算: 智能合約的計算在鏈下執行,不再受制於鏈上的區塊共識過程,從而大大擴展了計算性能,使高性能計算成為可行。
  • 超並行計算: 不同節點上的各個進程可以獨立地執行並行計算和本地驗證,而無需像傳統的EVM架構中那樣等待所有節點完成重複計算和全局一致性驗證。這種設計使得AO能夠實現超並行計算。
  • 自定義計算: Arweave 為 AO 提供了所有指令、中間狀態和計算結果的永久存儲,作為 AO 的數據可用層和共識層。每個應用程序(智能合約)的執行與 Arweave 中存儲的數據密切相關,計算邏輯和數據資源可以根據應用在本地節點執行的需求進行自定義。這種靈活性遠遠超過了傳統的 EVM 模型,其中所有節點必須同時執行預定義操作以追求全網狀態的一致性。

綜上所述,AO 為 Arweave 增添了超並行計算層,而 Arweave 為 AO 提供了存儲即共識的支持。這兩者的結合創造了一個去中心化的世界計算機,為去中心化世界開啟了廣闊的應用創新空間。

2、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 是一款 Podcasting 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 協議則主要由 Client-Relay 兩個網絡組件和 Event 數據結構以及公私鑰體系構成,它建立了一個輕量級的信息發布和接收網絡。當 Nostr 協議與 Lightning 集成後,整個網絡融合了去中心化信息網絡和去中心化價值網絡的特徵,更適合構建規模化、消費級應用網絡的需求。

  • 從協議定位角度來看

從協議定位角度來看,雖然 AO 和 Nostr 都是消息傳遞協議,它們的定位和重點有所不同。AO 協議的主要側重點在於構建"去中心化世界計算機"這樣的基礎設施,定位下層,但卻打開了支持各類應用的廣闊空間,能夠捕獲更廣泛的價值,帶來不斷向上發展的力量

相比之下,Nostr 協議最初設計時就傾向於支持社交應用,定位為一個輕量級的去中心化社交協議,其應用場景更為特定和聚焦。

綜上所述,AO 和 Nostr 在數據結構、網絡結構以及協議功能上各具特色和優勢,有着不同的定位和適用場景。它們將在不同的發展路徑上展現出各自的潛力和價值。

參考資料

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
banner
ChainCatcher 與創新者共建Web3世界