CometBFT 共識機制下的鏈可定製化,IBC 與乙太坊、Avalanche、NEAR、波卡平行鏈的連接,Cosmos「宇宙」仍在不斷膨脹。

作者:Babywhale,Foresight News

封面:Cosmos

Cosmos 開發團隊推出的一系列技術解決方案一直都廣受 Web3 開發團隊歡迎,無論是 Cosmos SDK 還是 IBC,其中很多方案都幫助開發者解決了重複造輪子的問題。

雖然 Cosmos 為 Web3 帶來了諸多產品,但其核心的 ATOM 代幣卻一直沒有受益於 Cosmos 生態的膨脹。 但去年的 Cosmoverse 大會上,Cosmos 2.0 白皮書的發佈為 ATOM 帶來了額外的價值,包括為「消費鏈」提供安全性來收取費用以及捕獲 MEV 收入等。 簡單來說,如果 Cosmos 2.0 完全實現,則 ATOM 也將受益於 Cosmos 生態的不斷擴張,所以現在剩下的問題就是儘快實現 Cosmos 2.0 的開發與進一步擴展 Cosmos 生態。

上個月,旨在推動 Cosmos 生態發展的 Interchain 基金會公開發佈了 2024 年 Interchain 堆疊的開發計劃,該路線圖旨在實現四個戰略目標:

  1. 通過通用化軟體來提高模組化程度,以便更輕鬆地適應特定用例;
  2. 改善開發人員體驗,以便更輕鬆地使用 Interchain Stack 進行構建;
  3. 還清技術債務,以便能夠更快地取得進展;
  4. 推動用戶採用。

這其中有不少計劃或許會改變你對 Cosmos 和 ATOM 發展前景的判斷。

CometBFT

CometBFT 是 Interchain 狀態機的複製引擎,以保證網路的驗證者在區塊的生成上達成一致,從而確保區塊鏈網路的安全性和一致性。

Interchain 基金會表示,其目標是通過擴大 CometBFT 的覆蓋範圍和適用性來發展 Interchain,説明建立主權互操作應用。 此外,包括 CometBFT 在內的跨鏈公共產品堆疊需要達到新的靈活性和模組化水平來適應 Interchain 中應用的日益差異化、提供機構級服務和以多種方式競爭。

Interchain 基金會於 2023 年 2 月發布了 CometBFT v0.34,3 月又發佈了 v0.37,其中包括 ABCI++ 的第一部分。 3 月底發佈了 v0.38 候選版本,這是 ABCI++ 的最後一部分,在最終版本發佈前,Interchain 基金會會將其集成到 Cosmos SDK 和 IBC-go 中。

Interchain 基金會計劃在 2023 年結束之前發佈正在準備中的 v0.39,其更新包括效率改進(減少頻寬和存儲消耗)、最終將包含索引器和 RPC 子系統的 Data Companion API 等,預計將於 2024 年初發佈,該版本也可能被稱為 v1。

至於什麼是 ABCI++,先要從 ABCI 說起。 ABCI 是應用和共識之間的介面,它的主要作用是執行由共識決定的區塊。 有了 ABCI,應用只用在決策時與共識交互,並且對從 mempool 中挑選哪些交易幾乎沒有控制權。 ABCI++ 為共識的每一步都增加了可程式設計性,允許應用重新排序、修改、放棄、延遲或增加交易,以及通過引入優化產生區塊的能力來縮短區塊生產時間。

Sei 正是採用了 ABCI++ 來實現優化區塊生產、智慧區塊廣播和訂單並行執行,從而提高鏈上交易的處理效率。

總結起來,CometBFT 為基於該共識機制的鏈提供了非常定製化的區塊構建功能,不同的鏈可以根據其本身的需求來制定出塊和交易排序、執行等的方式,大大提高了鏈層面優化的想像力。  此外,Interchain 基金會提出了一個非常宏大的設想:允許應用直接通過 ABCI 介面利用 IBC 的功能,而不論其開發採用的虛擬機、框架或模組堆棧如何。  如此,即可實現讓 IBC 成為基於 Cosmos SDK、OP Stack、Celestia 等開發的鏈上應用之間的跨鏈互操作性標準的目標。

