TLDR; if you do want to move away from Ethereum or one of its layer 2 networks, make sure you pick an alternative that is EVM compatible.
It’s a question that continues to come up with every new Web3 project, which platform is the right platform to build our project on.
In earlier years the decision process was somewhat easier, for enterprises they would spin up their own permissioned blockchain network using technologies such as Quorum or Corda. However, the creation of these networks move slowly as far as onboarding participants is concerned due to not just the technical overheads, but also the legal overheads associated with reaching agreement on services agreements and governance between participants, for instance.
It was against this backdrop that initiatives like the Baseline Protocol
came together, with companies like EY, Microsoft and ConsenSys realising that rather then trying go through the pains of creating private, permissioned blockchains, it would be far more efficient to use public blockchains as the anchor points to prove a consistent world-view among disparate systems. This approach ensures that blockchains are being used for what they’re great at — providing a tamper evident proof that some business activity or event took place. It’s key to note that we’re using the term proof
here to describe what’s going on the blockchain, as there’s zero private or sensitive data being stored on-chain.
For much of 2020 and going into 2021 this narrative of public versus private blockchain and Baseline were the dominant schools of thought. However, things started to change in 2021 with the explosion of crypto-currency prices, explosive interest in NFTs which led to all-time high demands on the Ethereum network, and a number of layer 2 blockchain platforms reaching a level of maturity with their ecosystems that developers started to launch projects on them.
This perceived congestion on the Ethereum network, coupled with the emergence of other third-generation platforms, has led many to question which Web3 platforms they should be building on.
In the public blockchain space, we’ve seen a surge of interest in Solana, Avalanche, Luna, Polkadot and many others which have provided platforms for DeFi and NFT projects to launch without the same costs and capacity limitations that they’d experience on Ethereum. They’ve also had large numbers of people investing in their tokens with the hope that they’ll become the next Ethereum. However, each of these projects comes with their own trade-offs associated with them, in some instances this may be centralisation (AVAX) or higher barriers to entry for those running the nodes software on their networks (Solana).
The issue this presents for individuals or companies new to the space is analysis paralysis — they simply don’t know which platform to target, as there’s so many different options available. It’s not helped by the Web 3 industry evolving at an exponential rate.
Fortunately, there is one constant that is starting to emerge which I believe will make it a lot easier to help standardise efforts when building DApps, and that is Ethereum’s Virtual Machine (EVM). The EVM is the execution environment used for running all code on the Ethereum network. When someone writes a decentralised application (DApp) using a language such as Solidity (the most popular language to write smart contracts in that make up DApps), this is compiled into EVM byte code which is what is ultimately deployed and run on the Ethereum network.
For instance, if you create a new NFT project, you write a smart contract that defines those NFTs and is responsible for tracking ownership of them. Once this smart contract is written, it is compiled into EVM byte code, then deployed in a transaction to the EVM where it exists as a DApp. When that NFT is subsequently bought or sold, this all takes place as a transaction on this smart contract executed by the EVM.
Ethereum has the benefit of first-mover advantage as a DApp platform, and the largest developer community
. It is also the platform where NFTs first emerged as well as many parts of DeFi including decentralised exchanges (DEXs), lending and yield farming. This has meant that the vast majority of DApps exist as Solidity code which runs on top of the EVM.
Competing protocols are acutely aware of the need to provide as seamless a transition as possible for users, hence many are now targeting the EVM as a platform to provide a straightforward transition for developers onto them.
EVM support on some of the well-known protocols
I view the EVM as being analogous to the Hypertext Transfer Protocol (HTTP)
with the World Wide Web. HTTP provided a common protocol for computers to request and retrieve data from. In the earlier days of Web 1.0 this was requesting web pages from computers that were hosting them. However, with the emergence of Web 2.0 they became a crucial building block upon which common APIs, such as OpenAPI
were built allowing people to create services that could be used to read and write data in Web 2.0. These services were still centrally hosted, but in this generation of internet platforms and services they were being hosted in the cloud.
With Web 3.0, the EVM is the common execution environment that can be used to define smart contracts that underpin the DApps which are the core building blocks of Web3 used for applications such as tokens, NFTs, DAOs and DeFi. With these different types of applications, protocol developers can create their own governance or utility tokens for their projects which provides incentive mechanisms for users and those providing value to the projects. This notion of ownership is akin to users of Apple products being granted shares in Apple allowing them to more directly contribute to and benefit from Apple’s success.
The three generations of the Web
- Web 1.0: Read-only
- Web 2.0: Read/write
- Web 3.0: Read/write/own
Whilst it is of course possible that a blockchain’s execution layer could displace Ethereum, I see it as highly unlikely, especially when you consider the broad base of support for the EVM by almost all of the major protocols. Hence, I would argue that the safest bet right now is ensure whatever you do, ensure you remain compatible with the EVM to future proof your project as much as possible.
I haven’t even needed to touch on the Ethereum layer two (L2) networks yet such as Arbitrum, Polygon, ZK-Sync to name a few. This is simply because any L2 network has to be very accommodating of the EVM for it to be an Ethereum L2, so naturally by using one of those solutions you’ll be aligned with the EVM there too.
Whilst the landscape is somewhat more complex than it was a year or two back, it’s widely considered that the future will be composed of many different blockchain networks servicing different verticals and catering to different niches. Using the EVM as your base will simplify some of the challenges for standardising your DApp development, you will still need to decide on which underlying platform is best for your needs, especially as you will need to choose between a layer one or layer two platform. However, we’ll save this topic for another day.
Hopefully by now you can see that building in an EVM compatible manner will keep you on a trajectory that is going to be well supported into the future.