以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

IBC:技術 | Cosmos跨鏈協議IBC的來龍去脈

Author:

Time:1900/1/1 0:00:00

導讀

Cosmos是由Tendermint團隊構建的開源社區項目,它是一個由獨立的稱為Zone的區塊鏈組成的支持跨鏈交互的異構多鏈系統,和Polkadot一樣,也由中繼技術實現。Cosmos提供一套能夠完整搭建區塊鏈的SDK,作為一個跨鏈系統,其中最為關鍵的就是跨鏈協議相關的設計,今天我們就來詳細分析一下IBC協議的具體內容。

IBC初探

IBC是屬于Cosmos-SDK中一個特殊的模塊。之所以特殊,主要體現在IBC提供了區塊鏈之間的跨鏈能力。

從總體的流程來說,IBC的技術并沒有很復雜,應該來說協議本身不應太過復雜,這對于協議的使用者來說約束更小,更加靈活。

現在比如說A鏈上的Alice上需要發送10個ATOM代幣到B鏈上的Bob上,會經過下面的四個步驟。

▲?Tracking

A鏈上的IBC模塊會不斷的同步B鏈上的區塊頭信息,B鏈上的IBC同理。通過這種方式,雙方能夠實現跟蹤對方區塊鏈上的驗證者集合的變化,本質上來說,就是A鏈、B鏈相互維護了一個對方的輕節點。

聲音 | 央視網:誰掌握了區塊鏈技術 誰就掌握了財富:11月11日,央視網發布關于《爭相布局的“區塊鏈”到底能做什么?》的視頻。視頻開頭將扎克伯格為Libra辯護作為切入點,并指出:1.全球巨頭爭相布局區塊鏈,加速應用時代的到來,而數字貨幣是區塊鏈發揮作用的進行價值傳輸的工具。目前投資人參與區塊鏈的主要方式是數字貨幣交易;2.將來數字貨幣會借助一個新的支付工具,不需要再依靠第三方銀行賬戶,只要支付工具里有錢,就可以直接轉賬使用,并且安全不可篡改;3.比特幣就是區塊鏈的一種呈現方式,也是一種應用;4.區塊鏈還有存儲、商品來源可追溯特性、追溯版權等特性。5.區塊鏈技術一旦成熟并投入使用,就不可能被任何其他人或單一實體妥協、破壞或者改變。它將是一種金融解決方案,并且誰掌握了區塊鏈技術誰就掌握了財富。[2019/11/12]

▲?Bonding

當使用IBC初始化一筆跨鏈轉賬之后,A鏈上的10個ATOM事實上處于鎖定的狀態。

動態 | 韓國區塊鏈企業Temco計劃通過RSK的側鏈技術 完成1900萬美元融資:據Coinspeaker消息,韓國的區塊鏈初創企業Temco計劃通過RSK的側鏈技術,完成總額達1900萬美元的融資。盡管RSK側鏈目前仍處于開發階段,但該公司的首席執行官Scott Yoon對此仍表示樂觀。據了解,該公司開發區塊鏈技術的目的在于,讓中小規模企業在供應鏈體系和流程中完成對產品的追溯。[2018/10/8]

▲?Proof中繼

一份證明A鏈上已經鎖定10ATOM的“證據”會被路由到B鏈上的IBC模塊。

▲?驗證

B鏈結合A鏈的輕節點信息,對這份“證據”驗證通過之后,B鏈上會“鑄造”10份ATOMVoucher,這些Voucher可以進行后續的流通使用。當然這些Voucher也可以通過同樣的跨鏈方式返回到A鏈,A鏈上的ATOM代幣相應執行解鎖的操作。

動態 | 佐治亞大學因看好區塊鏈技術 將開始金融科技學位課程:據CCN報道,9月11日,佐治亞大學(USG)宣布在全州范圍內建立金融科技學院。這是美國同類教育中規模最大的一次。雖然斯坦福大學、紐約大學等學校已經開設了區塊鏈課程,但佐治亞州正在向該州公立大學系統內所有學院的所有在校生開放該課程。此外,希望進入金融科技領域的專業人士和學位持有者也可以進入該學院。[2018/9/18]

IBC握手流程

IBC協議是Cosmos中最核心的接口協議,能夠實現區塊鏈間跨鏈消息的可信、可靠轉發,并有效進行流量控制、多路復用等功能。

