導讀
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鏈相互維護了一個對方的輕節點。
國家發改委:利用區塊鏈等技術 構建藥品追溯體系:5月10日,國家發展和改革委員會印發《“十四五”生物經濟發展規劃》,其中提出利用5G、區塊鏈、物聯網等前沿技術,實現藥品、疫苗從生產到使用全生命周期管理,構建藥品追溯體系。[2022/5/14 3:16:13]
▲?Bonding
當使用IBC初始化一筆跨鏈轉賬之后,A鏈上的10個ATOM事實上處于鎖定的狀態。
▲?Proof中繼
一份證明A鏈上已經鎖定10ATOM的“證據”會被路由到B鏈上的IBC模塊。
▲?驗證
B鏈結合A鏈的輕節點信息,對這份“證據”驗證通過之后,B鏈上會“鑄造”10份ATOMVoucher,這些Voucher可以進行后續的流通使用。當然這些Voucher也可以通過同樣的跨鏈方式返回到A鏈,A鏈上的ATOM代幣相應執行解鎖的操作。
動態 | 中國銀行借助區塊鏈技術 推出天貓經銷商供應鏈融資產品:中國銀行浙江省分行推出了品牌商、經銷商、平臺服務商、銀行的四方合作模式——“天貓經銷商供應鏈融資產品”,該系統借助區塊鏈技術實現了信任流通。據悉,該平臺的底層技術為中行自主研發的中銀區塊鏈平臺,利用區塊鏈可溯源、共識和去中心化等特征,保證了交易信息的可信度,進一步減少了資金端的風控成本。“區塊鏈+供應鏈金融”的“雙鏈”融合,將為供應鏈融資提供全新的思維模式。(新浪財經)[2019/11/25]
IBC握手流程
IBC協議是Cosmos中最核心的接口協議,能夠實現區塊鏈間跨鏈消息的可信、可靠轉發,并有效進行流量控制、多路復用等功能。
在Cosmos中,每個功能都是高度模塊化的,每個功能通過加載不同的模塊來實現,IBC也是如此。在IBC設計時,借鑒了傳輸層的TCP協議,也是希望成為區塊鏈領域的“TCP協議”。不僅如此,在IBC的各個方面也能看到TCP的身影,首先我們來看IBC中的一些基本概念。CosmosIBC采用了有連接的、可靠的跨鏈消息傳輸。
動態 | 云南省委常委會擴大會議:結合云南實際大力發展區塊鏈技術 使之發揮更大作用:據《云南日報》消息,11月8日下午,云南省委常委會召開擴大會議,省委書記陳豪主持會議。會議強調要結合云南實際大力發展區塊鏈技術,使之在建設數字云南、發展數字經濟、助力經濟社會發展等方面發揮更大作用。[2019/11/9]
在此基礎上提出了以下幾個關鍵定義:
Client
Connection
Channel
下圖是IBC協議和TCP相關概念的對比。
可以看到連接、端口都是TCP協議中的規范,但是其中的內涵發生了變化,為了適應跨鏈場景下的使用。同時增加了通道和客戶端等新的內容,能夠支持跨鏈中的有序發送和跨鏈交易的驗證。
接下來我們來看一下一次完整IBC協議的握手和通信流程。
聲音 | 電力規劃設計總院徐小東:可借助區塊鏈技術 創新能源交易模式:據中國金融信息網消息,1月23日,國際能源署(IEA)23日在北京發布的《世界能源展望2018》。電力規劃設計總院副院長徐小東表示,各國應當重視新興技術發展,加快電制氫、電制氨等能源技術的創新和規模化應用,有效解決能源的季節性波動;同時可借助區塊鏈技術,創新能源交易模式。[2019/1/24]
一筆跨鏈交易的連接流程如上圖,和TCP協議類似,IBC的建立需要建立多次的握手過程,并增加了一步初始化客戶端的操作,這對于跨鏈來說很關鍵的一環。
▲?鏈內客戶端
跨鏈雙方需要在鏈上初始化一個對方鏈的輕客戶端,這個Client實質上是另一個區塊鏈的輕客戶端,而且必須滿足Cosmos規定的一套Client接口。之所以要在IBC建立之前初始化這個輕客戶端,是因為Cosmos需要保證在本鏈上能夠驗證來自來源鏈的跨鏈交易是能夠驗證的,否則無法保證在本鏈上執行該交易的有效性和合法性。
金色財經獨家分析 比特幣預測:A面是技術 B面是情緒:長久以來,在比特幣價格方面人們看了太多“支撐點”、“壓力位”以及MA,當分析師不斷提出的8600、9000、10000美元等關鍵位置突破后,漲跌依然還沒有定論,大漲大跌不為分析師的技術所動,股市那一套似乎不很奏效。金色財經獨家分析,目前加密貨幣市場漲跌的規律還尚未形成,用股市分析來看確實有些形式大于內容,但這并不代表技術不可靠,拋開股市技術,可以看一看供需方面的技術:日前FundstratQuantamental創建了價格/礦工的盈利率的新的比特幣定價標準,從生產和需求的角度來談,讓人更加信服;
即便如此,技術也只是比特幣價格的A面,B面仍然是情緒等非技術因素。由于加密貨幣背后的“實體”仍然不易找到,看政策,看期望,看整個市場帶來的各類利好或利空。日前韓國一項調查中顯示依據論壇的評論預測價格準確率超過了80%,可謂十分可靠的“情緒技術指標”了。加密市場的這種現象是可以理解的,畢竟即使在股市,“隨便買買”的盲目,沒有太多依據的看心情也是大有人在的。但應該反思的是,加密貨幣市場應該變得更有據可循一些,這需要更加嚴格風險控制體系、與實體經濟的進一步結合,同時也需要大機構和專業投資者的進一步加入,那時候情緒依然是情緒,但技術會更加具有參考價值。[2018/5/14]
為了方便后續后續更多不同種類的區塊鏈接入,這個輕客戶端規定了一套通用的接口,不同類型的區塊鏈通過實現該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團隊主要負責區塊鏈賬本互操作技術相關研究工作
上海證券報:數字人民幣測試持續擴圍銀行積極搶占新支付渠道 上海證券報 剛剛 29 新年伊始,數字人民幣首批試點城市之一的深圳開啟了第二輪數字人民幣大規模試點.
1900/1/1 0:00:00前言 幾乎每隔一天,比特幣就會創下一個新的歷史高點--2020年12月的年收盤價為29100美元。這是在此前達到的3年內19800美元的高點之后.
1900/1/1 0:00:00「彈性金融」帶來了令人興奮的貨幣和技術創新,加密貨幣市場中很多年從未見過的創新。由Ampleforth領軍的新興彈性金融板塊推出會進行供應量動態調整的代幣,這種動態調整稱為「rebase」.
1900/1/1 0:00:00Rococo團隊公布V1測試插槽的總體策略 PolkaWorld 剛剛 26 為了快速改善Rococo網絡,Parity將定期更新并重新啟動網絡.
1900/1/1 0:00:00印度新銳科學家、科技奇才SrinivasMahankali曾將區塊鏈比喻成一種“宗教”,需要具有傳教士般熱情的人士通過可免費獲得的開源技術使其不斷擴散,讓現實世界的技術去中心化和民主化.
1900/1/1 0:00:002021年才過了半個月的時間,比特幣就上演了驚喜又驚嚇的大戲。在2020年年末比特幣正如人們所預料的那樣突破了28000美元.
1900/1/1 0:00:00