BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

區塊鏈的TCP/IP ? Cosmos 技術分析

标准共识
特邀专栏作者
2019-08-12 09:42
本文約2094字,閱讀全文需要約3分鐘
以Cosmos、Polkadot 為代表的跨鏈技術正在構建區塊鏈領域的IP 協議,故而有人將跨鏈技術視為區塊鏈3.0 時代
AI總結
展開
以Cosmos、Polkadot 為代表的跨鏈技術正在構建區塊鏈領域的IP 協議,故而有人將跨鏈技術視為區塊鏈3.0 時代

Cosmos 簡介

Cosmos 原理

Cosmos 原理

圖中最左側和最右側的4 條公鏈在沒有Hub 的情況下要實現連接,就必須在彼此之間新建一條通道,但如果有了Hub ,它們都只需要與Hub 連接,由Hub實現跨鏈的中轉。

Hub 本身也是一條公鏈,使用Cosmos SDK 開發,具備tendermint 結構;Hub 連接的公鏈以及公鏈的代理鏈被稱作「Zone」,所有的Zone 都需要實現IBC 通信標準。

Cosmos SDK 架構

  • baseapp :定義了一個基本ABCI應用的模版,與Tendermint 通信。開發者也可以根據自己的需求重寫。

  • 應用程序:包括gaia、basecoin、democoin 。其中gaia 就是hub 主程序,basecoin 以及democoin 是提供的兩個示例應用。

  • plugins :cosmos-sdk 的基本單元,每個plugin 都是baseapp 的功能擴展,包含各自的消息和交易處理邏輯。

目前SDK 已經集成了一些重要的plugin :

  • staking :POS 相關的實現,包括:綁定,解綁,通貨膨脹,費用等操作。

  • ibc :跨鏈協議IBC 的實現,也是Cosmos 支持跨鏈的主要插件。

  • governance :治理相關的實現,如提議、投票等。

  • auth :定義了一個標準的多資產賬戶結構(BaseAccount),開發者可以直接嵌入自己的賬戶體系中。

  • PegZone 原理

PegZone 原理

基於Cosmos-sdk 開發的區塊鏈能夠輕鬆滿足實時最終性,然而現存的Bitcoin 和Ethereum 這類使用POW 共識的區塊鏈並不具備此特點,只能屬於概率最終性,無法防止區塊鏈的回滾。對於這類鏈,團隊採用PegZone 方案來解決。

上圖我們可以看出PegZone 可以分為5 個部分:

  • Smart Contract :資產託管的角色,保管以太坊中的代幣和Cosmos 中的代幣。主要提供了lock、unlock、mint、burn 四個方法。

  • Witness :是一個以太坊全節點,監聽以太坊合約的event ,並等待100 個區塊產生後,封裝WitnessTx 提交到PegZone 中來證明在以太坊內狀態更改。

  • PegZone :PegZone 是基於Tendermint 的區塊鏈,負責維護用戶的賬戶信息,允許用戶之間資產的轉移,並提供交易查詢。

  • Signer :使用secp256k1 對交易進行簽名,以便簽名能夠高效的被智能合約驗證,對應於智能合約的校驗者公鑰集合。

  • Relayer : 中繼器負責交易轉發。將所有Signer 簽名後的SignTx 轉發到smart contract 中。

以太網到Cosmos 的傳輸過程

  • 合同在Cosmos 端接收lock 帶有ERC20 令牌和目的地地址的交易。它將收到的資金鎖定在掛鉤區域的共識,記錄通知轉發器的事件。

  • 中繼器通過RPC 連接到以太坊完整節點,監聽Lock 事件。

  • 一旦節點收到智能合約的存款,它就等待100 個街區(最終門檻),然後生成並簽署SignWitnessMsg 證明宇宙釘區正在監聽的事件的證據。

  • 掛鉤區域接收證人交易,直到超級大多數投票權見證了事件。每個BeginBlock 調用peg 區域檢查是否有任何傳入的以太坊傳輸已達到超過大多數確認。

  • 然後,節點使用內部事務更新狀態,以反映某人想要從以太坊發送令牌並生成IBCWitness 將令牌轉換為指定的目標鏈.

合約操作過程如下圖

Cosmos到以太網的傳輸過程

ABCI 應用程序收到IBCRelay 要求刻錄以太坊令牌的請求,並根據IBC 規範處理它。 ABCI 應用程序生成一個有效的以太坊交易,其中包含{地址,令牌地址,金額,非現金},並將其寫入其狀態。

每個簽名應用程序正在監視ABCI 狀態中的新事務,並檢測新事務。

每個簽名應用程序使用secp256k1 使用以太坊智能合約已知的密鑰簽署交易。

每個簽名應用程序都將其中繼提交回ABCI 應用程序以SignRelayMsg 進行複制。

定期查詢ABCI 應用程序事務的中繼進程看到事務已達到所需的中繼閾值。

其中一個中繼器通過調用該unlock 函數將事務發送到智能合約

智能合約用於ecrecover 檢查它是否由與交易高度相對應的超級大多數驗證器集簽名(這可能已被更新)。智能合約釋放交易中指定的令牌,使其可用於目標地址。

標準共識分析

Cosmos 目前有Cosmos Hub 模塊跨鏈PegZone 模塊IBC 模塊治理相關模塊等一系列全生態環境,從願景上看,Cosmos 希望打造成一個區塊鏈互聯網。所以需要解決跨鏈的問題,目前未知並未在跨鏈方面看到成熟方案,這個目標還是很遠大,但很難實現,類比互聯網網絡沒有共識層,只要解決好傳輸問題,就可以完成基本的通信,但區塊鏈不一樣,它的特色就是有不同的共識模型,這是它的生命力,也是它進步的方向。

Cosmos
歡迎加入Odaily官方社群