在Cosmos中,每個功能都是高度模塊化的,每個功能通過加載不同的模塊來實現,IBC也是如此。在IBC設計時,借鑒了傳輸層的TCP協議,也是希望成為區塊鏈領域的“TCP協議”。不僅如此,在IBC的各個方面也能看到TCP的身影,首先我們來看IBC中的一些基本概念。CosmosIBC采用了有連接的、可靠的跨鏈消息傳輸。

在此基礎上提出了以下幾個關鍵定義:

聲音 | 劉強東:借助區塊鏈等技術 再造整個零售行業:京東董事局主席劉強東的說法,就是要借助人工智能、大數據、區塊鏈等各種“黑科技”,再造整個零售行業。同時,京東也在積極推進區塊鏈技術,加強商品溯源。7月26日,京東全球購針對品質管控和售后服務方面發布了35項提質舉措。其中包括搭建了“京東區塊鏈防偽追溯平臺”。截至目前,該平臺已實現超過10億件商品的可追溯。[2018/8/13]

Client

Connection

Channel

下圖是IBC協議和TCP相關概念的對比。

可以看到連接、端口都是TCP協議中的規范,但是其中的內涵發生了變化,為了適應跨鏈場景下的使用。同時增加了通道和客戶端等新的內容,能夠支持跨鏈中的有序發送和跨鏈交易的驗證。

接下來我們來看一下一次完整IBC協議的握手和通信流程。

聲音 | 優保聯CEO魏宗儀:擁抱區塊鏈等技術 促進保險行業智能化進程:互聯網技術平臺優保聯CEO魏宗儀在接受采訪時說:保險行業從業主體要適應政策、市場和新技術的變化,就需要主動擁抱區塊鏈等技術,加大對大數據、云計算、AI、區塊鏈等先進的技術力量應用,獲取快速響應市場、轉變經營模式的能力。[2018/7/17]

一筆跨鏈交易的連接流程如上圖,和TCP協議類似,IBC的建立需要建立多次的握手過程,并增加了一步初始化客戶端的操作,這對于跨鏈來說很關鍵的一環。

▲?鏈內客戶端

跨鏈雙方需要在鏈上初始化一個對方鏈的輕客戶端,這個Client實質上是另一個區塊鏈的輕客戶端,而且必須滿足Cosmos規定的一套Client接口。之所以要在IBC建立之前初始化這個輕客戶端,是因為Cosmos需要保證在本鏈上能夠驗證來自來源鏈的跨鏈交易是能夠驗證的,否則無法保證在本鏈上執行該交易的有效性和合法性。

為了方便后續后續更多不同種類的區塊鏈接入,這個輕客戶端規定了一套通用的接口,不同類型的區塊鏈通過實現該Client來達到接入的效果。現階段Cosmos能夠支持TendermintClient和SoloClient,也就是同構鏈之間原生支持跨鏈。這也決定了不是使用Cosmos構建的區塊鏈想要接入CosmosHub進行跨鏈的話,必須通過一個額外的“轉接橋”,實現起來也更加復雜了。

▲?握手連接

在輕客戶端的基礎上建立握手連接,握手連接基本上分別為三個部分。

