特定應用鏈興起背後的理論。
撰寫:RainandCoffee
編譯:TechFlow intern
在過去的幾周里,Cosmos 生態系統出現了復興,因為應用程序和創始人們要么決定建立他們自己的特定應用鏈( Cosmos 上的L1),要么表示有興趣這樣做。這是在Terra 生態系統消亡之後發生的,這也對更大的IBC 生態系統產生了影響。
然而,我們認為需要注意的是,整個系統在技術上保持得非常好,儘管交易量非常不穩定,但它能夠通過IBC 跨鏈處理內部和外部的消息和資產傳輸,也可以通過Cosmos SDK 與Tendermint、ABCI 和某個VM (例如EVM)在內部鏈上處理。
在這篇文章中,我們旨在解釋特定應用鏈興起背後的理論,以及為什麼它們帶來的主權、可組合性和互操作性對於在即將到來的周期中構建下一個“殺手級應用”和生態系統至關重要。
在我們深入探討論文本身之前,我們將以一種易於消化的方式簡要介紹一些Cosmos 生態系統中獨特的技術。整體架構看起來是這樣的:
Cosmos SDK
Cosmos SDK 是一套模塊化工具,允許區塊鏈開發者以與虛擬機無關的方式建立他們的應用層邏輯。 Cosmos SDK 被設計為通過ABCI 連接到Tendermint。除了作為允許創建特定於應用程序的區塊鏈框架之外,它還允許各種自定義選項,例如與協議無關的治理、交易和質押機制等等。 SDK 處理應用邏輯層所需的大部分任務,這意味著開發人員不需要完全從頭開始構建東西。它通過路由器處理從Tendermint 共識引擎收到的交易,該路由器將消息與狀態變化一起發送到適當的處理模塊。
ABCI
ABCI 是連接區塊鏈應用部分,和提供共識和網絡機制的Tendermint 狀態復制引擎接口。 ABCI 實現了區塊鏈堆棧的拆分,這意味著區塊鏈應用部分可以是虛擬機無關的,因此,任何虛擬機和執行環境都可以用於堆棧的應用部分。這方面的例子有Junowasm、Cosmwasm、Agoric 的Hardened Javascript,甚至是Secret 的允許使用TEE 的Cosmwasm 版本。 Tendermint 本身創建了三個ABCI 連接到應用部分,負責在內存池廣播時對交易的驗證,應用程序和共識引擎之間的連接,以及用於區塊建議和查詢應用程序的狀態的能力。
Tendermint
Tendermint 核心是負責Cosmos 生態系統中鏈的共識和網絡層。共識層是通過網絡參與者之間的共識算法過程來保證交易的有效性和順序,網絡層負責促進系統中節點之間的點對點通信,並使第三方應用程序和節點能夠與共識層互動。
Tendermint 使用拜占庭( BFT )共識模型,並實現即時終結。 BFT 過程在提議塊的最終提交階段之前經歷了三個階段。這三個階段是:
-
提議階段,一個區塊被指定在一個特定的高度;
-
預投票階段,2/3 的驗證者對提議的區塊進行預投票;
-
預提交步驟,2/3 的驗證者對提議的區塊進行預提交。
IBC
鏈間通信(IBC)的核心是同質區塊鏈的跨鏈信息傳遞協議。這意味著它連接了共享相似功能的鏈,在這種情況下,Tendermint 共識算法提供的即時確定性和具有輕客戶端功能的鏈。 IBC 的工作方式是,兩個有興趣相互連接的鏈將在目的地鏈上提出治理建議。這通常是,首先,通過Cosmos Hub 或Osmosis(目前Osmosis 能連接45 個,Cosmos 有40 個)。這意味著在協議層面上有一個協議,因此,不需要外部的第三方跨鏈橋。
然後,這兩條鏈需要對方鏈上的一個輕客戶端來加密驗證兩條鏈之間的共識狀態,還需要一個中繼器在兩條鏈上的輕客戶端之間傳遞信息。中繼器是有效性的要求——能夠在節點之間交換信息,節點成功達成共識的能力。讓我們來探討一下這在實踐中是怎樣的:
這意味著信任假設位於連接區塊鏈的兩個驗證器中,因此信任假設比其他類型的跨鏈橋和消息傳遞協議要少得多。例如,在Polkadot 生態系統中的XCMP,信任假設只在於中繼鏈(Polkadot)。
為了顯示IBC 在Cosmos 生態系統中的兼容性和廣泛性,以及它所連接的鏈的數量–讓我們看一下當前的實時連接規模:
ICS
ICS 是Interchain Standard 的縮寫,為使用IBC 的鏈之間發生的交易設定參數。 ICS 基本上是IBC 交易的模塊規範,對於兩個使用IBC 的鏈來說,他們需要擁有相同的ICS。
其中一個有趣和獨特的ICS 是ICS-27,也被稱為鏈間賬戶。
ICS-27
鏈間賬戶實現了可組合性,也就是互操作性。它們允許鏈上的人不僅只交換數據,還可以將狀態從一個鏈上的一個智能合約寫到另一個鏈上。這意味著,只要指定交易的端點,用戶將能夠利用源鏈上的單一接口,而不是在資產或消息轉移時需要在各種接口之間移動。支持ICS-27 的鏈在其他支持ICS-27 的鏈上創建賬戶,並能夠通過IBC 交易控制這些賬戶。鏈間賬戶保留了普通賬戶的所有功能,但由單獨的鍊或最終用戶通過IBC 進行操作,這樣,以便源鏈上的所有者對其在目標鏈上登記的任何跨鏈賬戶保持完全控制。
IBC 交易後的程序按照每條鏈必須具備的ICS 規范進行。這意味著,它允許交易從特定的應用變成與應用無關,換句話說–它實現了在一系列不同網絡中的真正可組合性。
鏈間安全
鏈間安全允許一個鍊或樞紐為其他鏈生產區塊。驗證者運行兩個(或更多)節點,每個鏈上都有一個,但只需在主鏈上抵押他們的原生代幣。這是由跨鏈驗證實現的,這是一個IBC 級別的協議。子鏈使用IBC 與主鏈進行通信,以跟踪哪些驗證者正在使用跨鏈驗證參與鏈間安全。通過這種方式,從主鏈上鎖定的價值中獲得的安全性與子鏈共享。因此,消費者/子鏈從主鏈上獲得安全保障,而不需要建立自己的驗證器。這使得資本負擔較輕的應用能夠輕鬆地啟動自己的鏈,同時保留現有驗證器的強大安全水平。
主鏈負責為一組子鏈生成區塊,驗證者將從他們正在驗證的鏈中獲得質押獎勵,Slashing 有助於防止驗證者做出惡意行為。
總結
特定於應用程序的區塊鏈實現了我們所謂的區塊空間“倉儲”。如果你把區塊鏈堆棧看作是一個供應鏈,那麼堆棧各個部分的區塊空間在技術上是由其所在的鏈/層上的應用程序“購買”的。這意味著,它與無數不同的應用程序一起為居住在同一區塊空間的氣體支付費用,這導致它高度擁擠和競爭,因此推動了費用上漲。
這種由數以千計的應用所居住的嚴重擁擠的單體鏈造成的費用飆升,然後被推到用戶身上,他們不得不承擔沉重的費用。在一個特定應用鏈上,應用本身能夠更好地控制由最終用戶支付的費用,並讓他們有能力將其保持在一個恆定的水平,這方面的一個很好的例子是Osmosis。
由於這樣的應用不依賴X 或Y 鏈作為倉庫,這將意味著為應用承擔平均費用較高的風險,類似於商店的庫存風險。這意味著應用程序本身以及作為其延伸的社區,可以參與並進行庫存風險管理。這導致了資源定價的效率,然後又反過來導致應用程序更好的經濟模式。
由於應用程序是它所居住的鏈的所有者,它允許收費結構的自我管理,這意味著你不再受你所居住的鏈的影響,你決定你的鏈上的每個資源的成本。
除此之外,底層技術棧所允許的靈活性允許在應用層進行優化,同時由於其原生的跨鏈信息傳遞系統,在更大的生態系統中保持鏈之間的可組合性,這種可組合性完全不需要第三方的信任。
在Cosmos 盛行之前,應用和基礎設施(鏈)之間存在著明顯的鴻溝,而具有IBC 的特定應用鏈將打破了這一屏障,並允許應用程序成為連接和可組合的基礎設施。