以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

技術 | 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鏈相互維護了一個對方的輕節點。

青海省長劉寧:推廣應用區塊鏈等信息技術 推動產業鏈數字化改造:6月17日消息,青海省人民政府省長劉寧刊文《以“四種經濟形態”為引領加快構建高質量發展新格局》。他表示,數字經濟在創造新的產業形態、商業模式和創新模式的同時,也深刻地影響了傳統產業及其相關的商業和創新模式。劉寧在文中提出,下一步將充分發揮青海在發展數字經濟方面的比較優勢,建設大數據產業園、數字經濟發展展示運行平臺,組建數字經濟發展集團,加快建設“云上青海”。推進5G網絡和智慧廣電建設,推廣應用物聯網、云計算、大數據、區塊鏈、人工智能等新一代信息技術,整合現有產業、企業和產品,與國際國內市場耦合,發展平臺經濟,謀劃和推動產業鏈數字化改造。(學習時報)[2020/6/17]

▲?Bonding

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

聲音 | Web Summit創始人:區塊鏈也許是一項革命性的技術 但需很長的時間來發展:據界面報道,全球網絡峰會(Web Summit)的創始人Paddy Cosgrave接受專訪時表示,區塊鏈技術的落地應用很少。也許它是一項革命性的技術,但是需要很長的時間來發展。就我個人而言,更看好另一項技術FHE(fully homomorphic encryption,全同態加密技術),我認為它將比區塊鏈更有發展前景。我認為Libra的加密貨幣特性比較少,反而更像是支付寶、財付通這樣的支付工具。Facebook在使用超過150種貨幣的200多個國家運營,Libra為Facebook提供了一種全球通用的電子貨幣工具來解決交易和支付的問題。Facebook是用更開放、更有合作精神的態度來解決全球通用的貨幣問題,盡管很多人擔憂年輕一代越來越少使用Facebook,意味著Libra所依賴的用戶群體在減少,但是他們忽略了Facebook旗下的Instagram和Whatsapp兩大軟件的龐大用戶群。[2019/9/1]

▲?Proof中繼

現場 | 蜂巢區塊鏈創始人胡建雷:區塊鏈技術公司應埋頭做技術 為賦能實體經濟作貢獻:金色財經現場報道,9月8日,在蜂巢HIVECHAIN在鄭州召開2周年慶典暨蜂巢商學院發布會上,蜂巢區塊鏈創始人、原BTC100聯合創始人兼CTO、中國通信工業協會區塊鏈專業委員會常務委員胡建雷在現場作出演講,他指出區塊鏈技術公司應該秉承讓所有人參與進來,讓所有的人感受區塊鏈的魅力的初心埋頭做技術,為賦能實體經濟作出貢獻。并且現場蜂巢區塊鏈創始人胡建雷與澳洲七星交易所簽署了合作協約。[2018/9/8]

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

▲?驗證

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

浙江省多家銀行機構都已在積極擁抱區塊鏈技術 區塊鏈賦能銀行新活力:錢江晚報發文稱,浙江省多家銀行機構都已在積極擁抱區塊鏈技術。近日,建設銀行浙江省分行與杭州聯合銀行合作,實現業內首筆跨行區塊鏈福費廷(出口信貸的一種類型)交易,這是建設銀行在“區塊鏈+貿易金融”領域的又一重大突破。此外,杭州銀行也在不久前宣布與騰訊聯手打造智慧銀行,深入探索在區塊鏈、大數據、AI等新技術應用的實踐。據悉,今年浙商銀行將區塊鏈技術運用于財富管理的“財易云”平臺,日前已投產上線。[2018/3/13]

IBC握手流程

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

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

中國石化企業采用區塊鏈技術 優化石油交易融資成本20%-30%:中國中化集團近日成功試行了以中東原油進口為主的第一批區塊鏈原油進口交易。根據交易效果分析顯示,數字提單和智能合約作為這一應用的兩大支持,提高原油交易效率,優化交易融資成本20%-30%。[2017/12/29]

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

Client

Connection

Channel

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

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

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

一筆跨鏈交易的連接流程如上圖,和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:區塊鏈IBCCOSCOSM魔獸幣是有使用區塊鏈技術嗎YFIBC幣cosmos3X Long Cosmos Token

比特幣行情
我們花了220萬美元買數字藝術品,是不是瘋了?_NFT

在開始看這篇文章之前,首先你需要知道的是:Beeple是一位標志性的美國藝術家,在Instagram上有170萬粉絲.

1900/1/1 0:00:00
隨想:區塊鏈提供數字科技霸權之外的第三選項_區塊鏈

我并不是一個對時事不感興趣的人,但是在這個公眾號里從來不談,因為我相信專業主義。走出校門二十年以來,我干過好幾個行業,談不上有什么成績,但深知一個道理,任何一個實踐性領域,八成以上的“真知”.

1900/1/1 0:00:00
一個山寨季的投機策略_比特幣

在一個大餅悄悄跌去4000刀的周末,你說還會有山寨季?大家好,我是佩佩,在這周四我們在對現階段市場的分析中表明了一個觀點是:接下來山寨會比比特幣走得更好.

1900/1/1 0:00:00
入選「2.5億ALGO獎勵計劃」的layer 2 預言機網絡Cudos即將首發上線BitMax交易所_UDO

以太坊的擁堵已經嚴重影響了它更廣泛的采用,這是眾所周知的事情,只要體驗一下DeFi就知道它的費用有多高,速度有多慢。但這并非是無解的問題.

1900/1/1 0:00:00
全景式回顧BTC的2020:全年挖出45萬枚 交易所凈流失35萬枚_BTC

全景式回顧BTC的2020:全年挖出45萬枚交易所凈流失35萬枚 PANews 剛剛 14 2020年開年,受“新冠”疫情影響,BTC與全球金融市場的共振加劇,未能幸免于暴跌.

1900/1/1 0:00:00
2021最受歡迎的加密行業書籍推薦_區塊鏈

2021年,加密貨幣市場獲得了前所未有的上行動力,隨著比特幣的價格和加密貨幣市場總市值創下新紀錄,人們對區塊鏈技術的興趣空前高漲.

1900/1/1 0:00:00
ads