買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > DYDX > Info

區塊鏈:科普 | 走進Cosmos之入門_MSG

Author:

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

作者簡介

江哲

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

導讀

跨鏈作為近兩年來區塊鏈技術一個炙手可熱的方向,吸引了許多人的目光。

從技術層面看,Cosmos無疑可以與Polkadot并稱“跨鏈雙雄”,兩者的技術路線并無明顯的優劣之分,只是開發理念各有千秋。

Cosmos最初是由Tendermint團隊構建的開源社區項目,它將自己定義為“一個由多條獨立平行區塊鏈組成的去中心化網絡”,和Polkadot一樣,也由中繼技術實現。

Cosmos到底是如何解決跨鏈過程中遇到的各項問題的,本文通過對其架構和跨鏈交易流程的解讀,帶我們進一步了解Cosmos。

什么是Cosmos

Cosmos作為跨鏈雙雄之一,定位為一個可擴展、易用、互操作的區塊鏈互聯網。

首先介紹Cosmos的三個重要組成部分

Hub:本質上是一條中繼鏈,由官方進行維護,被當作跨鏈消息的信任中心;

Zone:參與到Cosmos網絡中的應用鏈,允許不同類型的區塊鏈加入進來;

IBC:鏈間通信協議。

他們三者的關系我們從上面的簡圖中看到,位于中心的是Hub。

Hub管理著許多被稱為“Zone”的應用鏈,在Cosmos網絡中,由Hub來追蹤記錄各個Zone的狀態,而每一個Zone有義務不停地把自身產出的新區塊反向匯報給Hub。

Hub與Zone直接通信,而Zone與Zone之間通過IBC間接通信。

徐明星新書《趣說金融史》正式發布 科普金融發展之道:金色財經現場報道,9月23日,歐科云鏈創始人徐明星攜手著名財經作家李霽月、行業觀察者顧澤輝力作《趣說金融史》一書,跨越5000年金融歷史,重讀金錢故事,并預測新的金融時代。該書由中信出版社出版,將于近期正式發售。據了解,本書可以更好地呈現金融的起源與發展,幫助人們理解貨幣、金融與未來經濟。作為區塊鏈行業領軍企業——歐科云鏈的創始人,徐明星深知技術探索對經濟社會的重要推動作用,他曾先后出版過《圖說區塊鏈》、《區塊鏈:重塑經濟與世界》、《通證經濟》、《鏈與未來》等行業權威著作,解讀區塊鏈等新型技術的推動下,金融與社會的升級之道,對經濟社會發展做出了重大貢獻。其中,《區塊鏈:重塑經濟與世界》曾作為新中國70周年重點推薦圖書之一被相關書店推薦。[2021/9/23 17:00:57]

當Zone對Hub建立起一個IBC連接,它可以自動訪問其他連接到該Hub上的Zone,這意味著Zone無需與其他Zone連接,而僅僅連接到Hub上即可。

當一個Zone通過Hub收到來自其他Zone的代幣時,它只需要信任Hub,而不需要信任網絡中所有其它的Zone。

為什么Cosmos不直接利用IBC建立Zone與Zone之間的連接?

事實上,隨著接入到網絡中Zone的數量上升,以直連方式實現通信會導致鏈路數量呈平方級上升,如此快速的增長顯然會令網絡不堪重負。

Cosmos架構

Cosmos作為一個多鏈互操作的跨鏈平臺,支持不同種類應用鏈接入到Cosmos的網絡,如圖所示:

一般來說,應用鏈可以分成兩種類型:概率鏈和確定性鏈。

現場 | 火幣中國推出數字經濟及區塊鏈產業科普新書:金色財經現場報道,12月6日,由海南省工業和信息化廳主辦,南南合作金融中心協辦,海南生態軟件園、火幣中國承辦的“海南自貿港數字經濟和區塊鏈國際合作論壇”在海口舉行,這是全球首次區塊鏈部長級論壇。

在本次論壇上,火幣中國舉行了“數字經濟及區塊鏈產業科普系列新書發布”儀式,希望通過教材、專業教育、培訓等多種方式,幫助從業者、高校、研究機構深入了解區塊鏈,從而建立起區塊鏈全局性知識模型,真正推動區塊鏈應用落地。火幣中國CEO袁煜明介紹,將聯合機械工業出版社面向普通高等教育推出《區塊鏈導論》、《區塊鏈系統設計與應用》和《區塊鏈新商業模式分析》系列教材,這是國內最早推動的區塊鏈教材之一;火幣中國還積極參與數字經濟的研究,由中信出版社出版的新書《讀懂Libra》已經上市;由火幣中國負責編寫的區塊鏈技術科普讀物《區塊鏈技術進階指南》將于12月面世;首本行業內最全的區塊鏈應用案例集《區塊鏈產業應用100例》在本次論壇進行了首次刊印。[2019/12/6]

