RFC: EVM Compatibility for Centrifuge Chain (Technical Proposal)

Proposal type: CP-4
Author(s): @annamehr
Contributor(s): @mustermeiszer @jeroen
Technical/non-technical proposal: technical proposal
Date proposed: 2023-03-07

Short Summary

Proposal for the support of the community to enable full EVM compatibility on the Centrifuge Chain and Centrifuge App.

High level objective

The objective is to make Centrifuge Protocol compatible with the Ethereum Virtual Machine (EVM). The proposal would aim to ensure that wallets, custodians, block explorers, and other EVM compatible infrastructure that users are familiar with can interact with Centrifuge Chain. This update will make Centrifuge easier to use for the user.

Background

The first version of the Centrifuge product (Tinlake) launched on Ethereum in 2020. Since the launch over $316M DAI in loans were issued on the platform and more than 1000 assets tokenized. When launching Centrifuge Pools we want to support Ethereum and Centrifuge Chain to allow investors to provide liquidity.

Description of Activity

The primary outcome of such a proposal would be to enable Centrifuge’s users to benefit from the advantages of EVM compatibility.

Advantages

EVM compatibility provides several advantages for Centrifuge, including:

  • Access to existing infrastructure: The Ethereum ecosystem has a robust set of infrastructure providers, such as wallets, explorers, and block explorers. By being EVM compatible, Centrifuge can leverage this existing infrastructure, making it easier for users to interact with the protocol and reducing the friction of adoption.
  • Greater security and reliability: The EVM is a mature and battle-tested virtual machine, and many security audits have been conducted on Ethereum smart contracts. By building a protocol that is EVM compatible, developers can leverage this existing security infrastructure, reducing the risk of vulnerabilities and exploits.
  • Access to a large developer community: The Ethereum Virtual Machine (EVM) is the most popular platform for developing decentralized applications, and many developers are already familiar with its programming languages, such as Solidity. By being EVM compatible, Centrifuge can tap into this large developer community, making it easier for developers to build custom dapps on top of the protocol.
  • With Connectors, Centrifuge will support interoperability with other DeFi protocols. Many protocols (i.e. Aave and Maker) are built on the Ethereum blockchain and are EVM compatible. This means that a protocol that is also EVM compatible can easily integrate with these other protocols, enabling users to move their assets and liquidity between different DeFi applications seamlessly.

Proposal

To achieve the objective of EVM compatibility for Centrifuge Chain, this proposal is to:

  • Evaluate the current state of Centrifuge Chain to determine what changes would be required to make it EVM compatible.
  • Identify any potential risks or challenges associated with implementing EVM compatibility, such as the need for additional testing or potential conflicts with existing features.
  • Develop a first roadmap proposal for implementing EVM compatibility, including
    • Incorporating Parity’s Frontier project, that provides EVM comparability for Substrate based blockchains
    • Work on the Centrifuge App to support Tinlake to improve the current user experience on Centrifuge
  • Build and test the necessary changes to Centrifuge Chain to ensure that it is fully EVM compatible.

Technical implementation

  • Integrate the following pallets into our runtime
  • Expose the standard Ethereum RPC methods on the node using Frontier.
  • Block the deployment of smart contracts.
  • Add one precompile to dispatch calls from Ethereum clients.
  • Produce Ethereum compatible blocks in companion with our Substrate blocks.
  • Allow submitting Ethereum transactions as-if they were native extrinsics.
  • Implement support for Ethereum transactions in the Centrifuge App.

This endeavor complements Connectors.

Responsible

The implementation will be a joint effort of the members of the Engineering Circle at k/factory.

Alignment to the mission of Centrifuge DAO

Everyone should be able to interact with Centrifuge and issuers using Centrifuge should be able to onboard investors from any ecosystem including EVM based users. This proposal achieves this by lowering the barrier of entry for Centrifuge users who are already familiar with the EVM and have wallets and infrastructure to interact with it. This proposal to implement EVM compatibility will also enable Centrifuge to benefit from the advantages of the Ethereum ecosystem: adding an additional layer of interoperability, making it more accessible for users. It ensures Centrifuge is the home for RWAs, connected to liquidity on Ethereum.

Next steps

The Engineering Circle aims to start its work immediately if the CP is accepted by token holders.

9 Likes

Good day Anna
Thank you for posting this RFC.
I have a couple of questions:

  1. Can you please indicate the estimated ETA for developing and deploying of EVM for Centrifuge?
  1. Who will provide the security audit?
  2. Can we consider Certik to provide the audit too?
  3. Can we use Polkadot parachains who provide EVM bridge (Moonbeam and maybe Astar ?) or we would like to develop this solution aside?
1 Like

Good questions from ImdioR.

I’m just curious about the fact that it is not already the case (being EVM compatible). Centrifuge is an Ethereum project from a long time ago now, so i’m a bit lost by this request here.

Maybe it would be good to explain the current situation. It’s not obvious for everyone.
What are the current limitations ?

1 Like

I think it’d make this proposal more clear to mention in title and/or short summary that this is in regards to Centrifuge Chain (our own chain) and the Centrifuge App / Pools on Centrifuge Chain — and not in regards to Tinlake, which is on Ethereum.

1 Like

Hi Anna. Thanks for this proposal. Can we get a TL;DR of the biggest differences between this proposal and the already existing Centrifuge Connectors?

Or is it “just” on top of Connectors?

Connectors allows people to invest into Centrifuge pools through a bridge on any chain supported by Connectors.

EVM compatibility on Centrifuge chain makes EVM wallets such as Metamask, Ledger, etc. as well as other tooling compatible with Centrifuge chain. That allows a user to tranact on Centrifuge using such a wallet without the need for connectors.

In short; they’re two very separate things.

5 Likes

This heavily relies on Frontier developed by Purestake which has already been audited by SR Labs when it went into moonnbeam. The most sensible thing to do is to have them review the integration by SR Labs who we already work with at Centrifuge as well as they are already familiar with the code.

1 Like

It is an obvious step. Most defi is on eth and eth l2

Hey @SupDup44

As @devin mentioned this in regards to Centrifuge Chain. The product is not yet live. The new Centrifuge App will support all Pools on Ethereum (current Tinlake pools) but also pools that will launch on the Centrifuge Chain. This proposal will help users to use EVM tools e.g. Metamask, Ledger, etc. to interact with the pools on the Centrifuge Chain.

2 Likes

I can’t give you an ETA right now but as soon as this proposal has passed the voting phase, development work will start immediately.

We’re using Frontier’s module and implement this for the Centrifuge Chain. Parity’s Frontier project, provides EVM comparability for Substrate based blockchains. Moonbeam have used Frontier as well to add an Ethereum compatibility layer to their Substrate chain.

Clarify what is EVM support

  • EVM is the ability of Centrifuge chain to be usable with EVM compatible wallets, block explorers, and other EVM tools
  • Making Centrifuge another “EVM chain” – own network id, etc.

Clarify what is Connectors

  • The possibility to use our product from other chains/domains without friction → mostly useful for DeFi-protocols
  • Any user can use connectors or just move tokens to our chain and invest then from the native environment
2 Likes

Question of clarity for me.

How much visibility into the underlying data will one get through Etherscan on day one of this being live?

This is a really great proposal. Solves the compatibility problem which has been a big blocker for adoption. Kudos to the tech team for thinking creatively on this!

4 Likes