比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > BNB > Info

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

現場丨西安市大數據資源管理局副局長:西安將充分利用區塊鏈技術 打造數字經濟名城:金色財經現場報道,10月15日,在由西安市大數據資源管理局主辦,西安市區塊鏈技術應用協會等單位承辦,金色財經和IPFS100.COM等聯合承辦的首屆中國(西安)區塊鏈產業發展論壇上,西安市大數據資源管理局副局長張偉明發表致辭指出:“西安在2019年制定了在重點領域應用區塊鏈技術大發展的相關計劃與目標。未來,西安將充分利用數字化技術和智能化設施,積極探索城市全新治理模式,開展數據的動態采集、實時監測和智能分析,為城市治理提供科學依據;也將充分利用區塊鏈技術,強化網絡技術基礎設施建設,推動5G技術在城市社區的普及應用,著力提高社區管理的能力和水平。尤其是應推動數字化技術在交通、環境、市政等民生領域的應用,加快推進城市傳統基礎設施的數字化改造和升級,不斷提升城市公共服務的精細化、智能化、智慧化水平。”[2020/10/15]

▲?Bonding

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

聲音 | 大連港:將繼續開拓區塊鏈技術 深入開展創新工作:金色財經報道,大連港(601880)被提問“除了區塊鏈電子放貨平臺之外,接下來還有什么區塊鏈項目落地”時表示,目前,大連港利用區塊鏈的去中心化、不可篡改、共享賬本等特征所建立的區塊鏈信任機制,使業務信息公開透明公正,借助區塊鏈的數據加密作用強化數據信息安全功能,確保數據的安全性、完整性和一致性,使船、輪駁公司、智慧港口平臺各方都能實時、安全、無縫地傳遞拖輪作業信息,實現全程留痕和全程可追溯,滿足輪駁業務的安全性和準確性要求。未來大連港還將繼續開拓區塊鏈技術業務實現場景,深入開展創新工作,在全港口領域推行區塊鏈技術應用落地。(上證e互動)[2019/10/30]

▲?Proof中繼

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

聲音 | 中國工程院院士:區塊鏈產業化需克服技術 應用場景 標準的挑戰:深圳商報報道,中國工程院院士柴洪峰表示,區塊鏈作為一項新技術從最初的萌芽到熱炒,再到實現大規模的產業應用,一般需要五到十年的成熟發展周期。區塊鏈在金融行業應用尚處早期階段,并不成熟,需要努力克服一系列的技術、應用場景、標準的挑戰,方能實際發揮作用。[2018/8/23]

▲?驗證

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

IBC握手流程

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

銀行助力雄安新區:投放最先進技術 種樹也用區塊鏈:“千年秀林”在雄安新區規劃公布之前已開始實施,2018年要再造10萬畝苗景兼用林,未來新區森林面積達百萬畝。這個項目就是運用區塊鏈技術來管理財務。通過銀企直聯,將植樹造林資金支付鏈條延伸至付款末端,工程款、勞務工作的支付均在鏈上完成,確保專款專用。農行是支付合作銀行之一,中標企業開立農行賬戶后,利用文件證書形式將賬戶導入到區塊鏈平臺,并完成平臺注冊和登錄,之后資金支付就在平臺上發起。[2018/4/16]

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

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

Client

Connection

衛士通表示正在研發區塊鏈技術 股價上漲5%:衛士通(002268)11日午間在互動平臺表示,公司在區塊鏈領域有專門人員進行技術研究。衛士通股價午后大漲,截至發稿上漲近5%。[2018/1/11]

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:區塊鏈IBCOSMCOSM區塊鏈運用的技術不包括iBCHCosmic Chain

BNB
SYN:Synthetix多抵押貸款合約現Bug,新合約將于新版本部署

1月11日午間,合成資產發行平臺Synthetix官方發文稱,上周Synthetix官方在發行多抵押貸款業務中發現了一個Bug。該錯誤導致一些僅需要進行部分清算的貸款被標記為全部清算.

1900/1/1 0:00:00
ROC:Rococo公布接入測試插槽項目順序:預計分批上線,Kilt、Interlay為第二批

1月16日,波卡中國社區PolkaWorld介紹Rococo團隊發布的V1測試插槽的總體策略。Polkadot給出了波卡測試網Rococov1平行鏈的大致上線順序,為:第一批:Plasm,Aca.

1900/1/1 0:00:00
YFI:YFI官方督促社區成員就分配YFI代幣支持開發展開討論

1月20日,yearn.finance官方發推公布有關代幣分配的社區論壇討論內容,并督促社區成員展開相關討論。有社區成員于論壇發布了yearn.finance同類項目的代幣分配情況統計.

1900/1/1 0:00:00
區塊鏈:區塊鏈游戲My Neighbor Alice籌集210萬美元,希望把區塊鏈帶到千家萬戶

根據來自Medium1月7日的消息,AntlerInteractive為一款新的區塊鏈多人游戲MyNeighborAlice籌集了210萬美元.

1900/1/1 0:00:00
比特幣:全球資產管理巨頭Oaktree Capital家族開始持有比特幣,對比特幣態度發生大反轉

全球最大不良資產投資機構,全球資產管理公司,橡樹資本集團聯合創始人,最著名的遇險債務專家霍華德·馬克在其給客戶的最新備忘錄中提到,他的家人現在擁有“有意義數量”的比特幣以及其他加密貨幣.

1900/1/1 0:00:00
區塊鏈:中國工程院外籍院士沈學民:利用聯盟區塊鏈管理智能交通大數據

巴比特現場報道,12月19日,2020CCF區塊鏈技術大會暨首屆中國濟南區塊鏈產業發展高峰論壇在山東濟南舉行.

1900/1/1 0:00:00
ads