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