An Exclusive Interview with Moonbeam CEO Derek Yoo

OneBlock+
OneBlock Community
Published in
7 min readAug 31, 2021

Substrate enables developers for smooth design and effortless deployment on blockchain. However, how would dApp developers deploy their dApps on Polkadot without having to build the entire blockchain?

Moonbeam is a smart contract platform that is based on Substrate, and planned to become a parachain on Polkadot in order to provide a smooth and swift experience for developers to deploy their smart contract on the rapid growing ecosystem.

It’s our great honor to have invited Derek Yoo, Moonbeam CEO for this exclusive interview. Our interview discussion was mainly focused on the ecological development and technical advantages of Moonbeam.

Tell us a little about yourself and Moonbeam.

My name is Derek Yoo, I’m the CEO and Founder of PureStake, the company building the Moonbeam Network. I founded PureStake in early 2019, originally focusing on infrastructure services for next generation proof of stake blockchains. It became clear to me pretty quickly that the blockchain space was moving toward multi-chain specialization and interoperability, which attracted me to the Polkadot ecosystem.

We believe that we are heading into an environment with many different blockchains and that cross-chain interoperability is the key challenge to overcome in that multi-chain environment. That’s why we are building Moonbeam on Polkadot: cross-chain interoperability is built into the system itself.

Moonbeam is an Ethereum-compatible developer platform targeted to Ethereum and Solidity devs. It is also a parachain on the Polkadot, which means it benefits from the shared security and interoperability that the Polkadot network provides. We aim to provide the easiest development environment and the richest set of developer integrations on Polkadot. By making it easy for developers to build on Moonbeam, we are able to attract and onboard new and existing applications to the Polkadot ecosystem very quickly.

As a smart contract platform on Polkadot, what are the differences between Moonbeam and platforms such as Acala and Patract?

Since the beginning, Moonbeam was designed for developers who are familiar with Ethereum. That includes not only a base Web3 compatibility but also support for Solidity, the Ethereum developer tools ecosystem, integrations/dependencies such as The Graph, an Ethereum-like account structure, signature scheme, etc. Moonbeam makes it possible for projects to pursue an EVM targeted multi-chain deployment strategy using a single codebase and technical implementation. To our knowledge, no other project is able to come close to this level of compatibility with Ethereum, and that’s the core reason that so many projects have been choosing Moonbeam as their expansion point for Polkadot.

Acala is a partner of ours and we are working on cross-chain integrations with them, for example, token movement scenarios and we are also part of the Polkadot Builders Group with them. While we both will have DeFi ecosystems on our chain, the main difference is that Acala is building an entire suite of DeFi products on their chain, whereas we are a pure infrastructure platform where our developer partners are building DeFi and other applications on top of Moonbeam.

Patract is doing important work around tooling for alternate Ink! and Wasm smart contract approaches on Polkadot. While we are focused on Ethereum and EVM based approaches, we believe that developers need choices, and that the Polkadot ecosystem is richer by having multiple smart contract platforms and approaches to choose from.

Moonbeam provides a convenient portal to Ethereum dApps, how will Ethereum dApps interact with Ethereum Ecosystem in the future?

We have multiple different integration paths from Moonbeam to Ethereum.

  1. The first is our ChainBridge implementation which currently connects Moonbase Alpha to Rinkeby and Kovan. We will have ChainBridge implementations connecting both Moonriver and Moonbeam to Ethereum MainNet.
  2. The second path is via integration networks, where we are working on integrations with Ren and Axelar to provide access to Ethereum-based assets, in addition to many other networks.
  3. The third path is a Polkadot-native integration with the Snowfork parachain bridge to Ethereum.

The available solutions to facilitate cross-chain integration are evolving at a very fast rate. We continue to explore different solutions that can be added to provide additional integration routes between Moonbeam and Ethereum.

What are the compatibility processing that Moonbeam has done when transplanting from EVM to Substrate environment? And which block has the greatest compatibility complexity?

The EVM itself is quite independent and was designed without Substrate in mind. However we had to support the Ethereum layer, which we did by including its transactions and logs directly inside the Substrate blocks.

One important challenge was with the block and transaction hashes, which are different and required to implement a mapping between Ethereum and Substrate.

Another important one is about the gas. Substrate uses a weight system which is based on CPU execution time. We have spent a significant amount of time profiling and measuring performance to ensure an optimized conversion from one to the other.

The address of Ethereum is 20 bytes, while the address of Substrate is generally 32 bytes. What are the solutions for address compatibility?

