Over the last few months, we have been working hard on a new interoperability protocol design. Since launching the original POA20 Bridge on May 2018, POA has been continuously improving and expanding the technology to explore new use cases for the TokenBridge. Interoperability is at the core of everything we do in POA Network, and today we’d like to discuss our latest interop development: the Ethereum to Binance Chain Bridge (ERC20 - BEP2 bridge).
Binance Chain is a blockchain software system developed by Binance and its community. It is a blockchain which currently houses Binance DEX, a decentralized exchange with features developed on top of Binance Chain. Using the new chain, you can issue tokens to digitize assets and use the network to exchange and transfer assets. Binance DEX is home to many bridged assets from Ethereum, and with BEP3 (Binance Evolution Proposal 3), Binance is already preparing for bridge-based transfer. According to the Binance github repo on Bep3:
“Binance Chain serves fast transferring transactions and also high capacity asset Exchange, which have benefits a lot assets issues on it. However, there are major cases Binance Chain itself cannot satisfy:
- Assets have complicated token economies themselves, such as DeFi.
- Assets serve as native tokens on other blockchains.
For these tokens, the best way to use Binance Chain is to spread the tokens on multiple chains. One can issue or peg part of total token supply on Binance Chain to enjoy the speed, fast finality and powerful exchange, meanwhile keep other benefit and necessity on other chains. Many new requirements are imposed for such model:
- there should be an easy way for users to swap unidirectionally or bidirectionally between Binance Chain and the other chain, better in a trustless way;
- there should be restrictions and/or transparency to ensure the total supply of tokens remained the same, and no one, even the issuer cannot freely change the circulation at will;
- there should be an easy way to calculate how many tokens are in circulation on each chain of both sides.”
While the BEP3 proposal is still in development, BEP2 has already been implemented. This means it is possible to enable a ERC20 - BEP2 bridge, where ERC20 tokens on the mainnet and BEP2 tokens on the Binance Chain can move freely between chains. Using the same technology which powers the POA20 Bridge, xDai bridge, and others, the TokenBridge is modified to connect two chains running separate protocols (in this case an EVM-based chain and the Binance Chain) in order to lock and unlock cross-chain assets. A single bridge instance is created for each token pair.
While the mechanics remain largely the same, we incorporate some new methods to create a bridge between Ethereum and the Binance Chain. The main differences include:
- With other TokenBridge implementations, validators use multisig wallets to manage transfers. The Binance Chain does not support multisig functionality, so a single signature must be generated. To account for this, a threshold signature scheme is used to signal majority validator approval for asset transfer.
- In the TokenBridge design, new tokens are minted on the foreign bridge when tokens on the home bridge are locked. In the ERC20 - BEP2 Bridge, the price of minting tokens for every transfer is too expensive. Tokens on the Binance Chain should be minted in advance, so that the bridge only needs to unlock these pre-existing tokens.
The POA team is currently working on the final proposal for the bridge, and over the next few months we will be showcasing the importance of interoperability for the ecosystem as a whole. For more details, check out the original proposal by the TokenBridge team lead Alexander Kolotov here which dives into more technical details about how we envision the bridge will work.