三個視角 理解 AO 的顛覆性創新

訪客 3個月前 (01-22) 閱讀數 5205 #區塊鏈
文章標簽 前沿文章

作者:0xmiddle

三個視角 理解 AO 的顛覆性創新

可以把 AO 理解為無限分片,無限擴容的網絡。每個 Process 都是一個分片。

AO 不是傳統意義上的區塊鏈。它反常規、反常識的設計,容易讓剛剛了解 AO 的研究者在某些關節陷入困惑,尤其是研究者試圖用傳統區塊鏈的架構框定 AO 時:

1. 非 PoS, 非 PoW,AO 所說的“全息共識”究竟是什么樣的共識機制呢?

2. 沒有哈希鏈,甚至沒有區塊,AO 是如何保證數據不可變?

3. 沒有一個協調中樞, AO 如何保證全局狀態的一致性?

4. 沒有冗余計算機制,誰來保證計算的可靠性?計算出錯怎么辦?

5. 沒有共享安全性,如何保證 Process 之間的互操作性?

我將通過 3個視角,用區塊鏈中大家已經熟悉的概念,幫助大家從已知穿越到未知,把未知變成已知,在感性層面理解 AO。

分片視角

經過以太坊2.0 、波卡、Near 等公鏈的教育,大家應該對”分片“不陌生。

分片的概念:在區塊鏈中,分片是一種提高網絡擴展性的解決方案,通過將網絡拆分成多個分片,每個分片獨立驗證和處理交易,并生成自己的區塊,從而提升整體網絡效率。分片內可以實現同步互操作,分片之間則通過一定的通信協議實現異步互操作。

Polkadot 是最典型的分片架構。在 Polkadot 中,每個平行鏈都是一個分片,平行鏈獨立收集打包自己的區塊鏈,并由中繼鏈隨機分配一個驗證者小組來驗證。平行鏈之間統一的 XCM 消息格式來進行通信,實現互操作。

AO 的極致分片

用分片的視角來看,AO 可以理解為一種極致的“分片”:每個 Process 都是一個分片。想象一下,如果以太坊的每個智能合約都運行在一個單獨的分片上會是什么樣呢?沒錯,這就是 AO。每個 Process 都是獨立的,Process 之間的調用則依靠消息驅動,以完全異步的方式進行。

模塊化視角

但我們發現一個關鍵,在 Polkadot 的設計中,存在一個“中繼鏈”,在 ETH2.0 中也有“信標鏈”,他們的作用是作為統一的共識層,提供共享安全性。統一共識層要負責對所有分片以及分片之間的消息傳遞提供直接或者間接的驗證服務。而 AO 似乎沒有這個組件,那么 AO 的共識層是如何設計的呢?

AO 的共識層實際上是 Arweave。以模塊化的視角理解,AO 可以理解為是 Arweave 的 L2,以 Arweave 為 L1 的 Rollup,AO 網絡運行過程中所產生的所有消息的日志都會被上傳到 Arweave 永久存儲,也就是說,在 Arweave 上有一份 AO 網路運行的不可變的記錄。那么你可能會問,Arweave 是去中心化存儲平臺,并不具備太多計算能力。Arweave 是如何驗證 AO 網絡上傳上來的數據呢?

答案是:Arweave 并不驗證,AO 網絡自身會有樂觀仲裁機制。Arweave 對于 AO 網絡上傳上來的消息數據來者不拒,每條消息都會攜帶它的發出者 process id,及運行它的 CU(計算單元) 的簽名,也會帶有為它排序的 SU(排序單元) 的簽名。當發生爭議時,可以依賴 Arweave 上不可變的消息記錄,引入更多的節點進行重新運算,以創建正確的分叉,舍棄原有的錯誤分叉,并在正確的分叉中罰沒出錯 CU 或 SU 的押金。這里需要注意,MU 僅負責收集 Process 的待發消息,傳遞給 SU,是無信任的,不需要押金,也不涉及罰沒。

AO 非常像是以 Arweave 為 L1 的 Optimistic Rollup,只是驗證挑戰過程并不在 L1 上發生,而是在 AO 網絡自身當中發生。

