Cross-chain? You mean options!
After years of researching and designing cross-chain communication protocols, an interesting realization is:
Cross-chain protocols = trading options
No matter how exactly you swap, wrap, burn or move assets across chains — under the hood you are creating and trading options contracts. The option flavors may differ based on the cross-chain protocol but optionality is omnipresent.
Let’s showcase the example of the two most prominent types of cross-chain mechanisms: atomic swaps and wrapped assets.
Obvious case: Atomic cross-chain swaps
In a cross-chain swap, Alice wants to trade BTC (on Bitcoin) against Bob’s ETH (on Ethereum). The swap is called atomic because both Alice and Bob must end up with the other’s assets after execution.
To start, Alice and Bob agree to execute the trade and simultaneously lock their assets: Alice locks BTC on Bitcoin, Bob locks ETH on Ethereum.
The locks are constructed as follows:
Alice can claim Bob’s ETH — but if she does that, Bob can automatically claim Alice’s BTC on Bitcoin.
How exactly the locks are implemented (hashlocks & timelocks, timelock puzzles, or more fancy crypto) does not matter for our observation. The locks can as well be enforced by a centralized exchange.
Where’s the option?
Bob is selling Alice (or vice-versa) the option to trade his ETH against her BTC. Typically, Alice can exercise this option within a pre-defined timeframe, making cross-chain swaps American-style options.
The optionality of this is pretty clear and does not really require much explanation. For more discussion, check out this paper.
Less obvious: Wrapped assets
Wrapped assets, just like cross-chain swaps, are option contracts — albeit without expiry. That is, wrapped assets are perpetual option contracts that can be exercised at any time.
To create a wrapped BTC asset, Alice locks BTC on Bitcoin. How exactly this is done does not matter: with a centralized custodian, or a decentralized custodial network. In the end, BTC is locked and a wrapped BTC asset is created on Ethereum. Let’s call it ethBTC.
Where’s the option?
ethBTC is a perpetual option contract — that can be traded.
Why? Because whoever owns ethBTC has the right (but, typically, not the obligation) to trade it in 1:1 for BTC on Bitcoin whenever they want. The perpetual is thereby underwritten by the protocol/party issuing ethBTC.
(Example: In the case of centralized wBTC, this is BitGo. In the case of iBTC (interBTC) this is the smart contract that manages the decentralized network of vaults =custodians).
Alice can now trade ethBTC to Bob against Bob’s ETH in a simple on-chain swap on Ethereum (on any DEX). What actually happened is Alice traded Bob the option to claim the BTC previously locked by her, in return for Bob’s ETH. So a cross-chain swap after all.
That’s all there is. No matter which cross-chain protocol you use, you’re trading options, perhaps without knowing it.
Going philosophical: Cross-chain is also optional because it needs a trusted 3rd Party
Without elaborating too much on this — we dedicated an entire research paper to this topic (published at Financial Crypto 2020) — cross-chain communication always requires a TTP in some form. This can be a single, centralized manager, or a decentralized network. In the end, you trust that someone, somehow will deliver your message to the other chain and ensure that it’s executed (the actual proof is a bit more intricate — we “reduce” cross-chain communication to the fair exchange problem which is known to require a TTP, see paper for full discussion).
What does this mean? This means that you never know if you’re actually going to get what the protocol promised you: a successful swap or a wrapped representation of your locked asset on the other chain.
So, there’s optionality within optionality in cross-chain communication. If we consider that one of the chains might actually fail, then we get 3 levels of optionality.