by Michael Yuan
ParaState: Evolving Ethereum on Polkadot
The Ethereum protocol is the dominant protocol for DeFi (Decentralized Finance) and Dapp (Decentralized Apps) today. Almost all blockchain-based Dapp software and a large portion of programmable digital assets run on the Ethereum Virtual Machine (EVM). However, originally designed and developed by a loose group of inexperienced software developers, including a young Dr. Gavin Wood, the EVM is also a simplistic, rigid, and slow code execution sandbox. That has resulted in many problems we see on Ethereum today, including unsafe smart contracts, very limited programming language support, slow performance, and high gas fees.
“The [Ethereum] platform itself is full of risk, as you would expect with a nascent technology. … It’s the price you pay for the ability to access this world-changing software in its days of inception.” — Dr. Gavin Wood, commenting on Ethereum in an interview with Unitimes in 2019
ParaState aims to provide an industry standard, highly optimized, and extensible smart contract execution environment, while maintaining Ethereum compatibility. It does so as a Polkadot parachain (see the Polkadot ecosystem section), which allows it to provide services to other Polkadot parachains and applications, and at the same time, to take advantage of cross-chain services provided by other parachains.
WebAssembly to the rescue
The solution to the above mentioned EVM problems is to upgrade the blockchain virtual machine. The WebAssembly virtual machine has emerged as a leading candidate for such an upgrade. In fact, next-gen blockchain systems such as EOS, Polkadot (Substrate and Ink!), Cosmos (CosmWasm), Oasis, NEAR, Solana, and others, have all chosen WebAssembly as the runtime engine for blockchain applications and on-chain smart contracts. WebAssembly is a well established industry standard. It is adopted by communities ranging from web browser application developers to cloud computing providers to blockchains. As a result, WebAssembly is well supported on a wide range of computer hardware, operating systems, and programming languages. It is heavily optimized for performance.
However, most of those WebAssembly-based blockchain virtual machines are NOT compatible with existing EVM applications. That creates hurdles for existing Dapp developers. To address those issues and create a path forward for existing Ethereum ecosystem developers, the Ethereum Foundation proposed an on-chain WebAssembly VM for EVM applications, called the WebAssembly flavored Ethereum Virtual Machine, or Ewasm. Ewasm would not be compatible with EVM at the bytecode level. However, Solidity programs written for the EVM can be simply re-compiled into WebAssembly and run on Ewasm. Ewasm shares the same accounts and blocks data structure with the EVM, and provides a compatible web3 RPC interface for external Dapps.
The Second State WebAssembly VM (SSVM) is an industry leading WebAssembly implementation. According to a research paper published on IEEE Software, it is the highest performing WebAssembly VM on the market. The SSVM also supports standard and draft WebAssembly extensions, such as the WebAssembly Systems Interface (WASI), interface types, and bulk memory operations. Through its extension framework, the SSVM fully supports the Ewasm specification. It is one of the only two WebAssembly VMs that pass the entire Ewasm testsuite created by the Ethereum Foundation.
In early 2020, the web3 foundation funded Second State to port the SSVM Ewasm to the Substrate ecosystem. As part of the grant project, Second State created the SSVM pallet for Substrate blockchains. In addition to Ewasm, the pallet fully supports EVM smart contracts, both at the source code level and bytecode level, to make ParaState a one-stop shop for present and future Ethereum developers.
Ethereum on Polkadot
A blockchain network that supports the EVM is an Ethereum compatible blockchain. Examples of Ethereum compatible blockchains include Ethereum, Ethereum Classic, Oasis Ethereum ParaTime, CyberMiles, RSK, Athereum, Binance Smart Chain, and many others. Those blockchains are interoperable at the software and API level.
- EVM smart contracts, written in Solidity or other front end languages, can be deployed to any of the Ethereum compatible blockchains without change.
- Dapp, including DeFi app, front end UIs can also be ported across Ethereum compatible blockchains with reasonable amount of efforts.
- Crypto assets, such as native tokens and ERC-20 tokens, can be exchanged across Ethereum compatible blockchains through decentralized Atomic Swap smart contracts.
The SSVM pallet provides built-in support for the EVM, and hence all today’s Ethereum applications. We commit to port popular Ethereum DeFi applications, such as Uniswap, Balancer, MakerDAO, etc., to the ParaState parachain. We will also work with Ethereum bridge providers on Polkadot (see the Polkadot ecosystem section) to bring Ethereum token assets to the ParaState parachain. By making those DeFi infrastructure services available at genesis, ParaState enables today’s Ethereum users to experience the superior Polkadot performance.
Extend the developer ecosystem
With WebAssembly, developers will be able to write smart contracts in over 20+ programming languages LLVM supports in addition to Solidity. As Solidity’s shortcomings in developer productivity and application security become apparent, developers are looking for alternatives in more mature programming languages such as C/C++, Go, Rust, and even Java. Programming language support is also crucial for attracting new developers into the smart contract ecosystem.
Furthermore, as blockchain applications become specialized, smart contract developers are moving toward Domain specific languages (DSL) for use cases such as finance applications to archive better security and performance. Examples of financial smart contract DSLs include Facebook Libra’s MOVE for stable coin applications, Certik’s DeepSEA for formally verified contracts, Digital Asset Modeling Language (DAML) for asset tokenization, and many more.
With an open source and widely used compiler toolchain, Ewasm also supports customization of programming language features. For example, Second State and Oasis Labs proposed an extension to the Solidity language to support confidential data fields inside smart contracts. Such language extensions can be proposed and implemented similar to DSLs on the WebAssembly-based toolchain. They are impossible with the traditional and rigid solc compiler and EVM.
The Second State SOLL compiler is the only LLVM-based Solidity and YUL language compiler to compile existing Ethereum smart contracts to run on Ewasm.
Ewasm on ParaState has the potential to vastly expand the application developer base for blockchains and Polkadot in particular. It also makes smart contracts safer and more efficient through programming language and DSL innovations.
Performance beyond the TPS
The current Ethereum is notorious for its low transaction throughout. Measured in transactions per second (TPS), Ethereum mainnet can only process around 25 TPS, which is far below the requirement for consumer Internet applications. In comparison, the VISA network reaches 2000 TPS regularly for credit card transactions. The Polkadot ecosystem can support at least 10,000 TPS through its parachain architecture. Each parachain, such as the ParaState, can support 1000+ TPS due to the fact that much of the consensus heavy lifting is now done by Polkadot validators.
However, for smart contract platforms, TPS is not a good measure for performance. We need to evaluate how quickly the on-chain virtual machine can execute smart contracts. The EVM, due to it simple interpreter design and lack of optimization, is a very slow virtual machine by modern standards.
The mature ecosystem around WebAssembly allows the Ewasm smart contracts to archive much higher performance than EVM smart contracts even if they are compiled from the same Solidity source code. For instance, the Ewasm can utilize JIT (Just in Time) and AOT (Ahead of Time) compiler optimizations at runtime to improve performance by 100x compared with EVM’s interpreter execution mode. Besides, EVM only supports integers math computation, so Web3 applications requiring a bit more complicated math computation can only build on top of the WebAssembly infrastructure.
The Second State VM (SSVM) is a one of the fastest WebAssembly VMs. It features AOT optimization across multiple CPU and operation system architectures. It is one of the only Ewasm compatible VM implementations on the market today, with special performance optimization for Ethereum’s native 160-bit integers.
The ParaState parachain features the SSVM as its Ewasm execution engine. It provides a large performance boost for Ewasm applications.
According to its official web site, Polkadot is a sharded multichain network. It consists of a network of interoperable blockchains and enables cross-blockchain transfers of any type of data or asset, in addition to tokens.
Each blockchain in the Polkadot network, known as a parachain, is a shard. Each shard processes transactions in parallel, hence eliminating the bottlenecks that occurred on legacy networks that processed transactions one-by-one. The base blockchain, known as the Polkadot mainnet, is a place for all parachains to reach consensus and to record their states permanently on the mainnet blockchain. A Polkadot parachain is built on the Substrate blockchain framework. It can have its own consensus mechanism and its own set of block producers, known as collators.
Polkadot scales by sharding applications, with each parachain serving a specific application use case. That enables the network to handle many different types of applications in parallel. These are known as application-specific blockchains. For example, a blockchain application to record real estate transactions can probably run completely in parallel to an application to record and exchange medical information between patients and doctors.
The parachain can have application logic built into its node software, and only processes specific kinds of transactions that are relevant to its applications. Substrate runtime modules enable us to build application-specific parachains. For example, there could be a parachain dedicated to stable coins by hard-coding stable coin-related logic inside its node software. The runtime module in this parachain node can record and transact certain stable coin assets, but nothing else. Most proposed Polkadot parachains today run application-specific runtime modules.
As a parachain, ParaState will be able to provide smart contract services, including asset tokenization and DeFi applications, to other parachains. It could also rely on other Polkadot parachains to interact with other blockchain ecosystems. For example, it could utilize the following the services to interact with assets and applications on Bitcoin and Ethereum blockchains.
- The PolkadotBTC bridge and tBTC bridge provide services to lock and exchange to BTCs to Polkadot ecosystem tokens.
- The Snowfork bridge provides two-way synchronization for the blockchain state between Ethereum and Polkadot.
We expect to see more cross-chain bridges and services like these in the Polkadot ecosystem soon.
The STATE token
The Ethereum protocol requires a native token for network security. On ParaState, the native Ethereum protocol token is named STATE. The STATE tokens are minted and awarded to node operators who secure the network, and are required as transaction fees (gas) from users.
There is a fixed supply of STATE tokens. As STATE tokens are paid as gas to the network, a part of the gas STATE will be burnt. It will cause the total supply of STATE to go down over time. Applications deployed on ParaState will also get rewards from STATE gas. For more details on the token economics of STATE, please refer to the STATE tokenomics paper.
The pDOT token
With full Ethereum compatibility and DeFi infrastructure at genesis, the ParaState team is looking to jump start our DeFi ecosystem through a smart contract token (ie., “ERC-20” compatible) called pDOT. The pDOT tokens are issued to DOT holders who staked and locked for the ParaState parachain slot auction. It has a 1:1 ratio with locked DOT tokens. All pDOT participants agree to pool their DOTs into a multi-signature wallet, and distribute the DOTs to pDOT holders at the time of exit.
DOT holders can trade their pDOTs or borrow against their pDOTs, and hence receive liquidity for their otherwise locked DOT tokens.
The ParaState parachain brings Ethereum protocol support to the Polkadot ecosystem. While it is backward compatible with today’s EVM applications, it is future-proofs the Ethereum protocol by bringing the LLVM and WebAssembly developer communities into the Polkadot ecosystem. It is your best choice of next-gen Web3 applications one-stop developing platform. It is Ethereum on Steroids.
Join ParaState. Experience tomorrow’s Ethereum developer experience today!