不過這里還是有個問題,不可能每一筆消息都等待 Arweave 上收錄之后,才去確認,實際上 Arweave 的最終確定性形成時間要超過半個小時。所以 AO 自己會有一個軟共識層,就像以太坊的 Rollups 自己有軟共識層,大多數交易不會等待 L1 確認,就會上賬。

AO 中的 Process 實際上是自主決定驗證強度的。

作為消息接收方的 Process 要決定是否要等 Arweave 確認后再處理該消息,還是在軟共識層確認后即處理該消息,即便在軟共識層確認環節,Process 也可以采取彈性的策略,可以是單個 CU 確認后即處理,也可以由多個 CU 冗余確認,并進行交叉驗證后再處理,冗余度也是由 Process 決定。

在實際應用中,驗證強度往往與交易的金額有關,例如

小額交易,采用快速驗證策略,單點確認后即處理

中等額度交易,根據具體額度,采取不同冗余度的多點確認后處理的策略

大額交易,則采取謹慎驗證策略,在 Arweave 網絡確認后再處理

這就是 AO 所說的“全息共識”+“彈性驗證”的模式,通過將 “可驗證性”和“驗證”行為本身解耦,AO 對共識問題采取了完全不同于傳統區塊鏈做法,消息驗證的責任也不在網絡本身,而在 接收方 Process 本身,或者說在應用程序開發者。

正是因為采取了這樣的共識模型,AO 才有可能采取“極致分片”的無樞紐、無限擴展模型。

當然,彈性驗證導致了不同的 Process 的驗證強度不同,在復雜的互操作中,可能導致信任鏈斷裂,一個較長的調用鏈中的個別環節失敗,會導致整體交易的失敗或者錯誤,事實上,在 AO 測試網階段,這樣的問題已經有所暴露。我認為,AO 應該會為所有驗證任務設定一個最低驗證強度的標準,讓我們拭目以待 AO 即將到來的正式網會有什么樣的新設計。

資源視角

在傳統區塊鏈系統中,資源被抽象為“區塊空間”,區塊空間可以被理解為節點提供的存儲、計算和傳輸資源的集合,并通過鏈上區塊有機結合,為鏈上應用提供運行的載體。區塊空間是一種有限的資源,在傳統區塊鏈中,不同的應用程序需要爭奪區塊空間,并為其付費,而節點則通過這種付費來盈利。

AO 中沒有區塊的概念,也自然沒有“區塊空間”的概念。但和其他鏈上的智能合約一樣,AO 上的 每個 Process 在運行時,也需要消耗資源,它需要節點來臨時存儲交易和狀態數據,也需要節點消耗計算資源,為其執行計算任務,其發出的消息,需要 MU 和 SU 傳輸到目標 Process 那里。

在 AO 中,節點分為三類,CU(計算單元)、MU(消息單元)、SU(排序單元),其中 CU 是承載計算任務的核心。MU 和 SU 則承載通信任務。當一個 process 需要和其他 process 交互時,會生成一條消息,存儲在出站隊列,運行該 process 的 CU 會簽名該消息,MU 從出站隊列出提取該消息,并提交給 SU,SU 給消息賦予一個唯一的序號,并上傳到 Arweave 永久存儲。然后 MU 再將消息傳遞到目標 process 的入站隊列,消息投遞完成。可以把 MU 理解為消息的收集者和投遞者,SU 理解為消息的排序者、上傳者。

至于存儲資源,AO 網絡中的 MU 只需存儲計算所需的臨時數據,在計算完成后即可丟棄。負責永久存儲的是 Arweave,Arweave 雖然不能水平擴展,但其存儲性能的天花板極高,AO 網絡的存儲需求,在可預見的未來,還無法觸及 Arweave 的天花板。

我們發現 AO 網絡中的計算資源、傳輸資源、存儲資源都是解耦的,除了 Arweave 提供的統一存儲資源外,計算資源和傳輸資源都可以各自水平擴展,沒有任何限制。

越多的、越高性能的 CU 節點加入網絡,網絡就會擁有更高的算力,就可以支撐更多的 Process 運行;同樣,越多的,越高性能的 MU、SU 節點加入網絡,網絡的傳輸效率就越快。也就是說,AO 中的“區塊空間”可以不斷被創造。對于應用程序而言,既可以購買開放市場中的公共的 CU 、MU、SU 節點服務,也完全可以自己運行私有節點來為自己的應用程序服務。如果應用程序的業務擴張,則完全可以通過擴容自己的節點來提升性能,正如 Web2 應用所做的那樣。這在傳統區塊鏈上是無法想象的。

