Issue #43: EVMs and Oil Fields
One of the hardest things about writing a weekly newsletter is idea generation. In January, I started with a list of 30 or so really good topics. I burned through those topics by August, and for the last few months have been scrapping the bottom of my creativity barrel. Sometimes the daily news cycle delivers a gem, but it’s not reliable.
I’ve found my best ideas come during or immediately after conversations with other people, so I’ve started investing in more 1:1 discussions each week. Today’s topic was inspired by conversations in September with two former colleagues - Alex Cullen (Kraken) and John Shutt (UMA).
In terms of smart contract-based blockchains capable of supporting DeFi and NFTs, Ethereum was the only game in town. But scalability challenges, high transaction fees and a sloooow migration to ETH 2.0 have opened the door for other Layer 1 and Layer 2 blockchains. It’s a multi-chain world now and there probably isn’t any going back. Assuming more assets and transactions move to faster and cheaper Layer 2s and sidechains, what will be Ethereum’s legacy?
One suggestion was EVM - the Ethereum Virtual Machine.
There’s an incredible brand that exists around the Ethereum Virtual Machine and I wanted to explore why.
Let’s zoom in…
Not all blockchains are alike.
Before Ethereum, it was accurate to describe blockchains as distributed ledgers because the blockchains that existed at the time were simply managing total supply and ownership (aka account balances) of a single asset. Literally, a ledger.
When smart-contract based blockchains like Ethereum were invented, distributed ledger was no longer accurate. Blockchains had evolved and were doing more. A better name is distributed state machine. Let’s break this down:
Distributed because multiple identical copies are running in parallel.
State because it must keep track of the current state (aka a snapshot) of all Ethereum accounts and smart contracts. At any moment, there is only one state of the Ethereum blockchain. The current state!
Machine because it must run thousands of small software programs (smart contracts), updating them every time a new block of transactions is processed.
Now, machines don’t have to be physical. In computing, there is also something called a virtual machine. Virtual machines emulate the functionality of a computer without the physical hardware. They can run on your computer in a window as a completely separate computer system, often running a different OS. For example, I could run a virtual machine with a Windows operating system on my Mac laptop. Amazon will also run virtual machines for you as part of their AWS platform.
Ethereum is another type of virtual machine. Like a computer, without the physical hardware.
It’s actually more accurate to think about Ethereum as a giant, distributed virtual computer rather than a distributed ledger because in addition to maintaining accounts, it is also executing smart contracts.
The EVM speaks a certain language.
Ethereum smart contracts are written in a specific programming language - solidity. Ironically, the EVM can’t understand solidity, so all smart contracts go through a translation process called “compiling” before they end up on the blockchain. Compiling turns Solidity into bytecode. One of the benefits of having the Ethereum Virtual Machine only understand bytecode is it allows developers to write smart contracts in other programming languages.
So the EVM is like a general purpose machine you can throw anything into as long as you translate it first.
Now that you understand the Ethereum Virtual Machine, let’s switch gears and talk about the goal of every blockchain - network effect.
We know how important network effects are to social and digital media platforms. The value you get from a Facebook or a Youtube is directly related to the number of people using it. The same is true for blockchains.
The value of a particular chain is directly related to the size of the community on top. You’ll often hear people in tech say “the best technology never wins, the best community does”. That is especially true in this case.
The formula for building a community and generating network effect is actually straightforward, though hard to execute.
If you can attract developers, they will build great applications
Great applications attract users
Users pay transaction fees and drive network revenue
Developers are the most valuable stakeholder in this sequence. Without them, nothing gets built. If nothing gets built, there is nothing to attract users and transaction activity.
Developer community is one thing Ethereum has excelled at, more so than any other blockchain community. Electric Capital does a great annual study on blockchain development. Their December 2020 Report estimated roughly 2,500 monthly active developers on Ethereum. We also know over 110,000 wallet addresses qualified for the Shadowy Supercoder NFT (which required you to have deployed a contract on Ethereum, and the contract must have interacted with at least two different addresses).
Safe to say there are at least a couple thousand consistently building on top, and tens of thousands who have made contributions at some point during Ethereum’s lifespan.
So what role does the EVM play in helping blockchains achieve network effect?
In the last few years, a wave of EVM-compatible blockchains have launched. Today there are over a dozen, including Binance Smart Chain, Polygon, Avalanche, Arbitrum, Optimism, xDAI, Fantom and Harmony.
Even blockchains that didn’t start out EVM-compatible have initiatives to support compatibility. This week, Neon Labs raised $40M to bring EVM compatibility to Solana. Aurora launched back in April bringing EVM compatibility to NEAR.
So what does “EVM-compatible” mean?
It means smart contracts written for Ethereum (in Solidity, Vyper, etc.) can be deployed on the new chain. This has several practical benefits for the EVM-compatible chain, whose objective is to attract developers and applications.
Easy migration. A DeFi protocol on Ethereum can use the same smart contracts to deploy their protocol on the EVM-compatible chain.
No re-learning. Solidity developers don’t need to learn a new language to develop smart contracts for the EVM-compatible chain.
Support. Tools and libraries supporting Ethereum smart contracts can be used for development on the new chain. This includes compatibility with applications like Metamask, the most popular Web3 wallet.
The Ethereum developer community and ecosystem of applications is like a giant oil field that everyone knows about. New blockchains could find their own oil, but it’s a heck of a lot easier to drill into an existing field. EVM-compatibility is the equivalent of drilling a new hole into the ground to extract as much oil from Ethereum’s field as possible.
Even if transactions move off Ethereum completely to L2s and sidechains, it’s possible that EVM compatibility is the one thing they all share because the network effects around the Ethereum developer community are so strong.
Thanks for reading,
Not a subscriber? Sign up below to receive a new issue every Sunday.