跨链Cosmos(8)同构跨链交易流程
1. 哈希鎖定
A鏈上的Alice發(fā)送100個(gè)ATOM代幣給B鏈上的Bob
step1. Tracking
A鏈上的IBC模塊會(huì)不斷的同步B鏈上的區(qū)塊頭信息,B鏈上的IBC同理。通過這種方式,雙方能夠?qū)崿F(xiàn)跟蹤對(duì)方區(qū)塊鏈上的驗(yàn)證者集合的變化,本質(zhì)上來說,就是A鏈、B鏈相互維護(hù)了一個(gè)對(duì)方的輕節(jié)點(diǎn)。
step2.Bonding
當(dāng)使用IBC初始化一筆跨鏈轉(zhuǎn)賬之后,A鏈上的100個(gè)ATOM事實(shí)上處于鎖定的狀態(tài)。
step3. Proof中繼
一份證明A鏈上已經(jīng)鎖定100ATOM的“證據(jù)”會(huì)被路由到B鏈上的IBC模塊。
step4. 驗(yàn)證
B鏈結(jié)合A鏈的輕節(jié)點(diǎn)信息,對(duì)這份“證據(jù)”驗(yàn)證通過之后,B鏈上會(huì)“鑄造”100份ATOM Voucher(抵用券),這些Voucher可以進(jìn)行后續(xù)的流通使用。當(dāng)然這些Voucher也可以通過同樣的跨鏈方式返回到A鏈,A鏈上的ATOM代幣相應(yīng)執(zhí)行解鎖的操作。
2. 操作步驟
step1. 用戶將跨鏈交易包Tx發(fā)送到A。A執(zhí)行packageTx,銷毀或鎖定相關(guān)資產(chǎn)。
step2. A將packageTx寫入出口。出口可視為放置所有外部通知的跨鏈交易的郵箱。
step3. 中繼器監(jiān)聽到鏈A中發(fā)生的事件,將跨鏈消息從鏈A的出口轉(zhuǎn)發(fā)到鏈B的出口。在這種情況下,中繼器在鏈A的出口中查詢packageTx,并獲得packageTx的Merkle證明。該信息被打包到IBC Package PostTx事務(wù)中并發(fā)送到鏈B。中繼鏈還將區(qū)塊頭信息打包到IBCUpdate Chain Tx中,并將其發(fā)送到鏈B。
step4. 鏈B查詢關(guān)于packageTx位置的區(qū)塊頭信息。注意中繼器支付了IBC Package PostTx和IBCUpdate Chain Tx的交易成本。
step5. 鏈B接收到IBCPacketPostTx事務(wù)后,它首先通過該鏈中的驗(yàn)證器檢查IBCUpdateChainTx中的區(qū)塊頭是否為鏈A的一部分,然后驗(yàn)證IBCPacketPostTx中跨鏈?zhǔn)聞?wù)的Merkle證明是否等于該區(qū)塊IBCUpdateChainTx中的頭哈希。當(dāng)所有支票都通過時(shí),B鏈開始執(zhí)行相關(guān)操作(對(duì)于B鏈,這意味著生成相關(guān)資產(chǎn)等)。
總結(jié)
以上是生活随笔為你收集整理的跨链Cosmos(8)同构跨链交易流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跨链Cosmos(10) IBC接口
- 下一篇: 跨链Cosmos(9)异构跨链交易流程