比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

技術 | Cosmos跨鏈協議IBC的來龍去脈_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鏈相互維護了一個對方的輕節點。

動態 | 廣東省稅務局:利用區塊鏈等技術 全面升級為“一次不用跑”:近日,廣東省稅務局正式發布公告,在全省范圍內實行辦稅費“一次不用跑”,并發布涉及的100項辦稅費事項清單。在“一次不用跑”試點過程中,廣東省稅務局鼓勵各地稅務部門在“電子辦稅為主、自助辦稅為輔、實體辦稅兜底”的智慧辦稅格局下,探索智能辦稅新路徑,開展個性化服務創新,將“最多跑一次”事項清單與“全流程無紙化”“互聯網+”“云計算”“區塊鏈”“人工智能”等緊密融合,全面升級為“一次不用跑”。(央廣網)[2020/2/6]

▲?Bonding

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

▲?Proof中繼

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

聲音 | 中科院院士:加快融合區塊鏈等技術 有利于助推智慧社會高速發展:12月18日,以“智聚賦能 創新未來”為主題的2019山東省創新驅動發展高峰論壇在山東濟南召開。圍繞“密碼學與區塊鏈技術”主題,中國科學院院士王小云在現場表示,密碼是保障網絡與信息安全的核心技術和基礎支撐,而區塊鏈技術創造性地解決了如何在無許可環境下達成共識的問題。在發展供應鏈金融方面,區塊鏈可解決多個行業痛點,加速普惠金融。加快融合區塊鏈、人工智能等信息技術,有利于助推智慧社會高速發展。(中新網濟南)[2019/12/18]

▲?驗證

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

IBC握手流程

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

動態 | 運用區塊鏈技術 攀鋼發行1.4億元ABN債券:11月21日,記者獲悉,四川攀鋼集團有限公司(攀鋼)成功發行惠信供應鏈定向資產支持票據(以下簡稱“ABN債”)。攀鋼下屬天府惠融公司于2019年獲批中國銀行間市場交易商協會給予的40億元ABN債儲架額度,滾動發行。此債券是中國資本市場首單以核心企業為主導,運用區塊鏈技術穿透服務產業鏈多級客戶,踐行普惠金融政策的資產證券化項目,是攀鋼探索金融創新工作的重大成果。(新京報)[2019/11/21]

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

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

Client

Connection

Channel

奧迪組建研究小組測試區塊鏈技術 未來有可能接受加密貨幣支付:據cointelegraph報道,奧迪正在測試區塊鏈技術的物理和財務分配處理能力。奧迪旨在通過新的解決方案提高其全球供應鏈的安全性和透明度。去年,奧迪發布了區塊鏈系統的概念驗證(PoC)。由于效果反饋積極,奧迪管理層決定將區塊鏈項目推進到PoC階段之外。由財務,生產,物流和信息技術等各個組織單位的代表組成的研究小組正在探索包括財務結算在內的國際物流流程的表達和記錄。此外,該團隊正在探索區塊鏈的各種使用方法,以提高數據傳輸的安全性和供應鏈的有效性,管理當地能源電網和數字實體。奧迪財務部負責人Alexander Dietmeier在接受采訪時表示,區塊鏈有可能改變工業企業內部的各種運營原則,并開創新的可能性。 他還認為奧迪可能會在不久的將來接受加密貨幣作為支付方式。最近,其他德國汽車制造商,例如寶馬,奔馳和保時捷也都曾表示正在進行區塊鏈技術的實驗。[2018/3/31]

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

中國VC教父閻焱:區塊鏈本身是好技術 但現階段還存在很多弊端:據網易科技報道,賽富亞洲投資基金創始合伙人、有“中國VC教父”之稱的閻焱表示,區塊鏈技術本身是很好的技術,但現階段還存在很多弊端,對其開發的能力不夠。同時他認為,99%的人是不關注區塊鏈。而中國雖然有扎扎實實發展的區塊鏈公司,但數量很少,以以太坊為例,世界上有1000個,中國可能只有1、2家。[2018/3/25]

可以看到連接、端口都是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:區塊鏈IBCCOSMcosmos為什么要有區塊鏈SHIBCAKE3X Short Cosmos Token3X Long Cosmos Token

以太坊最新價格
200億一夜飛灰湮滅,加密市場杠桿成暴跌元兇_BASE

羅斯柴爾德的話一如既往的響亮。在過去24小時內,市場有價值29億美元的資產遭到了清算。興奮感戛然而止,賭徒已經出局,現在誰還敢買?像往常一樣,很多人會說他們看到了這一點,其他人甚至會說他們知道暴.

1900/1/1 0:00:00
億萬富翁馬克·庫班:加密貨幣“非常像互聯網股票泡沫”_加密貨幣

億萬富翁馬克?庫班表示,加密貨幣市場“非常”像上世紀90年代末和21世紀初的互聯網泡沫。他的聲明似乎表明,一旦投資者的熱情耗盡,數字資產的估值可能會崩盤.

1900/1/1 0:00:00
金色前哨|灰度投資:正式解散XRP信托 已清算完XRP_ETH

灰度投資已經拋棄XRP。此前2020年12月22日美國SEC決定對代幣XRP發行公司Ripple提起聯邦法院訴訟,SEC認為Ripple發行的XRP是一種證券.

1900/1/1 0:00:00
2021最全財富密碼,95個即將發幣項目概覽_HTT

Odaily星球日報梳理了今年即將發行代幣或推出新品的區塊鏈項目,共計95個。整理|秦曉峰?運營|蓋遙?編輯|郝方舟出品?|?Odaily星球日報(ID:o-daily過去一年,DeFi市場蓬勃.

1900/1/1 0:00:00
分析:鯨魚數周“吞食”30億美元ETH,以太坊或即將突破歷史高點_ETH

1月15日,以太坊的價格在日線圖上再次飆升超過9%,突破1200美元,這是又一次嘗試突破其歷史高位的嘗試。截至發稿時,ETH的交易價格為1200美元左右,市值為1360億美元.

1900/1/1 0:00:00
BM與AC:連續發幣者的雙重境遇_BIT

連續發幣者在區塊鏈行業并不罕見,其中BM與AC是其中最具知名度的兩位。BM自2013年進入區塊鏈行業以來,先后主導開發了Bitshares、Steem和EOS等知名區塊鏈項目,且它們的代幣市值都.

1900/1/1 0:00:00
ads