在資源的定價層面,AO 可以通過供需來靈活調節,因而使得資源的供給可以根據需求伸縮。這種調節會非常靈敏,節點的加入和退出可以非常快的進行。我們再回頭看以太坊,則會發現,當資源需求急劇上升時,大家除了忍受高昂的 Gas 費之外,別無他法,因為以太坊無法通過擴充節點數來提高其性能。

總結

以上,我們通過大多數加密研究者熟知的概念入手,例如“分片”、“模塊化”、“Rollup”、“區塊空間”等,切入到 AO 的原理和機制中,幫助大家理解了 AO 是如何通過顛覆式的創新,做到幾乎無限擴容的。

現在回過頭來看開頭的幾個問題,你是否已了然呢?

1. 非 PoS, 非 PoW,AO 所說的“全息共識”究竟是什么樣的共識機制呢?

AO 的共識機制,實際上是一種接近 Op Rollup 的設計。在硬共識層面依賴 Arweave,在軟共識層面,每個 Process 可以自主決定驗證強度,自主決定由多少個 CU 節點進行冗余計算。

2. 沒有哈希鏈,甚至沒有區塊,AO 如何保證數據不可變?

上傳到在 Arweave 上的 DA 數據是不可變的,為 AO 上的所有計算和傳輸過程提供可驗證性。AO 本身沒有必要限定單位時間內的處理容量,因此不需要設定區塊。“哈希鏈”和“區塊”,這些用來保證數據不可變的結構,Arweave 鏈是有的。

3. 沒有一個協調中樞, AO 如何保證全局狀態的一致性?

每個 Process 都是一個獨立“分片”,獨立管理其交易和狀態,Process 通過消息驅動的方式來交互。因此并不需要全局狀態的一致性。Arweave 的永久存儲提供了全局可驗證性和歷史回溯能力,結合樂觀挑戰機制,可用于爭議解決。

4. 沒有冗余計算機制,誰來保證計算的可靠性?計算出錯怎么辦?

AO 沒有全局強制的冗余計算機制,每個 Process 可以自行決定如何驗證發來的每個 message 的可靠性。如果計算出錯,可以通過樂觀挑戰的形式發現和糾正。

5. 沒有共享安全性,如何保證 Process 之間的互操作性?

Process 需要自行管理每個與之互操作的 Process 的授信,可對不同安全級別的 Process 采用不同級別的驗證強度。對于調用鏈比較復雜的互操作,為了避免信任鏈斷裂帶來的較高的糾錯成本,AO 可能會有一個最低限度的驗證強度要求。

熱門
主站蜘蛛池模板: 欧美V国产V亚洲V日韩九九| 青青操在线免费观看| 婷婷人人爽人人做人人添| 久久精品动漫一区二区三区| 欧美激欧美啪啪片sm| 办公室娇喘的短裙老师在线视频| 青青草原综合久久大伊人| 国产精品亚洲一区二区三区| aa级黄色大片| 很污的视频网站| 久久久久久国产精品三级| 最新69堂国产成人精品视频| 亚洲日韩中文字幕一区| 男人插女人30分钟| 午夜亚洲国产成人不卡在线| 裴远之的原型人物是谁| 国产日韩精品欧美一区| 2015日韩永久免费视频播放| 在线观看成人网站| √天堂中文官网在线| 成人综合视频网| 久久久久久久久蜜桃| 日韩人妻不卡一区二区三区| 亚洲中文字幕日产乱码高清app| 毛片女人十八以上观看| 人妻无码久久一区二区三区免费 | 人妻少妇伦在线无码| 精品国产不卡一区二区三区| 国产三级在线观看| 香蕉在线精品视频在线观看6| 国产特级毛片aaaaaa毛片| 15一16毛片女人| 国产美女无遮挡免费视频| 99久久免费看国产精品| 天天摸日日摸狠狠添| 一区二区福利视频| 成人五级毛片免费播放| 中文字幕免费在线观看| 日产一区日产片| 久久久久亚洲av无码专区喷水| 日韩中文字幕高清在线专区 |