Comparison of Smart Contract Platforms on Polkadot：Acala, Patract, Plasm and Moonbeam
As the current largest smart contract platform, Ethereum has been plagued by problems such as network congestion, high fees and slow transaction speed. There are also projects within the rising Polkadot ecosystem that are developing new smart contract platforms. Could they solve Ethereum’s existing problems and take the smart contract and DApp ecosystem to a new level?
Today we will compare the four smart contract (DApp) platforms on Polkadot: Acala, Patract, Plasm and Moonbeam which are planned to be parachains on Polkadot and all have smart contract deployment capabilities.
The contract technologies currently available in Substrate ecosystem are EVM and Wasm. There might be other contract technologies to be created in the future. In this article, Wasm refers to Contracts Pallet of Substrate. There may also be other contract modules using Wasm in the future.
Opportunities and Challenges of Smart Contract Chain on Polkadot
Due to the nature of Polkadot, the smart contract platform built on Polkadot has some natural late-mover advantages, such as lower contract fees, faster speed, the ability to interact with other chains, support for cross-chain assets.
But each new smart contract platform will face a very tricky challenge, that is the ecosystem construction. The key question is “how to attract more developers to your platform?” Because more developers creating great projects will attract more users to your platform, which in turn will attract more developers, thus creating a virtuous cycle of increasing value for the network.
The Ethereum ecosystem has been developing for several years now, with a mature contract development environment with enough tools, many evelopers, and some high-quality DApps. These are the advantages of Ethereum, which is the smart contract platform on Polkadot needs to catch up with.
For Polkadot ecosystem, since the Polkadot relay-chain itself does not have the function of smart contract, it is also very necessary for Polkadot to have the smart contract parachain to complement contracts. Because not all business scenarios need to become a parachain, deploy a smart contract is more convenient with lower cost. Also there already are a lot of mature applications, it is obvious that smart contract has been an indispensable part of the blockchain ecosystem.
Moonbeam: Ethereum Compatible Contract Platform
Moonbeam is positioned as an Ethereum-compatible smart contract platform on Polkadot. They want developers to be able to deploy existing Solidity smart contracts and DApps to Moonbeam with minimal changes. It will provide a gateway for smart contracts that have been developed on Ethereum and want to develop their business to multiple chains, to be easily deployed into the Polkadot ecosystem, while they can still use the various tools available on Ethereum.
Maximum Compatibility with Ethereum
The Moonbeam chain being compatible with Ethereum depends primarily on the Frontier layer. Developed by Parity, with some involvement from Moonbeam, Frontier is the Ethereum compatibility layer on Substrate, enabling Substrate-based chains to run unmodified Ethereum contracts. Frontier is currently under development and includes the following modules:
• Web3 RPC module: Existing tools and applications interact with Ethereum via Web3 RPC, and Moonbeam’s deployment of Web3 RPC allows existing tools and applications to connect to Moonbeam as if they are just connected to another Ethereum network. For example, a simple configuration of MetaMask to point to a Moonbeam-based node would allow users to use MetaMask as usual, whereas MetaMask would only communicate with the Web3 RPC or API on Moonbeam.
• Ethereum module: emulates how Ethereum works, including blocks, receipts, logging, being able to subscribe log events, etc.
• Full EVM implementation: EVM is Ethereum’s contract virtual machine, and Moonbeam integrates EVM modules to make it compatible with EVM on Ethereum.
The address on Moonbeam is the H160 account address and the key used to sign the transaction is EDCSA. While this means users can use their existing Ethereum accounts and keys to interact with Moonbeam.
Overall, Moonbeam is trying its best to be compatible with Ethereum Layer 1. These measures could allow existing Ethereum contracts to be easily deployed to Moonbeam with only minor changes.
Incentives for Developers
Moonbeam plans to launch two networks, Moonriver on Kusama and Moonbeam on Polkadot, each of which will spend 4.5% of its total token as a “Developer Development Program” to incentivize early adopters of their networks.
Plasm: Layer 2 Scalability + Ethereum Compatible Contract Platform
Support EVM + WASM Virtual Machine
Plasm has also introduced Frontier for compatibility with Ethereum. Unlike Moonbeam, Plasm intends to support both EVM and WASM virtual machines, allowing running existing Solidity contracts on Ethereum using EVM as well as WASM contract written in ink!. Plasm also introduces Solang, which supports the compilation of Solidity as WASM to run on the WASM virtual machine.
Layer 2 Scalability
A further feature of Plasm is support for smart contract function on both Layer 1 and Layer 2 to further enhance scalability. By introducing a virtual machine OVM which supports all Layer 2 protocols and supports many Layer 2 extension schemes such as Plasma and lightning network, token can transfer at Layer 2. By introducing Rollups, an extension that supports smart contracts on Layer 2, smart contracts can also be adopted on Layer 2. Currently, ZK Rollups have been successfully deployed on the Plasm network.
Innovation: DApp Rewards Mechanism
Incentivizing developers through an economic mechanism is another way to attract developers. A DApp rewards mechanism is designed to allocate 50% of staking reward to DApp (or smart contract) developer in the network. Other users in the network can also participate in smart contracts by nominating, and dApp nominators can also receive rewards proportional to the amount of staking.
Acala: A Contract Platform Focusing on Defi
Bodhi: Compatible with Ethereum while Retaining Substrate’s Advantages
Acala is positioned to be the Defi Hub on Polkadot, and since many of the existing Defi contracts are deployed on Ethereum, Acala has also taken Ethereum compatibility into consideration.
Both Moonbeam and Plasm have integrated the current Substrate EVM compatibility solution that simulates Ethereum nodes using Frontier. It aims to implement a full Ethereum RPC and simulate the Ethereum block production process so that the existing Ethereum tools, such as MetaMask and Remixes, can collaborate seamlessly with Frontier enabled nodes.
But Acala argues that an approach like Frontier’s, which simulates Ethereum nodes and inherits Ethereum’s full strengths and weaknesses, may not be what the smart contracts that choose Polkadot ecosystem really want. Acala views EVM as part of Acala/Substrate/Polkadot and wants to make the Acala network offer a very different experience than Ethereum.
As a result, Acala will adopt a homegrown Ethereum compatible solution called Bodhi. This solution is not compatible with Ethereum RPC. Instead, it makes a JavaScrpt SDK, which simulates Web3 Providers, and can wrap Polkadot Extension into an Extension similar to MetaMask. In this way, off-the-shelf Ethereum DApps can also be used with Polkadot Extension to interact with Acala EVM.
At the same time, Bodhi avoids some of Ethereum’s legacy issues and retains Substrate’s advantages while being compatible with Ethereum. Acala has a customizable economy, allows users to pay transaction fees with any supported token, local cross-chain function, on-chain governance mechanism (no more locked funds), fully upgradable (no contract migration), etc. These innovations are not possible on Ethereum.
However, this also means that if a contract on Ethereum is to be deployed on Acala, it may require some code adjustments to be compatible with Acala’s economic model.
Focus on DeFi Scenario
Unlike the general contract platform, Acala focuses more on DeFi scenario optimization. Contracts deployment may also set a barrier to entry to avoid a similar Uniswap counterfeiting situation. It will also integrate Acala’s Dex, Stablecoin, IDOT, etc.
Patract: A Contract Platform Focusing on WASM
Perfect Developer Tools and Development Environment
As mentioned earlier, one of the problems in building smart contracts parachain on Polkadot is the lack of a good development environment and tools. In this regard, the Moonbeam, Plasm and Acala approach is to provide a means by which developers can easily access the existing Ethereum development tools, since there are already mature development tools.
Patract, on the other hand, sees the WASM virtual machine as the future and focuses on the WASM contract. Their solution is to build a complete suite of open source development tools and a development, testing, and release environment within the Polkadot ecosystem, making it easy for developers to develop WASM contracts. WASM is a relatively new technology adopted in Polkadot’s smart contract module. Smart contracts based on WASM have proven to have better performance and scalability than those based on EVM. It is also possible to write more complex contract applications using higher level languages such as AssemblyScript, Rust, C++, etc.
What Patract does, on the developer side, includes:
• Jupiter: Independent smart contract testing network, which provides contract developers with an environment to test contract chains.
• Ask! : AssemblyScript version of the Ink! The contract framework, which appeals to TS/JS developers, provides an alternative to contract developers who do not want to use Rust.
• Redspot: WASM contract development workflow and scaffolding: a tool for benchmarking Tuffle/RedHat in Ethereum ecosystem to project and automate contract development. Redspot is designed as a plugin, allowing developers to add their own plugins to enrich Redspot’s functions.
• Europa: Runtime and contract run sandbox: benchmarking EthereumJS/Ganache in Ethereum ecosystem, providing contract developers with rich debugging information to quickly develop contracts.
• Elara: Real-time and extensible Polkadot API: benchmarking Infura in Ethereum, giving contract parties Endpoint of the node without having to build the node itself to retrieve data. Elara uses Substrate-archive to export state data, which can be scaled in parallel to accept tens of millions of access requests
• Megaclite: Underlevel support for zero-knowledge proof: provides zero-knowledge primitive language support in Jupiter/Patract chain, which allows project parties to design zkRollup or other zero-knowledge related contracts.
• Metis: Ink! contract standard library: benchmarking openzeppelin-contracts in Ethereum, giving contract developers reusable wheels without having to write contract code from scratch.
• Himalia: Multilingual contract SDK: benchmarking SDKs such as Web3J and Web3Py in Ethereum, it provides contract project parties with different language environment and enriches interfaces to interact with contracts.
• Leda: contract monitor: benchmarking various contract monitoring facilities in Ethereum ecosystem, allowing contract project parties to monitor contract storage, token transfer, contract invocation, and so on at any time.
• Carpo: smart WebIDE that focuses on contract development: benchmarking Remix in Ethereum, but it will be the optimization of contract development tools in Patract. Carpo will adopt the latest WebIDE technology, making the cloud development infinite close to local development, meanwhile the complete cloud allows developers to build without any development environment. Out-of-the-box Patract tool chain contract provides the developer with an integrated development experience, and allows developer’s development, debugging, testing, and contract deployment process to be as smooth as silk.
On the user end, it includes:
• Patra Store: As an entry to the Patract parachain wallet and DApp ecosystem, it will integrate some sample applications and usage demonstrations of supporting development tool suites during the test network phase to help developers quickly develop WASM contracts and front-end interfaces, and help users quickly get into the new Polkadot contract ecosystem.
• Patra Scan: Blockchain browser optimized specifically for smart contract chains, which integrates richer display of contract data information than the unified chain browser, enhances statistics and customized query capabilities.
Use DOT and KSM as Local Tokens
Patract will also run a smart contract parachain —— Patract Network.
In particular, the Patract Network is not going to issue tokens, but is aiming to become a system parachain of Polkadot and Kusama, directly using DOT/KSM as tokens for the Patract contract platform. System parachain refers to chain which is very useful to Polkadot network and beneficial to the public interest of the network. It does not need to participate in the parachain auction anymore, but can be directly linked to Polkadot as a common good parachain.
If this comes true, it will be easier for users to use DOT/KSM to pay for contract fee. For Patract, this directly introduces the user base with DOT/KSM.
In general, each of the four Polkadot Ecosystem smart contract chains has its advantages and disadvantages.
Moonbeam focuses on full compatibility with Ethereum, allowing developers to deploy existing Solidity smart contracts and DApps to Moonbeam with minimal changes.
In addition to being compatible with Ethereum, Plasm adopts Layer 2 to improve scalability and supports smart contracts on Layer 2. Meanwhile, Plasm also attracts contract developers through the DAPP incentive program.
Acala, on the other hand, focuses on Defi scenario, optimizes itself for Ethereum compatibility, and sets certain barriers to entry, making it more suitable for deploying smart contracts in the financial sector.
Patract provides a good development environment and perfect tools for WASM contract developers, and directly adopts DOT/KSM as native token, making the developer experience more smooth.
Can these “after waves” grow to spark a new wave of innovation that will push the smart contract and DApp ecosystem to a whole new level? Let’s wait and see.
• Welcome to learn Substrate: https://substrate.dev/
• Follow Progress of Substrate: https://github.com/paritytech/substrate
- Follow Progress of Polkadot: https://github.com/paritytech/polkadot
PolkaWorld is Polkadot’s Chinese community. We have gathered more than 30,000 Polkadot fans. It is the world’s largest Polka Chinese community and the only community that has received the Web3 Foundation Grant.PolkaWorld is committed to popularizing Polkadot technical knowledge, training Substrate developers, and supporting Polkadot ecological entrepreneurs, thereby promoting the development of China’s Web3.0 ecology.
Follow PolkaWorld on Twitter：@polkaworld_org
Learn more about：
PolkaWorld Interview Program（https://polkaworld.medium.com/polkaworld-interview-program-94d3be53ea94）, aiming to help Polkadot community projects to be better heard in China.
Substrate Entrepreneur Camp（https://polkaworld.group/en/substratecamp/）, which is to help the birth and growth of Polkadot’s eco-innovative products.