Bridges and interoperability in the Polkadot space and the SORA ecosystem
We had a chat with Pavel Golovkin, Tech Lead at Soramitsu and core contributor to Polkaswap and SORA. Like many community members, we were wondering how bridges work, why it takes time to build them and what value they add to the SORA ecosystem.
Pavel, thank you for taking some time to elaborate on a few questions by the community around bridges and interoperability. Can you please elaborate: What are bridges in the blockchain space and what is their role?
In the blockchains space a bridge is a piece of software that allows to integrate blockchains in a way that people are able to use tokens and other assets from one blockchain in another blockchain. To be more specific, a Bridge allows you to send your tokens (assets) from one blockchain to another. This helps to build interoperability in the blockchain world.
Currently, the HASHI bridge is live since april 2021, and is so far the best Ethereum bridge we have seen and used. Can you elaborate a bit on the challenges you had building this bridge?
The main goal was to build a trustless bridge. It means that there is no single authority that controls the bridge. Also there was a XOR smart contract and VAL smart contract on Ethereum before the Bridge started. The HASHI Bridge has to support XOR, VAL and all the other tokens that exist in the SORA network. So the team had to solve 3 main tasks: 1. Developing a Trustless bridge 2. Implementing Multi token support 3. Native XOR and VAL support
And perhaps most importantly, bridge usage has to be smooth for users. Regardless if you transfer XOR, VAL or a token created on either Ethereum or SORA. All these goals were achieved.
Soon more EVM bridges are coming, and a Kusama bridge too. Can you elaborate on EVM and how it will be possible to connect to multiple Layer 1 blockchains soon?
EVM stands for Ethereum Virtual Machine (EVM). This is a computation engine which acts like a decentralized computer that has millions of executable projects. Some of the most popular EVM based blockchains are Binance Smart Chain, Polygon Chain, Avalanche Chain and Fantom Opera Chain. The HASHI bridge was designed in a way that supports multiple EVM. The technique is quite straightforward:
- Each EVM has unique identifier on the SORA side of the bridge
- For each EVM bridge SORA knows the list of supported tokens and the address of the Smart contract in EVM.
- Smart contract should be deployed to each EVM
Now we’re waiting for the BEEFY implementation and final Substrate 4 release by Parity in order to improve the HASHI bridge implementation and scale it to other EVM networks.
What is making it different or challenging to develop these EVM bridges compared to the HASHI bridge?
The main thing is that we’re using off-chain workers for creating and reading proofs for the Bridge transaction. And the number of off-chain workers is fixed. If we start scaling the HASHI bridge to other EVMs, then we should scale the number of offchain-workers. That's a bad idea. The good idea is to use SORA Validator nodes for generating proofs. BEEFY technology should be used for this purpose. So that’s why we’re waiting for the BEEFY release.
Sounds like you are ready for it ! Soon you will also launch a Kusama bridge, your first Substrate bridge. Can you elaborate on the similarities and differences from EVM bridges?
The common part of the bridge is that we should burn (or lock) tokens in the 1st network and mint (or unlock) tokens in the 2nd network. As you can see there are 2 transactions. And the 2nd transaction should use the result of the 1st transaction in order to prove its legitimacy. The main issue for a Kusama bridge (or any other relay chain or parachain bridge) is that Substrate uses a different consensus compared to Ethereum. Parity is working on a bridge framework that should cover all the requirements that we have for such a bridge. So we’re waiting for the official release.
What will the impact of this bridge be on Polkaswap?
As I mentioned in before, bridges are used for blockchain interoperability. The minimal impact is that having a Kusama (or other relay chain or parachain) bridge allows the use of Kusama’s (or another relay chain or parachain’s) tokens in the SORA ecosystem, including the Polkaswap DEX.
A specific and exciting feature of Kusama and Polkadot is XCM, or Cross-consensus Message Format. Can you elaborate on what this is, and what is the difference with bridges?
XCM is something new in the blockchain world. It makes interoperability implementation easier, faster and more reliable. Having XCM support, the SORA ecosystem will be able to make fast, low-fee transactions with the Kusama relay chain and with other parachains. ** XCM has 2 protocols: VMP (Vertical Message Passing) and XCMP (Cross-Chain Message Passing). Can you explain how these work and what the differences are?**
VMP is a way of delivering messages to parachains from the relay chain. There are 2 types of VMP:
- DMP - Downward Message Passing, which is a mechanism for delivering messages to parachains from the relay chain.
- UMP - Upward Message Passing, which is a mechanism responsible for delivering messages in the opposite direction: from a parachain up to the relay chain. Upward messages are essentially byte blobs. However, they are interpreted by the relay-chain according to the XCM standard.
XCMP is a message passing mechanism between parachains that requires minimal involvement of the relay chain.
Focusing on Polkaswap: What will the user experience be like once bridges and XCMP are fully live and operational?
Polkaswap should be a DEX that is able to operate with tokens and NFT from Ethereum (and other EMV chains), Polkadot (and its parachains), and Kusama (and its parachains). It’s a high level vision and it might change while the ecosystem is growing. The goal is that the user does not have to worry about the different chains. He should have an easy experience with seamless transactions.
To conclude: Team SORA is ready to finalize the Kusama and EVM bridges once BEEFY and Substrate 4 are released. This will bring other substrate tokens to Polkaswap and make transfer of the SORA natives tokens to other chains possible.
Still have questions?
Join our Discord discord.gg/bdNJMYXc8R