Heisenberg Lin
Suterusu
Published in
3 min readJun 19, 2020

--

Suterusu Yellowpaper Update Series: 1. How to build SuterVM

Introduction

SuterVM is a fundamental building block for the Suterusu ecosystem. Many sophisticated functionalities including smart contracts require the support of SuterVM. This series will first explain how the SuterVM can be built on top of the Substrate virtual machine. As a consequence, any existing smart contract codes written in Solidity language can be run in the SuterVM, and hence SuterVM is fully compatible with any technical framework built with Ethereum smart contract toolbox.

Our previous yellowpaper has explained how assets issued on a blockchain supporting smart contract can be moved to the Suter blockchain. This series will further describe in detail how Bitcoin assets can be moved to Suter blockchain and how the Suter anonymous payment scheme can help improve the Bitcoin payment anonymity.

We believe through anonymizing the Bitcoin cross-chain transfer, the Suterusu project will become a warm harbor for Bitcoin liquidity. As Bitcoin is still the king of cryptocurrency, the liquidity it brings would breathe life to the Suterusu ecosystem. Since one of the central focuses of the Suterusu project is maximum interoperability and liquidity, this would undoubtedly be a significant step towards our ultimate goal.

The updated roadmap

Since both SuterVM and anonymous BTC cross-chain transfer module haven’t been mentioned in our previous roadmap, the updated roadmap with these milestones is attached in the following figure.

Updated Roadmap

The launch of SuterVM and the anonymous BTC cross-chain transfer module will happen in Dec. 2020 and Mar. 2021 respectively.

How to build SuterVM

Suterusu blockchain is a fork of Substrate codebase, we will invoke the substrate EVM provided by the Substrate Runtime Module Library (SRML) to implement SuterVM.

One of the main purposes of building a SuterVM is to enable smart contract functionality over the Suterusu blockchain. SRML provides a contract module for the implementation of native WASM-based smart contracts on a substrate-based blockchain. Although this module does provide some interesting safeguard features such as sandbox and the capability of reversion, which improves the security level of the smart contract. However, it requires the coders to learn the native smart contract language ink before they could write the first line of contract code. Besides, The overheads due to the safety features make running contracts slower and more costly, which is not particularly desirable in practice. As a matter of fact, the “target audience” for contract module development is inexperienced developers while the SuterVM focuses more on code reusability and its compatibility with the Ethereum ecosystem, which is why we choose to build the SuterVM based on the Substrate EVM.

The substrate EVM [substrateEVM19] provided by the SRML inherits all the benefits of the Ethereum virtual machine and is fully compatible with any smart contract written in the Solidity language. As a matter of fact, it was specifically built to ensure the compatibility between Ethereum and Polkadot ecosystems. Building a SuterVM based on the substrate EVM would guarantee our virtual machine can execute all the normal EVM transactions including message calls and contract creation transactions, and it will generate exactly the same results as when running on Ethereum mainnet.

In addition, building SuterVM on top of the Substrate EVM also guarantee the benefits of being part of the Substrate ecosystem, which include the composability with other Substrate modules and even the broader Polkadot network, thereby enabling interoperability not only with other Polkadot parachains but also with external blockchains such as Ethereum mainnet. A visualization of the relationship between SuterVM and Substrate EVM can be found in the following figure.

How SuterVM works

The next article of this series will explain how the anonymous BTC cross-chain transfer module works. Stay tuned.

Reference:

[substrateEVM19] Zach Cavanaugh, Substrate EVM and Polkadot-Ethereum compatibility, https://www.parity.io/substrate-evm/, 2019.

--

--