Introducing Horizon: An Ethereum-Harmony Cross-chain Bridge
(This blog is originally published on Oct 19, 2020 and now reposted here.)
ho·ri·zon /həˈrīzən/: the line at which the earth’s surface and the sky appear to meet.
Harmony has launched Horizon, the first version of its Ethereum-Harmony cross-chain bridge, on the mainnet. This is the foundation of many upcoming initiatives designed to bolster a vibrant crosschain ecosystem on Harmony that will allow users and developers to smoothly interact with multiple chains. When you feel like you have reached the natural limitations of a blockchain, that is where we will meet you — at the Horizon.
Horizon opens up the gates for assets to flow freely between Harmony and Ethereum blockchains and will enable users to bridge any ERC20 token, as well as LINK and BUSD. Horizon will be released in phases with the next phase being fully trustless and permissionless.
Go to https://bridge.harmony.one/ to start using.
Welcome BUSD and LINK on Harmony
Horizon enables the secure bridging of two important assets to our chain: BUSD and LINK. As the first official stablecoin on Harmony, BUSD will pave the way for many of our ecosystem projects to utilize cheap and fast value transfer. With LINK and Chainlink Oracle deployed on mainnet, Harmony ecosystem projects will be able to provide ONE-ETH atomic loans and many more use cases by using trustless oracle.
A bridge is a technology that connects two blockchains by using two flows with the ability to verify crosschain transactions:
i) transfer assets flow: assets are locked on Ethereum and equivalent amount are minted on Harmony
ii) redeem assets flow: minted assets on Harmony are burned and the equivalent amount are unlocked on Ethereum
We optimized for four principles in bridge our design:
- Trustless: the bridge is as safe as the blockchains that it is connected to, with no additional security assumptions
- Decentralized: no single point of failure
- Fast and efficient: facilitates frequent and low gas cost transfers between chains
- Seamless: hides the complexity of blockchains, no need for entering block hashes, merkle roots
In order to address the critical need for a bridge in the short term, we will follow a multi-phase approach. This initial version of the bridge is focused on providing a seamless and low-cost solution for bringing assets to Harmony in a trusted yet secure manner. The final phase of the bridge will be fully trustless and decentralized.
Ethereum-to-Harmony (transfer assets) flow:
- A user requests the bridge to transfer his/her ERC20s and provides the Harmony address to receive 1:1 HRC20s on Harmony, by authorizing the bridge to lock their ERC20 assets.
- The bridge hosts a set of validators who listen to this request, perform lock, wait for enough block confirmations on Ethereum to ensure finality (finality ensures that the lock transaction never leaves the Ethereum chain).
- Upon confirmation, bridge validators request HmyManager to mint the HRC20 assets and transfer to recipient user account
Harmony-to-Ethereum (redeem assets) flow:
- User requests the bridge to take back HRC20s and provides an Ethereum address to receive 1:1 ERC20s in Ethereum, by authorizing the bridge to burn those HRC20s.
- The bridge validators capture this request, perform the burn transaction on Harmony and request the bridge contract on Ethereum to release the locked ERC20s to the user specified account.
Some key properties:
- The ERC20 to HRC20 mapping is established by the token manager smart contract on Harmony that keeps track of all the bridged tokens (users can verify that the tokens they receive are indeed from the bridged token contracts)
- The user only pays for bringing their assets to Harmony in terms of two Ethereum transaction costs, which requires around 50K gas each (equivalent to 0.0025 ether at 50 Gwei gas price or $0.875 at $350/ether). In total, a user is expected to spend ~$2-$5 for bringing their assets to Harmony. The redeem asset cost is paid by the bridge.
- The time it takes for bridging the assets is under 5 minutes. Similar time for redeeming the assets back from Harmony to Ethereum.
- The bridge is secured by the set of validators who submit their confirmations through the multisig contract about the cross-chain transactions (lock on Ethereum, burn on Harmony).
- The bridge also allows permissioned tokens to be deployed on Harmony to avail the full-features of the token on the Harmony chain. For example, LINK token contract is deployed on Harmony using the actual contract (contract) instead of HRC20 to enable payment to oracle smart contracts on Harmony that will serve ONE-ETH price feed. This feature is essential for partner integrations such as for BUSD and LINK.
- The bridge is fully audited by Peckshield.
Next up: Grantees, Hackathon and Trustless Horizon
Many of our grantees and partners have been waiting for the Ethereum-Harmony bridge to launch. In the next few weeks, we expect a surge of bridge transactions and bridged assets on Harmony. A few of these projects to keep an eye on: Unifi Protocol, Swoop Crosschain DEX, Wafflehouse.io, Blits, and more.
Being developer-friendly is one of our top priorities and soon we will release the bridge APIs and supporting services to enable any developer or application to directly utilize Horizon. This will allow any application to swap assets and use them within the application on a single interface.
We are also working towards the trustless and decentralized version of Horizon. A white paper on our novel design is expected to be released soon. It will describe our innovations towards gas-efficient light clients, trustless cross-chain block relayers, and efficient provers and verifiers, while keeping our end goal of: trustless, decentralized, cost effective, and seamless cross-chain bridge.