概率鏈是指只能根據區塊鏈網絡參與者在不同分叉鏈上的比例,而以一定概率認為某條鏈是主鏈。一般來說比特幣通過6個區塊以上來達到確認,而以太坊通過15個區塊以上來達到確認。

確定性鏈指的是每個區塊的狀態都是確定的,在未來的任意時刻你都可以從創始塊開始復現推演每個區塊的狀態。

Cosmos中的Hub理論上可以接入上述兩者,只不過對于概率鏈的支持在實踐中要相對麻煩一些。這是因為從底層設計來講,IBC跨鏈通信協議發揮作用的前提在于區塊鏈的不可逆。?

所以Cosoms試圖通過“PegZone”橋接鏈來實現概率鏈的互操作性。PegZone是追蹤記錄另一條區塊鏈狀態的區塊鏈,它要將自己橋接的某條概率鏈上的狀態確定為不可逆的,使得這些狀態得以與IBC兼容。

動態 | 新浪財經:官媒針對區塊鏈的報道從科普宣傳轉向打假監管:據新浪財經今日消息,“1025新政”滿月,一個月間,官媒對區塊鏈的態度風向已轉。據11月初的一項統計,七家黨媒在新政一周內發布了65篇直接相關報道,當時文章中的關鍵詞是數據、產業、安全、創新等,大量文章偏向于科普區塊鏈的概念以及應用介紹,提醒警惕虛擬貨幣炒作的僅有3篇。近期,官媒的批評焦點則紛紛指向借區塊鏈之名進行的虛擬貨幣發行和炒作行為。據統計,新華網、人民網收錄轉載的,以打擊虛擬貨幣或揭露假借區塊鏈行騙為主題的文章,自10月25日到11月25日午間,共28篇;其中,11月19日至11月25日的一周內就高達15篇。這些文章主要圍繞三個觀點展開:厘清區塊鏈和虛擬貨幣的關系,說明二者概念不等;打擊偽“區塊鏈”騙局,或是虛擬貨幣騙局揭露;提醒民眾,區塊鏈不能成為炒作的噱頭,更不是行騙的招牌,需警惕此類活動,理性投資。[2019/11/26]

其中這里的ABCI是應用層的區塊鏈如何與共識層交互的接口,共識層和網絡層是由CosmosSDK底層實現,只需實現相關的ABCI接口即可自行搭建一條鏈。

ABCI接口和CosmosSDK會在接下來的Cosmos系列中會詳細介紹。

交易流程

接下來介紹Cosmos的交易流程,Cosmos的交易分為普通交易和跨鏈交易,普通交易通過應用鏈內的共識上鏈,跨鏈交易通過IBC跨鏈協議進行交易。

▲?普通交易

Cosmos的普通交易和以太坊類似,也是一個帳戶模型,有著From,To和Amount關鍵字段。

普通交易Msg:

typeMsgSendstruct{FromAddressgithub_com_cosmos_cosmos_sdk_types.AccAddressToAddressgithub_com_cosmos_cosmos_sdk_types.AccAddressAmountgithub_com_cosmos_cosmos_sdk_types.Coins}交易流程

聲音 | CNBC主持人:加密貨幣最大的缺點之一就是難以向外行快速科普:CNBC主持人Ran NeuNer近期發推稱,加密貨幣最大的缺點之一就是很難向外行快速解釋。當人們要求我向他們解釋比特幣時,我知道他們至少需要一個小時才能真正理解。[2019/9/10]

接下來介紹一筆普通交易的流程,例如Alice轉給Bob100atom代幣。

1.Tendermint收到該筆交易,調用BaseApp的CheckTx校驗該筆交易的有效性;

2.Tendermint出塊,調用BaseApp的BeginBlock,檢查區塊的高度、Gas消耗情況和節點投票情況;

3.Tendermint調用BaseApp的DeliverTx,執行區塊中的交易;

4.減少Alice100atom,增加Bob100atom,存儲Alice和Bob的賬本。

5.區塊內交易全部執行完成后,Tendermint調用BaseApp的EndBlock收尾,包含執行完成后的事件和相關的驗證者集合等等;