I feel we have taken a unique approach here. Our solution was to change the underlying account scheme on our Substrate-based chain to be H160 (Ethereum style, 20 bytes), as compared to the Substrate style H256 (32 bytes) format. And the signature scheme to be ECDSA (Ethereum-like) vs the SR25519 scheme that Substrate uses by default.

This was an effort we call “Unified Accounts,” which is a very powerful demonstration of Substrate as a Rust-based framework. We could change the underlying account and signature scheme and when compiled, all other existing functions worked as they should. Rust and Substrate provide great confidence for making changes like this. As part of this work we also unified the underlying account storage, so if you query for account balances using either the Substrate or the Web3 RPCs, it maps to the same underlying balance and you will get the same answer. We also updated tools such as Polkadot.js to support H160/ECDSA so our accounts and keys can be used with Substrate tools and apps.

Unified accounts was a major design decision for us. We feel it maximizes on Ethereum compatibility, which is an important goal for us. It also makes a better user experience by only having one account balance for users to keep track of. Most other implementations of Frontier (which is the default EVM pallet in Substrate that we helped create) that we see in the Polkadot ecosystem follow the approach of requiring users to map Substrate and H160/Ethereum-style accounts together and track these accounts separately.

What are Moonbeam’s strategies for cross chain integration in the ecosystem? For example, how will Moonbeam leverage XCMP, etc.?

We will be providing Ethereum-compatible interfaces to access Substrate and XCMP-based functionality. As an example of this, we have been working on a parachain-staking pallet recently, to provide a simple delegated staking mechanism to support collator selection. We have a special precompile that allows developers using Web3 to access and invoke staking functions via this precompile, which appears to the Ethereum side as a smart contract. We are taking a similar approach for e.g. moving DOT from the Relay Chain to Moonbeam. DOT will be accessed on Moonbeam via a precompile that has an ERC20 compliant interface, but that actually is invoking underlying Substrate runtime and XCMP actions.

As more and more specialized parachains emerge on Polkadot we expect to offer many of these special precompiles that make cross chain functionality available to developers working in the Moonbeam EVM environment. In the future, we envision Moonbeam being an integration hub for different parachain specialized functionality.

Which projects have chosen to join the Polkadot Ecosystem through deployment on Moonbeam network? What are their functions?

We’ve spoken to hundreds of projects that are evaluating Moonbeam and there are dozens of projects that have already launched integrations on the Moonbeam TestNet as part of their multi-chain strategy. Since there are many different projects, I’ll just categorize them quickly to give you a sense of the breadth:

APIs: The Graph, Biconomy, Covalent, OnFinality

Assets: Ocean Protocol, AllianceBlock, AMPnet, Poolz, Kilt, Polkastarter

Bridges: ICON, ChainSafe, Interlay, and an NFT bridge in the works

DeFi: SushiSwap, Frax Finance, 0.Exchange, Balancer (by the Moonbeam and Parity teams), Orion Protocol, IDEX, Linear Finance, Injective Protocol

Oracles: Chainlink, Band Protocol, DIA, Razor

How will marketing focus be arranged in the next stage of Moonbeam’s global community development?

There are a few marketing initiatives underway that are worth noting. 1) We’re hiring a dedicated team in China to build both our technical and non-technical communities there. This includes a developer relations person who can help create tutorials and content. 2) We’re also putting more resources into the community programs at general, including more AMAs, demos, and other engagement activities. 3) We will be producing more content including tutorials, articles/blogs, infographics, and other information to help explain the launches that are happening this year and informing the community as to our progress.

About OneBlock+

OneBlock+ is the first and the largest blockchain developer community in China. At OneBlock+, we provide full support for developers with their substrate studies and further setoff their career paths; we host Polkadot Hackathons every season to attract top notch developers to build and innovate for the prosperity of the ecosystem. As a greater China technology resource integrator, OneBlock+ also partner with developers, communities, business elites, and key media who have business insights and experiences in the blockchain industry to provide business like technology courses, news distributions, AMA, and offline events for the industry. Want to shape the crypto world together? Come and join us today!

About Moonbeam

Moonbeam is an Ethereum-compatible smart contract platform on the Polkadot network that makes it easy to build natively interoperable applications. This Ethereum compatibility allows developers to deploy existing Solidity smart contracts and DApp frontends to Moonbeam with minimal changes. As a parachain on the Polkadot network, Moonbeam will benefit from the shared security of the Polkadot relay chain and integrations with other chains that are connected to Polkadot.

Twitter

--

--

OneBlock+
OneBlock Community

Cultivate substrate developer community and redefine the future of open web ecosystem together.