Cross-Chain Bridges: Paving the Way to Internet of Blockchains
We build too many walls and not enough bridges
Blockchains have already proved their great potential in areas like finance, identity management, decentralized web, cloud storage, asset-management, and governance. And yet real world businesses are not quick to adopt the technology. There are many potential reasons for that, but we, at POA Network, see two main ones:
- Scalability. The largest networks are struggling to process the ever increasing number of transactions. Congested networks become slow and expensive. With the current block times, existing public networks are very, very far from being able to run apps with millions of users and serve the practical needs of businesses.
- Connectivity. Each blockchain now has to create the whole ecosystem with its users, DApps, and a native currency. Existing blockchains operate in silos and do not communicate with each other. Switching and transferring assets from chain to chain is hard, if possible at all. Such lack of interoperability is a big impediment to the mass adoption of the technology.
The issues of scalability and connectivity are intertwined by nature: enabling connectivity among blockchains can be viewed as a path to blockchain scaling. The main Ethereum scalability solutions, like Plasma and sharding, assume running parallel chains (“parachains”) or chain partitions (“shards”) that can communicate with each other. While potentially powerful, these solutions require an extensive implementation schedule.
Similarly, various teams, such as Cosmos and Polkadot , have recently offered blockchain connectivity solutions for networks running on various protocols, regardless of their consensus mechanism. This is a noble goal, and its achievement will greatly benefit the community, but by nature, the task requires a lot of time to complete.
Long story short, as of today, there isn’t really an immediate and practical solution built with a vision for scalability and designed for connectivity.
As more projects build DApps on top of Ethereum network, it becomes more overloaded and subjects projects to high transaction fees and slow block times. Even though there are other networks that are more high-performing and cheap, the switching cost of migrating the assets from one network to the other is prohibitively high. Unless you can seamlessly move from one chain to another, you can become stuck and have to deal with performance issues and high fees.
To bring the future of connectable blockchains closer in time, we at POA Network decided to start small and created a cross-chain bridge that is capable of connecting any Ethereum-compatible networks (such as Ethereum Classic, Ubiq, Expanse, Oracles POA Network, Rootstock and others ) to each other. To do so, we took the components of the simple Parity bridge available in open source , modified them, and built the ready-to-be-used solution. Our cross-chain bridge is an open source project that any industry player can use with or without modifications.
What is the value that cross-chain bridges bring to the community?
In the pre-bridges world, there was no way of transferring funds directly between blockchains. For a chain to be viable, it had to have a self-sustaining ecosystem. Since an ecosystem is not easy to build, many small chains were not able to develop long-term. Many projects, on the other hand, choosing to build on Ethereum blockchain, would soon find themselves captive to the high transaction fees on the congested network.
With cross-chain bridges, having your business built on a small network doesn’t mean that you can target only the clients that are also on this network. Now the value can travel seamlessly between the two Ethereum-compatible chains.
Practically it means that a project can move some intense computations to a chain with faster performance and significantly cut operating expenses. For example, 90% of tokens can remain on the main Ethereum network, while 10% of the tokens — can move to a different, more cost-efficient, network for the purpose of computations.
A good case in point would be our recent partnership with BitClave, a decentralized search engine. With the help of Oracles POA Network, BitClave can have multiple sub-chains for specific geographic regions to enable hyper-localized search for its users. Individual sub-chains allow for cheaper and faster transactions, while tokens can still move freely between them and the main Ethereum network, providing necessary flexibility.
Having cross-chain bridges in place gives projects freedom of choice and opens up fair competition: if one network is cheaper or faster than the other one, assets can move freely.
Additionally, the cross-chain bridge is a solution for blockchains that need to follow specific regulations. Such blockchains can comply with local jurisdictions’ rules and yet connect with each other to transfer value via the bridge.
A long-term vision…
As we are making the first steps bridging Ethereum-compatible networks, we are definitely looking into the future. It is no secret that the future lies in connecting blockchains with different consensus mechanisms. And it is definitely a long-term aspiration that POA Network is looking at. Enabling connectivity with Exonum is a good example to illustrate such trajectory. Exonum is a framework allowing to build decentralized, secure and reliable applications by allowing a company or a government to launch a tailor-cut private or permissioned blockchain with the security of Bitcoin Blockchain.
Particularly fit for uses like E-voting, E-auction, E-coin, and Government registry, we envision Exonum to be an asset issuer transferring and trading value across the bridge into other POA networks and back.
…and an immediate use case
One of the immediate use cases of cross-chain bridges is a cross-chain tokensale, a new way to conduct crowdsales. POA Network will be the first to pioneer this practice. In this scenario, we, POA Network team, will utilize cross-chain crowdsale contracts, collecting funds on the main Ethereum network while issuing tokens on another, more high-performing and cost-efficient Ethereum-compatible POA Network. On December 1, 2017, the first cross-chain public token sale will go live (see the tokensale details here).
From a technical standpoint, a bridge for a cross-chain token sale is an app which runs on multiple computers with two contracts on both sides of the bridge. On the left side of the bridge (Ethereum), the app listens to events from the crowdsale contracts, and on the right side of the bridge (Oracles POA Network), it creates tokens corresponding to these events. The contract on the right side of the bridge accepts transactions signed by authorities of the POA consensus. A subset of validators on Oracles POA Network runs the bridge software. If you trust authorities of the POA Network, then you inherit this trust into the bridge, i.e. the assets are transferred in a trustless manner.
As the result of cross-chain tokensale, tokens on main Ethereum network will be locked and will indicate a contributor’s participation. The contribution amount will be transferred to POA Network using the cross-chain bridge. After the crowdsale ends, a special treasury contract will be filled with coins from premine, and tokens become unlocked to be exchanged for coins. After that, the network will connect to an exchange to enable secondary trading (see a step-by-step process below).
Closing the gap between collecting the tokensale contributions and issuing a native coin would eliminate a lot of uncertainty for supporters of protocol-based projects. More generally, cross-chain bridge technology has the power to become that scalability-through-connectivity solution. It will bring to life new types of interactions between blockchains (atomic swaps, outsourcing calculations to cheaper networks, assets migrations, and etc.) and will be a first step towards the internet of blockchains environment that blockchain projects need in order to accomplish their ambitious goals.
Steps to perform the cross-bridge transaction
Step 1: Select two networks (left side of the bridge is where the value is transferred from, right side of the bridge is where value is transferred to) and an action you want to perform (ERC20 swap or a crowdsale).
Step 2: Define the parameters of the bridge mechanics
- Specify a token contract on the left side of the bridge and create a new token contract on the right side of the bridge.
- Select a subset of authorities who will be accepted on the right side of the bridge.
- Specify the multisig strategy to unlock the token on the right side of the bridge (e.g., only 1 of 2 is required to unlock the token).
- Create a daily limit to protect the builder of the bridge from malicious authorities.
- Decide how much each validator will receive for each transaction over the bridge.
Step 3: Download the config for validators. After that, they launch a bridge node and provide config. That’s it: the bridge is set up!
Please see Igor’s interview, explaining the details here:
To read more about the POA Network ecosystem visit the following for more information:
Project Website: https://poa.network/
Project Forum: https://forum.poa.network/