6.Tendermint調用BaseApp的Commit,IavlStore構建MerkleTree;

7.通過返回的MerkleTreeRoot生成區塊哈希,進行一下輪出塊。

▲?跨鏈交易

交易結構

IBC協議中包含了三個主要的交易類型:

MsgPacket:定義了IBC協議的跨鏈交易數據包,包含跨鏈交易、目的鏈的超時高度和時間戳。

/IBC數據包typeMsgPacketstruct{PacketProofcommitmentexported.ProofProofHeightuint64Signersdk.AccAddress}//數據包定義了一種通過IBC跨不同鏈傳輸數據的類型typePacketstruct{//跨鏈交易數據Databyte//number對應于發送和接收的順序,必須按序發送和接收Sequenceuint64//標識來源鏈上的端口SourcePortstring//標識來源鏈上的通道SourceChannelstring//標識目的鏈上的端口DestinationPortstring//標識目的鏈上的通道DestinationChannelstring//標記數據包超時的區塊高度TimeoutHeightuint64//數據包超時的區塊時間戳TimeoutTimestampuint64}MsgAcknowledgement:定義IBC協議的響應數據包,包含跨鏈交易執行成功或者失敗的狀態。

動態 | 美國演說家Anthony Robbins開始科普什么是比特幣:美國演說家安東尼·羅賓(Anthony Robbins)在自己的網站上發布了一篇比特幣的科普文章,并在推特上向自己的粉絲介紹什么是比特幣,目前他的推特賬戶共有粉絲304萬人。[2019/1/1]

/IBC響應數據包typeMsgAcknowledgementstruct{PacketAcknowledgementbyteProofcommitmentexported.ProofProofHeightuint64Signersdk.AccAddress}MsgTimeout:定義IBC協議的超時數據包,包含下一個接收包的序列號。

//IBC超時數據包typeMsgTimeoutstruct{PacketNextSequenceRecvuint64Proofcommitmentexported.ProofProofHeightuint64Signersdk.AccAddress}當應用鏈雙方在Hub注冊后,彼此發現就可以通過路由進行跨鏈交易。

IBC跨鏈流程

我們通過一個例子來介紹IBC的跨鏈交易,ChainA和ChainB都是基于CosmosSDK搭建的應用鏈,Relayer作為一個鏈下中繼負責輪詢和路由IBC的數據包,這里的大致流程如下所示:

ChainA->relayer->hub->relayer->ChainB為了更加清晰的描述ChainA的跨鏈交易是如何到達ChainB的,relayer和hub之間只是負責路由,這里簡化了relayer到hub之間的過程。

ChainA的Alice轉給ChainB的Bob100atom

1.ChainA的Tendermint收到該筆交易,調用BaseApp的BeginBlock,檢查區塊的高度、Gas消耗情況和節點投票情況;

2.執行區塊中的交易,減少Alice100atom,增加托管賬戶Escrow100atom,存儲Alice和Escrow的賬本。

3.構建跨鏈交易MsgPackage數據包,根據DestinationChannel和DestinationPort定位Outgoing隊列,將MsgPackage存入該隊列;

4.區塊內交易全部執行完成后,Tendermint調用BaseApp的EndBlock收尾,包含執行完成后的事件等等,?再調用BaseApp的Commit,調用IavlStore持久化等操作;

5.IavlStore通過當前所有的IavlTreeRoot構建MerkleTree;

6.ChainA的Tendermint通過Treeroot生成區塊哈希;

7.ChainA的Tendermint準備進行下一輪出塊;

8.中繼器Relayer輪詢ChainA的Out隊列,發現Outgoing隊列存在MsgPackag;

9.中繼器Relayer解析MsgPackage數據包來源和目的;如果發現ChainB的區塊高度大于超時高度,移除ChainA的MsgPackage,向ChainA的inComming隊列發送MsgTimeout數據包;

10.中繼器Relayer向ChainB的Incomming隊列發送包含MsgPackage數據包,ChainB隨后解析MsgPackage,驗證MsgPackage的有效性;

11.托管賬戶Escrowmint100atom,然后向Bob發送100atom;

12.ChainB構建MsgAcknowledgement數據包,中繼器Relayer輪詢ChainB的Incomming隊列,將其放入ChainB的Outgoing隊列;

13.ChainA收到ChainB的MsgAcknowledgement或者MsgTimeout數據包,如果MsgAcknowledgement包含執行失敗的狀態或者存在MsgTimeout數據包,則根據數據包內的信息進行向托管賬戶贖回對應的金額。