啟動跨鏈的用戶向鏈A發起OpenInit請求,等待Relayer接收到該請求。Relayer進行路由跨鏈消息包的工作,如果收到OpenInit的請求,Relayer會構造一個的OpenTry的請求發送到鏈B上。鏈B收到OpenTry請求之后,如果同意的話,會對該消息進行確認(生成OpenACK數據包,并按照之前的方式由?Relayer轉發給鏈A。鏈A通過OpenACK數據包判斷此次握手是否成功,如果成功,對此次握手發送最后的?OpenConfirm數據包返回鏈B。如果握手失敗,此次連接也就是建立失敗了。上面的步驟不僅是指Connection的建立過程,Channel的建立也是遵循同樣的流程,只是數據包的名稱和內容會有不同,像建立Connection的時候發送的便是ConnOpenInit請求,建立的Channel的時候便是ChanOpenInit請求,之后的請求依次類推。

需要說明的是,Connection和Channel在跨鏈扮演的角色和功能并不相同,按照Cosmos的設計,Connection和Client一起負責跨鏈交易的“合法性”——包括跨鏈交易確實在目的鏈上發生,以及跨鏈交易只提交了一次。而Channel用來保證跨鏈交易的有序性,每筆交易按照SequenceNumber來進行發送。

雖然在Cosmos設計中有提到可以實現無序的Channel,但是默認實現上是采用了有序的模式。如果按照TCP協議簇來類比的話,有序Channel和TCP類似,無序Channel類似于UDP,無序Channel按照UDP來講的話,在某些不太關注跨鏈消息包順序的場景下也是適用的。同時Cosmos設計中也考慮到Channel的消息發送能力,允許一條Connection上建立多個Channel,在不同的跨鏈應用場景中,可以使用不同的Channel發送消息,從而隔離不同業務。

▲?發送跨鏈數據包

完成上述的一系列握手之后,應用層便可以在Channel上發送自己的數據了。Cosmos規定了發送跨鏈交易的一些必要字段,如下圖:

其中Sequence和SourcePort字段都是承擔其字面意思的功能,也是必須指定的字段,而TimeoutHeight和TimeoutTimestamp是Cosmos提供的一種超時機制。如果某個區塊高度或者某個時間這筆跨鏈交易還沒有完成的話,用戶能夠指定將這筆交易回退。而Data字段是留給用戶進行自定義,以應對可能的各種復雜的跨鏈場景。

總結

通過上面對IBC的分析,我們可以看到IBC采用了建立連接的方式進行跨鏈,不同于Polkadot的XCMP協議,XCMP協議中平行鏈可以直接進行跨鏈消息的轉發。

而且Cosmos并沒有過分關注Zone作惡的情況,只是通過維護Zone的輕客戶端的方式驗證跨鏈交易的有效性,這種方式下是相信Zone不會出現集體作惡的情況,也就是Zone安全性由自身負責。不同于Polkadot設計上中繼鏈維護全局的安全性,CosmosIBC的設計上是減少了跨鏈系統的維護成本和降低了設計實現難度的。

作者簡介

陶勇星

來自數據網格實驗室BitXHub團隊主要負責區塊鏈賬本互操作技術相關研究工作

Tags:區塊鏈IBCMOSOSM區塊鏈運用的技術中不包括哪一項基本技術iBCH幣osmosis幣總量cosmos幣發行量多少

火幣網下載官方app
區塊鏈:全球四大會計師事務所在區塊鏈領域蓄勢待發

來源:鏈新 原作者:Rachel 編譯:陳一鳴 區塊鏈技術正在獲得發展動能。企業塊鏈市場預計將在未來五年內達到210億美元.

1900/1/1 0:00:00
PLA:區塊鏈世界的強強聯手,如何讓波卡完美兼容以太坊?

加入PolkaWorld社區,共建Web3.0!2020年12月1日20:00,等待多時的以太坊2.0啟動了創世區塊,標志著階段0(信標鏈)正式上線.

1900/1/1 0:00:00
coinbase:巴比特專欄作者谷燕西:機構資金入場推高比特幣市值,其價值共識完全不同于互聯網時期價值共識

12月22日,區塊鏈和加密數字資產研究者、巴比特專欄作者谷燕西發表文章稱,現在比特幣的市值已經超過了全美最大商業銀行摩根大通的市值,也已經超過了提供全球信用卡清算服務的網絡Visa公司的市值.

1900/1/1 0:00:00
COI:數據顯示比特幣仍未到頂,因為散戶尚未入場

據比推數據,市值最高的加密貨幣比特幣本周一舉突破2萬美元,最近幾天一直在2.3萬美元附近震蕩,不過多個指標顯示,散戶仍未大規模進入市場,比特幣的價格仍未到頂.

1900/1/1 0:00:00
比特幣:2020年,我與機會 | 巴比特年終特稿

2020年是一個特殊年。如果有人日后問,2020年時你在干什么,你可能會開玩笑地回復一句“我在忙著寫史詩”,然后認真地反問對方:“你問的是2020年的哪個階段?"在情緒上,2020年被分成了三個.

1900/1/1 0:00:00
人工智能:濟南市發布區塊鏈發展行動計劃 望加快賦能實體經濟

本文來源:證券日報,作者:邢萌據濟南市人民政府官網,日前,濟南市人民政府辦公廳正式印發《濟南市區塊鏈產業創新發展行動計劃》.

1900/1/1 0:00:00
ads