July 12, 2019
At the infrastructure level, today’s hot research topics are centered around fast consensus without compromising Byzantine fault tolerance, sharding without compromising security, and cross-chain communication without giving up efficiency. As of late, cross-chain communication has received the most attention due to the recent launch of Cosmos and Polkadot (getting close!).
Cross-Chain Communication — Such A Simple Principle
Many pundits argue that public blockchains will consolidate to only a handful in the future; however, there are many scenarios in which a new public blockchain is needed.
- Scenario A: the existing blockchains one wants to build on may not offer the properties (e.g., privacy-preserving computation) and customizability (e.g., process and storage of data) that applications require;
- Scenario B: one needs a different governance model that existing blockchains don’t support — building an application on a smart contract platform forces an application to adopt the governance rules of the underlying protocol.
That’s why the future world will be comprised of hundreds (if not thousands) of distinct public blockchains. Figuring out how these blockchains communicate with each other is our next great challenge.
All ideas around cross-chain communication start with Adam Back’s paper “Enabling Blockchain Innovations with Pegged Sidechains” which illustrates a simple yet surprising fact about how to transfer asset X from blockchain A to blockchain B. It turns out the “transfer” is, in fact, an illusion. Asset X is not “transferred” but temporarily locked on blockchain A, while the same amount of equivalent Asset X is minted on blockchain B. This is called pegging and doing this in both ways is two-way peg (2WP).
All 2WP systems are voting-based, such that a group of “witnesses” vote on when to unlock asset X and where to send it. This begs the question — how much trust should we put into this group of witnesses? The simplest approach is to have a single and trusted witness do the job (e,g., crypto exchange). However, a better approach is to implement 2WP where a group of witnesses must approve to unlock/move assets.
In the case of a sidechain, this group of witnesses represents stakeholders (e.g., miners, delegates, BPs) from both blockchains A and B, which works but introduces technical complexity. For blockchain A, implementing logic at the protocol level to communicate with blockchain B (which may upgrade as time goes by) is a burden. The problem more involved when introducing blockchains C, D, E, etc. into the picture.
A different approach is to have a common group of witnesses which facilitates communication across a network of blockchains, which is the intuition behind Cosmos Hub, Polkadot Relay Chain, and IoTeX Root Chain. Each project employs different approaches and cryptoeconomics to make their common group of witnesses trustworthy and adaptive to many heterogeneous blockchains. Cosmos assumes each blockchain has their own validator set, security, and consensus, while IoTeX and Polkadot utilize a shared consensus pool and “security by default” to make the blockchain onboarding process easier. Compared to Polkadot whose mission is to connect all blockchains in the world, the goal of IoTeX’s cross-chain communication is different and more concrete: to provide interoperability for all Layer 2 chains running within the IoTeX Network. All of these Layer 2 chains will be used for different aspects of IoT applications, such as storage, identity, trusted computing, IoT data marketplaces and more. All in all, the cross-chain communication is another effort human being makes to realize the vision of the Babel tower.
Why Cross-Chain Communication Matters
Blockchain is all about decentralization and security, which can be further enhanced by cross-chain communication. More specifically, cross-chain communication allows assets to flow across different blockchains seeking:
- Different levels of security (e.g., faster transaction vs. stronger anti-censorship)
- Distinct properties (e.g., plaintext transaction vs. confidential transaction)
- Various applications (e.g., DeFi vs. gaming)
Cross-chain communication also enables the decoupling of crypto assets and their manifesting, underlying blockchain. Although this may seem trivial, this decoupling enhances current blockchains in many meaningful ways.
First of all, it allows various teams/projects/chains to focus on different aspects of blockchain technology while making them collectively useful and impactful. For example, imagine two blockchains: “blockchain 1” focuses on user experience, (e.g., top-notch wallets, application interfaces) and “blockchain 2” focuses on anti-censorship, making it slow and difficult for normal users to operate. What will happen naturally is users will transfer assets from blockchain 2 to blockchain 1 for ease of use and transfer back for long-term saving.
Secondly, it enables the rapid evolvement of blockchain protocols. Relatively mature protocols are facing a dilemma of better security vs. faster evolution — rapid progress usually means breaking things while great security implies some sort of stagnation. With cross-chain communication, moving assets around have almost zero cost. Therefore, one could theoretically create a copy of Ethereum as a canary ground, iterate on it rapidly, and eventually move all assets from Ethereum to this new canary ground. If the new canary ground is not ideal, all assets can move back which is a fantastic property that a fork cannot provide. In the long run, the chain that attracts the most assets will be the most prosperous one. Those unable to attract assets are recessionary and will eventually die out.
Last but not least, it allows the “lending of securities” that may have a profound impact on governance structures in the blockchain space. One manifestation of lending securities is a novel concept called cross-chain governance, which we explain in the following section.
A New Paradigm — Cross-Chain Governance
When we first launched the IoTeX Root Chain in April 2019, we were faced with a challenging problem of how to securely bootstrap a new blockchain, which boils down to what we call Egoistic Delegates. As there were limited voters at the very beginning, early stakeholders could easily control many Delegate seats and drop governance transactions that were against their interests. For example, dropping voting transactions from block production would prevent new delegates to join.
To securely bootstrap the IoTeX Mainnet, we invented cross-chain governance. This means governance activities happen on a more mature blockchain while the governance results are applied to a less mature blockchain. The IoTeX Network currently has assets on two public blockchains — Ethereum (IOTX-E are used for governance) and IoTeX Rootchain (IOTX are used for utility). IOTX and IOTX-E comprise the total supply of 10 billion tokens and are exchangeable using IoTube, which is a decentralized bridge between Ethereum and IoTeX.
Although interchangeable, IOTX-E and IOTX have different properties and are thus used for different purposes. IOTX-E is designed to have low liquidity (ideally low trading volume, slow to move around) and more security for governing the IoTeX Network (see http://member.iotex.io). IOTX is designed to have high liquidity (ideally high trading volume, fast to move around) for operations and applications within IoTeX Network. That being said, IOTX and IOTX-E are equivalent in their value. This is analogous to Google stock which has Class A & C shares — Class C shares have no voting rights, while Class A shares have one vote each. With this structure, it is impossible for Egoistic Delegates to drop governance transactions that were against their interests, and it makes it effective to the re-election and slashing of delegates.
We also found this cross-chain governance to effectively mitigate Long Range attacks, which is a general concern for all PoS blockchains. In short, a Long Range attack is when a large, early stakeholders spend their tokens, create a branch on the blockchain starting from the very early blocks, and overtake the main chain. Since the staking/voting history is on Ethereum, this provides enough resistance to counter weak subjectivity (as it is a PoW chain and 51% attack is super expensive).
Some Crazier Ideas
This is just a start of what cross-chain communication and governance can bring to the table. There are many crazy ideas that IoTeX is researching and exploring. Here are a few examples!
How can a young blockchain carry and operate assets of value X on a blockchain with total tokens of value Y, where X > Y?
An attacker with large budget buys their way into controlling ~⅔ (or even all) block producer slots, with the intent to steal assets. The current solution to this question is “wait-and-grow” this chain, which could be time-consuming. One experiment we are working on internally is called multi-asset cross-chain governance — Delegates, in addition to staking IOTX-E, may stake other assets such as NUSD, WETH, WBTC to construct a cryptocurrency basket. The value of this basket can be easily calculated using Chainlink oracle and used to rank candidates and share rewards (which is IOTX). The multi-asset staking will likely increase the total amount of assets staked and make the chain secure. This is only possible together with cross-chain governance as many other assets are likely to live on a mature blockchain.
How to throttle “nothing at stake” attack without introducing too much complexity at the protocol level?
The “nothing at stake” attack is another general concern for all PoS blockchains. It means every Delegate will build on every fork if/when a fork takes place as there is almost zero-cost to produce a block (unlike in PoW chains) and maximize their financial self-interest. To mimic what happens on a PoW chain, each delegate spends X tokens to produce a block and is rewarded Y tokens if the proposing succeeded, where X < Y. This is somewhat equivalent to slashing the equivocating delegate by confiscating a portion or all of its stake/deposit. On the same chain, this slashing is non-trivial under the assumption of Egoistic Delegates where the delegate and its conspiring delegates can selectively drop slashing transactions. Cross-chain governance allows a victim to send proofs to Ethereum and ensure equivocating delegates are slashed.
All in all, cross-chain communication opens the door for many interesting designs and applications. For the first time in the blockchain industry, we will soon permit chains to “borrow” assets, security, and properties from other chains. We see this as a new paradigm when it comes to the design of the blockchain systems.