跨鏈難題

▲?Relayer作惡問題

場景描述:Relayer是鏈下的一個傳遞跨鏈消息的組件,任何人可以啟動Relayer來傳遞消息。

方案:所有驗證在鏈上進行,Relayer只做消息傳遞。

效果:可多個Relayer同時工作,跨鏈消息的有效性和有序性的保證和Relayer無關,至少一個不作惡Relayer即可工作

▲?跨鏈存在性證明

我們可以看到,在每個IBC數據包的結構中都包含:

struct{Proofcommitmentexported.ProofProofHeightuint64Signersdk.AccAddress}其中ProofHeight是對應的區塊高度,Proof是MerkleProof,Signer是發送者的地址,跨鏈雙方維護對方的輕節點,提供類似SPV證明的機制。

▲?跨鏈交易事務

IBC跨鏈協議中定義了兩種關于包含狀態的跨鏈交易數據包:

MsgAcknowledgement:定義IBC協議的響應數據包,包含跨鏈交易執行成功或者失敗的狀態。

//MsgAcknowledgementreceivesincomingIBCacknowledgementtypeMsgAcknowledgementstruct{PacketAcknowledgementbyteProofcommitmentexported.ProofProofHeightuint64Signersdk.AccAddress}MsgTimeout:定義IBC協議的超時數據包,包含下一個接收包的序列號。

//MsgTimeoutreceivestimed-outpackettypeMsgTimeoutstruct{PacketNextSequenceRecvuint64Proofcommitmentexported.ProofProofHeightuint64Signersdk.AccAddress}來源鏈通過MsgAcknowledgement數據包,可以判斷跨鏈交易是否執行成功,如果執行失敗來源鏈做出相對的回滾。

來源鏈通過MsgTimeout數據包,可以判斷一個跨鏈交易的數據包是否超時,如果超時來源鏈做出相對的回滾。

結論

總體來說,Cosmos作為與Polkadot齊名的跨鏈雙雄之一,在架構設計和IBC跨鏈協議上有許多值得我們學習借鑒的地方。

接下來的Cosmos系列文中會詳細介紹IBC協議和Tendermint共識詳解,敬請期待!

Tags:區塊鏈MSGCOSOSMO到底什么是區塊鏈msg幣多少錢一個Receive Access Ecosystemosmo幣是空氣幣嗎

DYDX
MTI:南非高等法院對比特幣詐騙公司MTI下達臨時清算令_比特幣市值跌破5000億美元什么原因知乎

南非高等法院最近對MirrorTradingInternational下達了臨時清算令,此前兩名投資者未能撤回其比特幣,并提出了救濟申請.

1900/1/1 0:00:00
ARE:邁阿密市長:愿意探索將邁阿密市儲備的1%投入比特幣的可能性_HAREC

MorganCreek創始人AnthonyPompliano發推文稱:“如果邁阿密市長FrancisSuarez將該市財政儲備的1%投入比特幣,你將愿意搬到邁阿密,同意的話請轉發這條推特.

1900/1/1 0:00:00
GRO:成都區塊鏈公司樂鏈科技獲1200萬融資,加碼“區塊鏈+音樂版權”發展_IMGC

12月25日,封面新聞記者獲悉,成都區塊鏈公司樂鏈科技于12月24日宣布完成1200萬元天使輪融資,由香投集團領投。作為成都新經濟領域的“硬核科技”,區塊鏈產業正成為自主創新主要突破口.

1900/1/1 0:00:00
區塊鏈:首個IEEE區塊鏈國際標準發布_PKEX價格

12月23日,由中國電子技術標準化研究院牽頭制定的IEEE2418.2-2020《區塊鏈系統的數據格式標準》正式發布實施.

1900/1/1 0:00:00
EFI:盡管市場出現調整,但華爾街人士仍在大量囤積比特幣_比特幣是什么時候有的

領先的數字資產基金Grayscale仍在繼續積累比特幣。技術分析師凱文·羅克指出:“Grayscale的BitcoinTrust在一天之內就向$GBTC添加了12,319枚BTC,這比上周比特幣.

1900/1/1 0:00:00
數字貨幣:2020全球央行數字貨幣競速:做快還是做對?_XSUSHI

回顧2020年,各國央行競速數字貨幣研發與測試。新冠疫情使得無現金支付趨勢加快,全球研發央行數字貨幣同樣加速。許多國家都對數字貨幣采取了積極開發,謹慎使用的態度.

1900/1/1 0:00:00
ads