以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 非小號 > Info

ACK:走進Cosmos之入門

Author:

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

導讀

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

從技術層面看,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間接通信。

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

LABEL Foundation獲得DWF Labs 100萬美元投資:金色財經報道,韓國區塊鏈音樂組織LABEL Foundation已Web3投資公司DWF Labs的風險投資。DWF Labs已向LABEL的生態系統注資100萬美元,以促進其開創性Dapp TRACKS的發展,并通過向市場推出創新解決方案來擴大其用戶群。

多年來,LABEL Foundation已經籌集了兩輪成功的投資,由傳統投資公司eBest Investment&Securities和Groom Investments領投。[2023/4/10 13:54:41]

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

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

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

Cosmos架構

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

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

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

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

研究:USDC在以太坊的采用率在FTX崩潰后增長:金色財經報道,雖然USDT是市值最大的穩定幣,但USDC的轉賬量更大。以太坊上的USDC采用率在FTX崩潰后保持增長;USDT保持平穩。根據Glassnode的數據,USDC的轉賬量為150億美元,而USDT的轉賬量為30億美元。此前,由于幣安決定將用戶在USDC和其他穩定幣中的余額轉換為其BUSD,USDC在2022年的采用率有所下降。然而,隨著FTX崩潰誕生FUD,導致幣安的提款創紀錄,USDC的采用在年底開始出現上升趨勢。[2023/1/11 11:06:23]

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

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

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

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

交易流程

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

▲?普通交易

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

普通交易Msg:

巴西的FTX客戶正準備對FTX提起集體訴訟:11月18日消息,巴西的 FTX 客戶正準備對 FTX 提起集體訴訟。原告是 FTX 破產時在交易所持有超過 10 萬美元的客戶,當地加密貨幣礦業公司 Arthur Mining 牽頭提起訴訟。訴訟將在美國或巴哈馬群島提起。Arthur Mining首席執行官 Ray Nasser 表示,我們公司根本沒有接觸過 FTX,但我們希望支持受害者。很多人都受到了影響。[2022/11/19 13:23:17]

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

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

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

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

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

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

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

Yuga Labs聯創:要把Otherside打造成“Web3原生Roblox”,不會設置圍欄花園:金色財經報道,Bored Ape Yacht Club和Yuga Labs的聯合創始人Wylie Aronow和Greg Solano在最新采訪中分享了他們對Yuga的“Otherside”元宇宙游戲的愿景,并表示要把Otherside打造成“Web3原生Roblox”,即:在具有NFT資產的視頻游戲上押下重注,但不會創建一個“圍欄花園”。 Wylie Aronow表示:“元宇宙的想法不是為你建造一個圍欄花園,有些游戲隨著時間的推移就像另一個Web2 MMORPG,對我來說,這不是創新,我喜歡讓社區一起兜風的想法。”此外,Wylie Aronow透露Otherside游戲并不是給兒童,而是給成年人設計的。(decrypt)[2022/10/19 17:31:55]

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協議的響應數據包,包含跨鏈交易執行成功或者失敗的狀態。

美CFTC將34個加密和外匯交易公司標記為未注冊的外國實體:金色財經消息,美國商品期貨交易委員會(CFTC)周四宣布,在其注冊不足名單(RED List)中添加了34個加密和外匯交易公司,包括fx-cryptex、directcryptos、Cryptospherefx等等,并警告美國用戶和金融服務提供商不要訪問他們的服務。CFTC的RED名單于2015年推出,現在有202個實體。

CFTC公告表示,“在當今的全球市場上,在美國境外經營的外國實體可以通過電子郵件、短信、即時消息、聊天應用程序或社交媒體接觸潛在的美國客戶,并邀請他們投資、轉移、或存入資金,或通過在美國境外創建和維護的平臺進行交易。”[2022/7/15 2:14:29]

/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共識詳解,敬請期待!

作者簡介

江哲

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

Tags:MSGACKMOSCOSmsg幣怎么交易BlackBerry NetworkCosmostarterCOSMIK幣

非小號
區塊鏈:中國人大宋科:央行數字貨幣核心特性是法定性和數字性

近日,中國人民大學財政金融學院黨委副書記、國際貨幣研究所副所長宋科在CMF宏觀經濟熱點問題研討會上發布了CMF中國宏觀經濟專題報告.

1900/1/1 0:00:00
比特幣:觀點:比特幣未來屬于機構基金大企業資產配置,市值上漲對加密貨幣是好事情

微博大V“區塊鏈威廉”今日發文稱,比特幣的未來是屬于機構基金大企業等的資產配置,畢竟到一定體量之后再指望散戶買已經不太現實了。越來越難了.

1900/1/1 0:00:00
區塊鏈:超級君:比特幣抵達P站,每日1億人看的網站

很多年之前,我還在北京創業,曾受邀去深圳做一場演講,受眾是券商、銀行、保險等傳統金融從業人員,演講的主題是比特幣.

1900/1/1 0:00:00
比特幣交易:比特幣24小時資金凈流出4億人民幣,行情焦灼,警惕回落風險

作者|哈希派分析團隊 比特幣全網未確認交易3092筆:金色財經消息,據btc.com數據顯示,目前比特幣全網未確認交易數量為3092筆,24小時交易速率為3.05txs/s.

1900/1/1 0:00:00
BLO:辭職還注銷了電報賬號的EOS創始人,下一個項目是啥?

EOS再一次上了幣圈熱搜,這一次,EOS創始人DanielLarimer宣布辭去自己在EOS母公司Block.one?的CTO職位.

1900/1/1 0:00:00
BLI:“鋼鐵俠”馬斯克談比特幣:不會拒絕接受比特幣支付

1月10日,SpaceX和特斯拉創始人ElonMusk在評論《比特幣億萬富翁》作者BenMezrich“自己再也不會拒絕接受比特幣支付”的推文時表示,“我也不會拒絕.

1900/1/1 0:00:00
ads