Today I was explaining the Cosmos project to a friend, but I had some trouble explaining the interoperability between zones. For example, the docs state that Cosmos tokens can be transferred from one zone to another securely and quickly without the need for exchange liquidity between zones.
But how does that really work for lets say I have 10 Ether and I want to send it to a Bitcoin address. I understand the IBC principle:
The principle behind IBC is fairly simple. Let’s take an example where an account on chain A wants to send 10 tokens X on chain B. First, these tokens are locked on chain A. Then, a proof that these 10 tokens X are locked is relayed from chain A to chain B. Chain B tracks the validator set of chain A. If the proof is signed by more than 2/3rd of chain A’s validators, then it is valid, and 10 tokens X are created on chain B.
So in the example of sending Ether to a Bitcoin, the Ether is getting locked in the Ether zone of Cosmos. Then after validating that the Ether is being locked in the Ether zone, new “virtual” Bitcoins is being created in the Bitcoin zone. But how does it work when the receiver of the virtual bitcoins wants to extract those virtual bitcoins from the Bitcoin zone? As there is a finite amount of Bitcoins I don’t understand how this works. Or do you need a third party that accepts your virtual bitcoin and then transfers real bitcoins to an actual bitcoin address?