區塊鏈互操作性可能成為下一波創新浪潮,並將為分佈式網絡的擴張創造巨大的價值。
Cosmos 和 Polkadot 是創建區塊鏈互操作網絡的兩個主要競爭者。本專題將分別探究兩個項目的協議,網絡設計,安全模型,以及技術堆棧等問題。
本文由加密谷獨家編譯,將分為兩期刊出,此為上篇。
什麼是區塊鏈互操作性?
區塊鏈互操作性十分複雜,所以讓我們嘗試用最簡單直白的方式來解釋它。
區塊鏈互操作性將發送以太網,並通過區塊鏈協議接收 BTC,期間無需第三方(如交易所)的介入。這是一個簡單的願望,但目前尚未實現。
Polkadot 和 Cosmos 都在為區塊鏈建立協議,以實現安全可靠的交互。這些協議允許新區塊鏈的創建,並能夠彼此之間發送交易和傳遞消息。
區塊鏈具備網絡效應。當一切都連接起來時,它會帶來更多的資金、更好的用戶體驗,以及更多的打破常規的方法來完善網絡。
區塊鏈互操作性能夠顯著地提高區塊鏈的可擴展性和速度。 例如,你有一條區塊鏈的上限為100 TPS,則可以創建第二條相同的區塊鏈,以達到200 TPS,並可與其他區塊鏈交互、交易。 這樣你就可以輕鬆的實現1000 TPS。
同時,它還允許私有鏈,公有鏈和聯盟鏈的連接。 最終,區塊鏈甚至可以與 SWIFT 等法定銀行系統進行互操作。
為什麼要關注 Polkadot 和 Cosmos?
Polkadot 和 Cosmos 是區塊鏈互操作領域最具有前景的項目。它們都擁有強大的技術團隊,在分散網絡社區中享有良好的聲譽,有著多年的從業經驗,並從零開始,編寫了大量的區塊鏈代碼。
圖片來源:Cosmos Network Website 和 Polkadot Network Website
在解決區塊鏈互操作性上,他們策略相似,但在協議和設計方面存在細微差別。 這些差異在安全性、隱私性、效率、靈活性和易用性之間進行權衡。
現在,讓我們深入研究區塊鏈互操作性的未來是怎樣的。
The Cosmo Network
自2014年 Tendermint 發佈以來,Cosmos 團隊一直致力於區塊鏈互操作性研發。Tendermint 是一個拜占庭容錯共識引擎,以及點對點網絡 gossiping 協議。
圖片來源:Cosmos Network Website
Cosmos 團隊正在構建 The Cosmos Network,這是一條基於 Tendermint 的區塊鏈。 有必要指出,Tendermint 和 Cosmos 都屬於 InterChain 基金會。
下面兩張圖將簡單解釋他們如何設計網絡。
區塊鏈由三個主要組成部分構成:相互通信的計算機節點網絡、允許節點就新塊達成一致的共識協議,以及具有自身狀態的應用層(如以太坊賬號, 以儲存 Ether 為狀態。)
Tendermint 負責區塊鏈的網絡和共識層。 這允許區塊鏈在 Tendermint 之上創建屬於自己狀態的應用程序。ABCI-application (應用程序)通過 ABCI 協議與 Tendermint 進行交互。
- 技術設計和協議
Tendermint(共識和網絡):Tendermint 是一種實用的拜占庭容錯(PBFT)狀態機。 它需要一組已知的驗證者(Validators)同意,在區塊上達成共識。The Cosmo Network 要求至少2/3的人達成共識。 假設不到1/3的 Validators 是“拜占庭式的“,則網絡永遠不會分叉。因為 Validators 不能在相同的高度提交衝突塊。這源於 Tendermint 傾向於安全性而不是活躍度的事實。
應用區塊鏈接口(ABCI):ABCI 是定義複製引擎(Tendermint)和狀態機(區塊鏈)之間邊界的接口。 ABCI是區塊鏈狀態更新的唯一方式,只有 Tendermint 可以訪問區塊鏈的狀態更改功能。 這種設計是一種很棒的安全策略,因為改變狀態只有一個接入口。
下圖展現了 Tendermint 的堆棧,展現了節點在點對點網絡中連接,以及每個節點的組件。
五個節點組成了一個點對點的網絡。 每個節點都是一臺運行 Tendermint Core 的計算機。 Tendermint 可以通過 ABCI 協議連接到區塊鏈。左下角的 Light Client 節點可以通過 RPC 調用連接到任何 Tendermint 節點。
- Cosmos 的互操作性
區際鏈通信(IBC):Cosmos Network 具有 Inter Blockchain Communication(IBC) 協議,它允許區塊鏈與其他區塊鏈交互。以 Cosmos 網絡作為中心樞紐,區塊鏈網絡通過IBC進行通信。區塊鏈通過 Spoke (分支) 模型連接到 Cosmos Hub。 網絡中的分支又稱為 Zones,如下圖所示。
Cosmos Hub 是主要的區塊鏈,它將連接所有建立在 Cosmos 網絡之上的其他區塊鏈。 每個 Zone 都是自己的區塊鏈,它們共同創建了一個用於連接的樞紐和分支模型。
IBC 的技術術語是”Chain Relay” 。Chain Relay 允許區塊鏈讀取和驗證其他區塊鏈中的事件。 例如,鏈A上的智能合約想知道鏈B上所發生的事情。為此,鏈B上的智能合約需要用鏈A的區塊頭,並驗證它是否已達成共識並達到最終性。
從本質上講,Cosmos 正在構建一個網絡系統,其中可以很容易地創建新的區塊鏈,並且從一開始創建就可以通過 Chain Relay 進行交互。 每條區塊鏈都將在 Tendermint 上運行,如下圖所示。
Cosmos Hub 與其他4條在 Tendermint 之上運行區塊鏈的進行交互。他們可以很輕鬆通過 IBC 協議讀取並對彼此進行操作。只要新的區塊鏈遵循 IBC 協議,它就能夠加入網絡,包括公有鏈和私有鏈。
Peg Zones:Peg Zones 允許 The Cosmos Network 連接到活躍區塊鏈網絡,例如以太坊主網。能夠連接到活躍區塊鏈是任何區塊鏈可交互網絡的主要要求。Peg Zones 很複雜,但我們試著用簡單的術語解釋它們的工作原理。
首先,你必須具有共享的安全模型,其中 Cosmos Peg Zone 的驗證者也在運行以太坊主網節點。這個特殊的 Validator 會批准兩條鏈之間的交互。想要建立這個複雜的基礎架構,你還需要信任運行 Peg Zone 的團隊。
實際的資產交換需要太坊主網智能合約才能鎖定 Ether,這將在 Peg Zone 中創建可以代表 “Cosmos-Ether” 的新代幣。Cosmos-Ether 可以通過 IBC 在 Cosmos 網絡中傳遞。從 Cosmos 來看,Validator 會鎖定 Atoms,同時 Atom 會在以太坊主網中創建可發送的 ERC-20 Atom token。這將給予 Cosmos 和以太坊主網之間資產的完全互操作性。
實現兩條鏈之間的互操作性:任何可交互的網絡都需要至少兩條可以交換訊息和交易的區塊鏈。Ethermint 是 Cosmos 提出的第一個可與 Cosmos Hub 交互的解決方案。
Ethermint 是 Cosmos 團隊計劃在 Cosmos Hub 主網發佈後,於2018年第四季度推出的區塊鏈。簡單來說,Ethermint 是以太坊區塊鏈,它利用 Tendermint 共識引擎取代了 PoW 算法。這便允許基於以太坊虛擬機的區塊鏈輕鬆地通過 IBC 與 Cosmos 網絡進行交互。
Ethermint 設計的精妙之處在於團隊計劃的 “hard spoon”。他們將在某個時間點拍攝所有以太坊帳戶的快照,並使用該狀態創建新的 Ethermint zone。這將允許他們引導現有的以太坊開發者網絡,併為每個人提供新的 token 和更快的交易速度。
選擇首先創建 Ethermint,而不是 Peg Zone 到以太坊主網,是因為它在技術上更容易實現。但是,區塊鏈網絡必須具有 Peg Zones。
對於 Cosmos 或 Polkadot 來說,BTC 和以太坊背後有巨大的動量,忽視它們是一個非常冒險的舉動。
The Cosmos Hub:Cosmos Hub 是作為 The Cosmos Network 中所有區塊鏈的中心連接器。 它是 Tendermint 驅動的、多資產證明的 PoS 區塊鏈。 Cosmos Hub 的主要的代幣是 Atom,主要用於區塊鏈的抵押和治理。Cosmos Hub 啟動時會有100個驗證者,且逐年遞增。
Atom 持有者既可以是驗證者,也可以是投票人。驗證者設置一個完整節點,用於維護網絡,處理交易。投票人會判斷驗證者的可信賴程度和節點運行能力,並將其 Atoms 委託給其處理。
驗證者得到 Atoms 代理權,並從每個塊中獲得 Atom 作為獎勵。 這些獎勵會給到投票人,其中少量費用會被扣除,作為操作驗證節點的費用。
為了保證誠實性,設置了懲罰機制。向區塊鏈發佈不正確的數據的的驗證者,會失去他們的 Atoms。 這一機制被稱為 ”slashing”。這些博弈理論被用於激勵 PoS 區塊鏈中的良好行為。
Token 也代表治理。 一個 Atom 可以作為網絡上的任何提案的一票,例如,軟件升級。 Cosmos 的治理協議非常簡單。投票人可以自己投票,或將投票權轉讓給他們所委託的驗證者。驗證者必須對每個提案進行投票,否則他們將被懲罰(“slashed”)。
2019年3月中旬, Cosmos 主網正式啟動,跨鏈交互成為現實。此前,開發團隊經歷了漫長的測試網絡階段。
一旦主網能夠穩定運行,他們將實施IBC,然後為 Ethermint 做一個以太坊的 “hard spoon”。
- Cosmos 的開發人員
開發人員可以通過兩種方式在 Cosmos Network 之上進行開發。 構建 IBC 交互的新區塊鏈,並在 Cosmos Zones 中創建智能合約。Cosmos 團隊創造了 The Cosmos SDK,便於開發人員在 Cosmos Network 上輕鬆啟動新的區塊鏈。
Cosmos SDK:使得開發人員可用簡單的模塊化方法在網絡上設計自己的區塊鏈。 SDK 用於構建 Cosmos Hub,當主網啟動時,也可供開發人員構建自己的區塊鏈。Cosmos Hub 構建了在 Cosmos Network 上運行的基礎應用程序,然後為抵押,治理和 IBC 添加相應的模塊。
這將允許開發人員輕鬆發佈可交互的區塊鏈,是個令人興奮的機會。因為它將為開發人員創建一個全新的分佈式平臺,而不僅僅是以太坊風靡全球的代幣模式。
SDK 是用 Golang 編寫的,預計未來將支持其他語言。
在 Cosmos 上構建 dApp:Ethermint 將是你在 Cosmos Network 上構建 dApp 的第一步。 由於它是基於 EVM 的區塊鏈,因此智能合約可用 Solidity 編寫。Cosmos Network 的交易速度也將提高,因為 Tendermint 共識每秒可處理比以太坊主網 PoW 共識更多的交易。
閱讀更多 加密谷 的文章