區塊鏈的 TCP/IP ?Cosmos 技術分析|標準共識

買賣虛擬貨幣

Cosmos 簡介

以傳統網際網路的角度來看,正是由於 IP 協議的中繼左右,讓我們熟知的 HTTP、P2P、IEEE、WiFi 等協議相互連線,才有了我們可以在 HTTP 協議上登入網頁版微信,利用 P2P 協議將檔案透過網頁版微信傳輸等應用場景。而以 Cosmos、Polkadot 為代表的跨鏈技術正在構建區塊鏈領域的 IP 協議,故而有人將跨鏈技術視為區塊鏈 3.0 時代。

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),開發者可以直接嵌入自己的賬戶體系中。
  • bank :定義資產的轉移。

PegZone 原理

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

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

  1. Smart Contract :資產託管的角色,保管以太坊中的代幣和 Cosmos 中的代幣。主要提供了 lock、unlock、mint、burn 四個方法。
  2. Witness :是一個以太坊全節點,監聽以太坊合約的 event ,並等待 100 個區塊產生後,封裝 WitnessTx 提交到 PegZone 中來證明在以太坊內狀態更改。
  3. PegZone :PegZone 是基於 Tendermint 的區塊鏈,負責維護使用者的賬戶資訊,允許使用者之間資產的轉移,並提供交易查詢。
  4. Signer :使用 secp256k1 對交易進行簽名,以便籤名能夠高效的被智慧合約驗證,對應於智慧合約的校驗者公鑰集合。
  5. Relayer : 中繼器負責交易轉發。將所有 Signer 簽名後的 SignTx 轉發到 smart contract 中。

乙太網到 Cosmos 的傳輸過程

  1. 合同在 Cosmos 端接收 lock 帶有 ERC20 令牌和目的地地址的交易。它將收到的資金鎖定在掛鉤區域的共識,記錄通知轉發器的事件。
  2. 中繼器透過 RPC 連線到以太坊完整節點,監聽 Lock 事件。
  3. 一旦節點收到智慧合約的存款,它就等待 100 個街區(最終門檻),然後生成並簽署 SignWitnessMsg 證明宇宙釘區正在監聽的事件的證據。
  4. 掛鉤區域接收證人交易,直到超級大多數投票權見證了事件。每個 BeginBlock 呼叫 peg 區域檢查是否有任何傳入的以太坊傳輸已達到超過大多數確認。
  5. 然後,節點使用內部事務更新狀態,以反映某人想要從以太坊傳送令牌並生成 IBCWitness 將令牌轉換為指定的目標鏈.

合約操作過程如下圖

Cosmos到乙太網的傳輸過程

  1. ABCI 應用程式收到 IBCRelay 要求燒錄以太坊令牌的請求,並根據 IBC 規範處理它。ABCI 應用程式生成一個有效的以太坊交易,其中包含{地址,令牌地址,金額,非現金},並將其寫入其狀態。
  2. 每個簽名應用程式正在監視 ABCI 狀態中的新事務,並檢測新事務。
  3. 每個簽名應用程式使用 secp256k1 使用以太坊智慧合約已知的金鑰簽署交易。
  4. 每個簽名應用程式都將其中繼提交回 ABCI 應用程式以 SignRelayMsg 進行復制。
  5. 定期查詢 ABCI 應用程式事務的中繼程序看到事務已達到所需的中繼閾值。
  6. 其中一箇中繼器透過呼叫該 unlock 函式將事務傳送到智慧合約
  7. 智慧合約用於 ecrecover 檢查它是否由與交易高度相對應的超級大多數驗證器集簽名(這可能已被更新)。智慧合約釋放交易中指定的令牌,使其可用於目標地址。

標準共識分析

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

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;