跨鏈專案總結-cosmos
阿新 • • 發佈:2019-01-07
Cosmos--側鏈模式星形方式
1.特點
其主要目的是構建並行化的區塊鏈系統,而不是已有區塊鏈的互聯互通,因而存在以下特點:
(1)直接和Hub互動的Zone必須使用Tendermint共識。
(2)提供了專用Tendermint SDK,只有使用該SDK開發的新區塊鏈,才能收發IBC報文。
(3)已有區塊鏈,必須藉助複雜的橋接技術,才能夠接入Cosmos系統。
2.例子
Alice 想從在Zone X的Alice賬戶中轉30 winks 到 Bob在Hub這個Zone下的Bob賬戶
- Zone X 凍結30 winks(給某個託管方),建立IBC packet (包的目的:請求Hub在Bob的賬戶中產生30winks)(Zone X的validator set保證了這30個winks已經在X上破壞了,確保Hub上未來的鑄幣不會導致wink的總額變化)
- 任何人都可以執行client software (can take a proof of that IBC packet from zone X and post it to the hub.),從Zone x中提取IBC包,並將其傳遞到Hub
- Hub 驗證區塊頭 、 merkle proof 、序列號,來確認包是一個來自Zone X的有效的IBC包,有兩種可能:
- Zone X在Hub上有足夠的信用(credit)去鑄造30個winks ->Hub 接受這個IBC包,Hub鑄造30個winks,並放到Bob的賬戶下,儲存 IBC包+一系列成功操作的記錄,放入incoming queue 中
- Zone X 在Hub上信用不足,包被拒絕 –>沒有幣被鑄造,失敗記錄會記載入queue中
- 交易在Hub上成功/不成功執行後,將事務(連同證明)返回到Zone X,以完成這個迴圈。 -> a receipt
Receipt : 另一種型別的IBC 包,執行方式與傳送方式(Hub執行的方式?)一致,在原始Zone X上執行收據不會導致error
- 交易是成功的: Zone X 會 destroy 被託管的30個winks(之前被凍結了),並且30 個wink被成功的發出了
- 交易是被拒絕的:託管方會將之前凍結的token返還到Alice的賬戶,彷彿之前什麼都沒有發生
3.
Tendermint