Cosmos SDK

說到 Cosmos SDK,相信大多數人都不陌生。 Cosmos SDK 是一個用於開發區塊鏈或 Rollup 的工具包,被很多新推出的區塊鏈作為開發的核心工具,除了 Cosmos 生態的眾多應用鏈,還包括了 Fairblock、dYdX V4、Berachain  等。

在 Cosmos SDK 的開發計畫中,Interchain 基金會表示新一年的重點將在於模組化新功能的推出

首先,欠下的「技術債」方面,Cosmos 將在包括存儲、ABCI 的核心層以及包括模組、質押等的一層中將未完成的優化工作繼續完成,具體包括:

存儲:性能、可擴充性。

核心:模組化(使用不同的共識引擎: Rollkit、Dymint 等); 可切換(輕鬆切換元件:存儲、不同的模組載入器(Wasm、FFI、gRPC 和本地)、用戶端等)。

模組:易於在各種虛擬機中證明; 減少代碼總行數; 模組化(允許應用開發人員修改業務邏輯); 重寫傳統模組(Auth、Bank、Staking、Distribution、Mint、Slash 等。

密碼學:重寫密鑰處理,使其更加模組化,允許他人使用自定義 HSM; 引入新的加密原語。

第二是模組化方面,Interchain 基金會認為「模組化」一詞在區塊鏈領域被過度使用,其重點在於軟體的模組化水準。 Interchain 基金會表示,將在今年下半年讓 Cosmos SDK 在核心層面更加模組化並持續努力至 2024 年,具體包括:

共識模組化:模組化(使用不同的共識引擎: Rollkit、Dymint 等); 可切換(可輕鬆切換元件:存儲、不同模組載入器(Wasm、FFI、gRPC 和本地)、用戶端等)。

存儲:允許切換原有結構; 允許模組之間採用不同的結構; 讀寫並行化。

模組可組合性:允許使用者分叉或插入自定義邏輯(取決於用戶反饋)。

第三維護方面沒有太多值得關注的內容,第四塊未來計劃方面,Interchain 基金會計劃推出以下更新:

跨語言:模組載入器(WASM、FFI、GRPC); 可能與 CosmWasm 更緊密地結合。

升級:將模組和 VMS 的業務邏輯與核心 / 節點升級分開; 實現無縫升級(在目標區塊高度之前部署升級); 實現從創世狀態開始同步。

研究:用於證明模組的 ZK 電路; 欺詐和有效性證明。

CosmJS

CosmJS 是一個庫,可幫助開發人員將基於 JavaScript 的用戶端與 Cosmos SDK 區塊鏈集成。

Interchain 基金會計劃在 CosmJS 庫中添加新的編碼器,提高庫的效率,減少代碼臃腫,為使用者提供更精簡、更專業的開發體驗。 這些更新旨在添加原生可視化、優化包大小、自動編碼過程、實現多網路適應性以及創建更精簡和可擴展的用戶端。

此外,這項工作的一個關鍵方面是利用 Telescope 的 codegen 功能來替換某些目標並使其自動化,例如使庫更加精簡、刪除硬編碼的輔助方法,以及允許開發人員使用自己選擇的模組和輔助方法來定製他們的用戶端。

有關 CosmJS 的更新計劃大多牽扯較為底層的技術方面,讀者若要了解具體涉及的細節可自行閱讀原文。 總結起來主要包括資訊的「Proto Visual」編碼、使得 CosmJS 與 Cosmos SDK 保持同步更新、更精簡的包和代碼優化、更新 Amino 編碼器並添加模組、使用不同密鑰和簽名的多網路適配器、更精簡、可擴展的 Telescope 和 Helpers 用戶端。

CosmWasm

CosmWasm 是一個為 Cosmos SDK 構建的智慧合約框架。 一方面,它允許使用者以無需許可的方式部署去中心化應用; 另一方面,區塊鏈開發者可以將他們的產品開發週期與區塊鏈開發分離,減少驗證器的升級次數,從而降低區塊鏈的運行成本。

Interchain 基金會表示,得益於使用 CometBFT 的應用鏈模型、Cosmos SDK 以及 Wasm 合約近乎原生的執行速度,Cosmos 解決了可擴展性問題,將交易費用降至幾分錢,但同時也導致 L1 中可用的區塊空間遠遠超出了需要。 所以需要優化 CosmWasm 使得更多應用可以被更方便地開發從而提高區塊利用率,其中重點包括 IBC 採用賬戶智慧化

Interchain 基金會表示,到 2024 年初,CosmWasm 2.0 將交付並部署到大多數鏈上。 這將為 2024 年期間發佈的 2.1、2.2 和 2.3 版功能添加打下基礎,新版本的功能將包括:

零知識證明驗證。 通過驗證合約中的零知識證明,可以實現安全的鏈外計算以及各種隱私應用。 通過在應用介面中添加配對友好的橢圓曲線加密技術,CosmWasm 已經為服務這些應用做好了準備:

  • 定義應用程式介面並找到合適的實現方法;
  • 提供全棧示例應用,展示如何使用合約中的 API;
  • 制定基準,設定 Gas 成本。

進一步升級 IBC 功能。 目前已經出現了 IBC 無法實現的高級用例,這些案例將作為 IBC 更新的重點:

  • 全面支援 ADR-8,允許合約對超時和所發送包裹的確認做出反應;
  • 支援 IBC 費用,允許合約為自己的數據包支付費用;
  • 創建可選的延遲確認,允許在合約中實施 Packet Forward Middleware 以及 ICQ long polling。

其他偏向底層技術或重要性不高的更新包括維護當前的軟體棧、提高存儲訪問效率、增強 authz、創建 IBC 應用程式、在 2025 年春季舉辦駭客松 AwesomWasm II、針對 DApp 開發者的 CosmWasm 文檔、運行 CosmWasm 測試網以方便開發者測試

IBC 協定

區塊鏈間通信(IBC)協定是一種區塊鏈互操作性解決方案,允許以安全、無需許可的方式在區塊鏈間進行任意數據傳輸,以及在區塊鏈、應用和智慧合約間無縫地跨鏈發送和接收數據。 從 2022 年 1 月到 2023 年 2 月,ibc-go 為 5200 萬次轉帳提供了便利,轉帳金額達 290 億美元。 目前已有 100 多條鏈與 IBC 網路連接。

IBC 生態非常豐富。 除了由 ICF 資助的團隊開發的應用外,其他協定包括 Osmosis 的跨鏈交易; Stride 和 Neutron 廣泛使用中間件、ICA 和查詢; DAO DAO 創建了 Polytone; Evmos 建立了 IBC 預編譯器,以便通過 EVM 進行傳輸; Injective 建立了預言機數據流模組。

Interchain 基金會表示,IBC 在 2024 年將圍繞兩個主題進行更新:可擴充性可用性

可擴展性

IBC 目前存在諸多挑戰。 迄今為止,只有 Cosmos SDK 和使用 ibc-go 的 CometBFT 鏈才能實際使用 IBC 協定。 此外,與非 Cosmos 鏈建立第一個連接花費了近兩年時間。 如果每次整合都需要這麼長的時間,那麼要實現 IBC 的願景是根本不可能的。

此外,實施本地 IBC 和中繼器所帶來的維護開銷是巨大的。 除了 IBC 傳輸和應用實施的維護成本外,每連接一個新的區塊鏈架構,都會產生一個相關的中繼器,並產生維護和開發成本。 中繼器目前沒有可持續的現金流,必須為其提供的服務支付 Gas 費和基礎設施費用,包括鏈外協定來支付基礎設施費用、基金會授權或使用 Cosmos SDK 費用贈款模組。

據此,在可擴充性方面所需的具體更新包括:

  • 最大限度地縮短 IBC 整合所需的開發時間;
  • 降低 IBC 集成的維護成本;
  • 搭建 Layer1 和 Rollup 的 IBC 連接框架。

可用性

ICS-20(代幣轉移)是 IBC-go 於 2021 年 3 月推出的第一個應用模組,此後一直是使用最多的應用。 隨著應用變得越來越複雜,僅發送代幣顯然不足以滿足互操作性需求。 因此,ICS-20 數據包中增加了 memo 欄位,以便在發送代幣的同時發送其他數據,結合中間件就能實現更複雜的工作流程,如跨鏈交易和一鍵式流動性質押。 但是,ICS-30 中規定的中間件設計模式經常與 memo 欄位結合使用,這引起了對密鑰碰撞的普遍關注。 此外,堆疊多個中間件對正確格式化 memo 欄位提出了挑戰,而且中間件必須按照工作流程的正確順序進行。

IBC denomination 是開發者遇到的另一個難題,因為使用者介面需要以人類可讀的格式顯示 denomination,這需要每個專案維護的註冊表來實現。 由於代幣的流通路徑決定了所產生的 IBC denomination,因此通過不同鏈或管道到達目的地的代幣將不可替代。 現有的一些應用利用數據包轉發中間件解決了這一問題,不過這些解決方案依賴鏈外配置來確定從代幣原點到目的地的通道 ID。 長期解決方案應利用鏈上註冊。

於 2022 年 3 月推出的 ICS-27 即鏈間帳戶(ICA),目前只有 8 條鏈採用了控制器功能。 最初的設計要求構建一個定製的身份驗證中間件來使用該功能,這對更廣泛地採用該功能造成了直接障礙。 ibc-go v6 中的重構消除了這一需求,然而,ICA 仍然存在許多痛點,ics-999 和 polytone 等替代解決方案試圖解決這些痛點:缺乏跨通道排序、多通道工作流中的原子性以及沒有原子性所需的錯誤處理。

總的來說,IBC 的所有元件對於應用或鏈開發人員來說都不是那麼容易學習和完全理解的。 這表現在可信數據包發送方的設計決策上,這可能會導致因通過 IBC 領取空投或信任中間件而被攻擊。 此外,升級到最新的 ibc-go 版本往往不是優先事項,約有 60% 的鏈使用不支援的版本。

鑒於上述已存在的諸多問題,IBC 在可用性上亟待改進的點包括:

  • 改善 IBC 使用者的開發體驗 — 在單鏈上部署應用程式的便捷性應向部署跨鏈應用程式靠攏;
  • 除了 ICS-20(代幣傳輸)之外,還能在 IBC 上使用功能豐富的應用程;
  • 使用 IBC 開發的應用應與使用其他協定有顯著的不同。

Strangelove 對 Interchain 堆疊的支援

除了 Interchain 基金會之外,在 IBC 的推廣和採用上立下汗馬功勞的加密開發公司 Strangelove 也為支援 Interchain 堆疊提出了一個計劃。 其中 IBC 的採用和市場推廣計劃尤其值得關注,其中內容包括:

  • 一條 Avalanche Subnet 支援 IBC;
  • 包括非 Cosmos SDK 鏈在內的 8 條鏈支援 WASM 輕用戶端;
  • 8 條鏈開始應用合約對合約的 IBC 連接;
  • 除 Composable 之外的另一條波卡平行鏈與 IBC 直接連接;
  • 為 NEAR 新增 IBC 支援;
  • 乙太坊和 Cosmos 之間通過 cometBLS/ZK 進行 IBC 跨鏈;
  • 8 條區塊鏈支援 IBC-App 和中間件;
  • 4 條鏈支援 ICS-721 格式 NFT 透過 IBC 跨鏈。

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。