A smart contract enabled sidechain protocol bridging between virtual machine based, layer 1 chains and Cardano. Interchain operability with a seamless UX.
The sidechains built by the Milkomeda team act as blockchain bridges, enabling cross-chain interoperability between Cardano and some of the most popular layer 1 blockchain solutions and the dApps built on them. These sidechains are building on top of Cardano and, while enabling interconnect-ability between blockchains and the porting of projects from one chain to another, they will use wrapped ADA, called milkADA, as their native currency.
MilkADA is needed to pay fees and gas for transactions executed on the sidechain. These sidechains are run by validators who will initially be made up of a small group of Cardano stake pool operators, SPOs. Eventually, governance of these sidechain protocols will be undertaken through a DAO that is run on the Cardano mainnet.
Milkomeda sidechains will allow developers to write smart contracts in languages that are familiar to them e.g. Solidity, and deploy them across multiple chains. Meaning that developers don’t have to learn the functional programming languages of Haskel and Plutus to build on Cardano, decreasing the barrier to entry for developers and increasing the developer pool for Cardano.
The First Sidechain: M1
The first Milkomeda sidechain is an Ethereum Virtual Machine, EVM, based sidechain called M1. This sidechain has opened up the Cardano ecosystem to developers of the most popular smart contracting language, Solidity. Wrapped ADA, milkADA, will be the native currency of this sidechain and will be required to pay fees and gas for using the sidechain.
ADA transferred to the M1 sidechain for wrapping will be auto-delegated to stake pools, meaning that the sidechain works in synergy with the Cardano mainnet.
Wrapped Smart Contracts
A novel feature of the Milkomeda protocol is that of wrapped smart contracts. A dApp, or anyone at all, can deploy a smart contract to the sidechain from a connected virtual machine, VM, blockchain. This makes the smart contract available users of Cardano who can then interact with this smart contract through the sidechain. This means that users of Cardano can seamlessly use smart contracts that are built on other chains and written in coding languages other than Plutus.
Wrapped smart contracts opens up the smart contracting capabilities of chains that don’t use the Solidity programing language e.g. Cardano, Algorand, Solana, and Terra, to Solidity developers.
The Developer Experience
The wrapped smart contract functionality of the Milkomeda sidechains means that smart contracts only need to be deployed once, meaning that they don’t need to be recoded into other languages to work on other chains. The advantage of this is that there is less code, and that only one set of code needs to be audited. Reducing the quantity of code required to run cross-chain dApps resulting in fewer vulnerabilities for hackers to exploit and results in a quicker-to-market time for developers.
The User Experience
As far as the user experience goes, users can use smart contracts on the sidechain without leaving the Cardano mainnet; making for a seamless user experience. The user creates a transaction with their assets, as they would normally, and submits it to the network.
Under the hood, these assets are then transferred to the sidechain where they interact with the target dApp. The results of the transaction are then deposited in the user’s wallet on the Cardano mainnet. All of this happens under the proverbial hood, meaning that the UX doesn’t change, even though the users is interacting with a dApp outside of the Cardano mainnet.
The “Milkomeda” name is derived from the collision of the Milkyway and Andromeda galaxies.
Sidechains as Blockchain Bridges
The Milkomeda sidechain allows for the porting of projects from one blockchain to another, exposing these projects to another group of users and increasing that project's potential user base. Users who have tokens on the connected chain can move these assets to Cardano, and vice-versa, by simply wrapping them on the sidechain that links the two blockchains. Once wrapped these tokens become native assets on the Cardano mainnet and work just like native assets do on Cardano.
The virtual machines that can be connected to Cardano using the Milkomeda protocol include:
- The Ethereum virtual machine (EVM)
- Facebook’s Move VM
- Solana VM
- Hyperledger Fabric
- Near VM
The sidechains will be governed collectively by their users. This will be done on Cardano through the Milkomeda DAO, meaning that users must use the Cardano network to participate. Users will be incentivized to vote through rewards and can vote on a variety of network parameters and, importantly, on the addition and removal of validators. Aspects managed by the DAO include:
- Addition or removal of validators
- The launch of new sidechains
- The reduction or increase of required collateral amounts
- Punishment of malicious validators
- Spending treasury funds to fund the growth of existing sidechain ecosystems
- Deciding which stake pools the wrapped ADA is delegated to
- Accepting tokens onto the sidechain (by adding them to the sidechain’s token registry)
- Verifying and accepting new wrapped contracts (after audit by developers)
The validators are the block producers for the sidechain and are added and removed by votes undertaken in the Milkomeda DAO. The list of validators will be stored on the Cardano mainnet. The initial validators are a handpicked subset of existing Cardano SPOs. Validators are required to put up collateral to become a validator for the sidechain. If they are determined to be bad actors this collateral is slashed.
Validators are also tasked with the running of the sidechain bridge, which is what enables the transferring of assets and allows for the calling of smart contracts stored on the sidechain by users of Cardano and other blockchains.
Validators are paid out every week from the treasury. Their payments are put into smart contracts and locked for two weeks.