The Ethereum network was proposed by Vitalik Buterin in 2013, and officially launched on July 30, 2015 with the help of Gavin Wood, Joseph Lubin, and many others. Ethereum has been an active public network ever since.
It’s been notoriously hard to describe Bitcoin over the years, its essence, and how it works, but Bitcoin can simply be said to be digital money. And money itself has a long history. It seems to be as old as trade and civilization itself.
Ethereum is even harder to describe and define it because Ethereum doesn’t have a previous concept like money to reduce it down to. The founders took the essence of Bitcoin and built a totally new network extending a blockchain’s functionality, possibilities, and complexity considerably.
So what “is” Ethereum?
Ethereum is a distributed general purpose computer whose state and subsequent state transitions are recorded cryptographically on its own native blockchain.
The above is a succinct definition of what Ethereum “is”, but it can be hard to understand what any of the above means if you don’t know the technical jargon.
A distributed general purpose computer (GPC) means there is no singular physical instance of the computer. The physical computer you’re using right now to read this blog post, whether its a smart-phone, tablet, or desktop, has a singular physical form and more than likely is a general purpose computer, meaning it can perform many different computations and run a wide variety of computer programs. The Ethereum GPC can also perform many different computations and run many different programs like the one you’re on right now. But in contrast to your computer, there is no specific physical instance of the Ethereum computer. A distributed network of computers working together create the Ethereum GPC. Ethereum abstracts the hardware of a GPC, like your desktop, and acts as a virtual, decentralized computer that anyone can use…for a cost. More on this later.
Computers or networks like your personal computer, Bitcoin, and Ethereum have something called a state, or status, that can be measured and recorded over time. For example, we could describe the state of a company with a balance sheet, income statement, and/or cash flow statement. We could also describe the state of our bodies with medical tests. When we go to the hospital the nurses and doctors are often trying to get a baseline understanding of the current state of the patient’s health and the previous states the patient’s body has been in (medical history).
The current and past states of networks like Bitcoin or Ethereum can be viewed by anyone around the globe with an internet connection. The current state and previous states of these networks are recorded overtime in a data structure known as a blockchain, through the mechanism of proof of work mining.
Ethereum not only records its states over time, but also records state transitions, which allows anyone to go back in time and view previous states of Ethereum, as well as replay the execution of specific programs that led from one state to another state. This means that not only can an interested party see the previous state of a program, they can also see all the steps involved that led up to its current state. This is an incredible level of transparency afforded to anyone interested enough to parse through the history of Ethereum or the history of a specific program or smart contract.
The Ethereum Blockchain
At the foundation of the Ethereum network is its proof-of-work based blockchain and its native token Ether. Like Bitcoin, the Ethereum blockchain records the distribution of ownership of its native token, updates the distribution whenever transfers of its native token are made on the network, and helps the network synchronize its state amongst a heterogeneous network of nodes.
Although users can and do use Ether like a money to store value, transfer value, or measure value, its highest and greatest utility comes from its use as payment for utilizing the Ethereum Computer, otherwise known as the Ethereum Virtual Machine.
The Ethereum Virtual Machine (EVM)
Ethereum has a blockchain and is considered a “blockchain”, but that might be the least interesting thing about it. Bitcoin and many others have blockchains as well. What makes Ethereum special is the Ethereum Virtual Machine. We can think of the EVM as the next technology on the Ethereum “tech stack”. At the foundation we have the Ethereum Blockchain, and then operating “on top” is the EVM.
A virtual machine is software that abstracts the functions of actual hardware. These software based “machines” aren’t new and some programmers may be familiar with Microsoft’s virtual machine, .NET framework, or the Java Virtual Machine (JVM), both of which have been used for years by developers all over the world.
The EVM’s job is to execute programs it’s called to execute, and update the resulting state transitions as defined by the Ethereum protocol. The EVM can be thought of as a global decentralized computer containing millions of executable programs running on top of the Ethereum blockchain.
In order to execute programs on the EVM one must pay in Ether (ETH). This is Ether’s intended function. Its use as a money is secondary to this primary purpose as a means of payment for the execution of programs stored in the EVM.
Externally Owned Accounts (EOA), Smart Contracts, and Gas
Like other blockchain based networks, Ethereum has addresses or accounts with units of Ether (ETH) attached to them that can only be transferred by producing a digital signature from the appropriate private key. Also like these other networks, users can send ETH to each other through their Ethereum wallets and the Ethereum blockchain listens for those transfers, validates them, and then includes them in its blockchain. These private key controlled accounts are known as Externally Owned Accounts (EOA). The other class of addresses or accounts in Ethereum are known as smart contracts.
The term smart contract was coined by Nick Szabo in the 1990s. He defined a smart contract as “a set of promises, specified in digital form, including protocols within which the parties perform on the other promises”.
Smart contracts imply intelligence, but they aren’t aware or willful in the way we often describe human intelligence. Nor are they enforced by law. Ethereum “smart contracts” are simply digital programs that run on the EVM. They can only do what they are programmed to do and nothing more: completely deterministic. But, by executing digital programs on a decentralized computer anchored to a proof-of-work blockchain, simple digital programs become censorship-resistant smart contracts which allows developers to produce unstoppable code and theoretically unstoppable applications.
But to initiate the execution of a smart contract, the contract must be called upon by a transaction initiated from an EOA. They cannot initiate themselves. Once initiated by a transaction, a dormant smart contract comes alive and seeks to execute on the instructions given. To execute the smart contract, the contract needs resources from the EVM like computation, memory, and storage. In order to get access to these resources the program must pay the EVM in exchange for use of its resources. The program will pay the EVM with Ether based on the number of steps or the amount of resources it uses. The measurement of steps and resources needed to execute a smart contract call is measured in something called Gas.
Gas is a unit of measurement. In Ethereum, Gas is a computational unit or a measure of the number of steps/resources needed to execute a smart contract on the EVM. The relationship between Ether and Gas is not too dissimilar to the relationship between a fiat currency and gasoline. Gasoline in meatspace is measured in gallons and paid for in a fiat currency like the USD or EUR. Computation in the EVM is measured in Gas (computational units) and paid for in Ether.
When someone says the Gas price for Ethereum is 40 Gwei, they mean each step a smart contract needs to execute costs the transactor 40 Gwei. This is another way of saying each computational step taken by the EVM costs the user .00000004 ETH per computational step. If a contract needs 2,000 steps to execute the program, at the market rates quoted above, it will cost the user $0.02 cents, or 0.00008 ETH, to run the program on the EVM.
Gas in Ethereum acts as a measurement that manages important ratios between the costs and availability of resources like computation, memory, and storage that the EVM provides. These are fairly abundant right now, but they’re still limited resources that need to be accounted and paid for.
Creating digital tokens on Ethereum has been one of the main use cases for developers on the platform. Tokens are money-like, but they usually have a more limited use case for a specific place, need, or community.
For example, many are familiar with replacing their fiat currency for tokens at an arcade or gaming facility. The tokens have value and act as a money within the walls of the arcade but are generally useless outside of that specific arcade. In the same way, Ethereum based tokens represent some sort of value and can even have overlapping sources of value, but tokens are always more limited and specific in utility than a pure money.
Tokens can represent one thing or many different things at once depending on how the developers architect them and how users use them. Ethereum based tokens can represent anything from physical assets, financial assets, currencies, access rights, equity, voting rights, digital collectibles, identity, and attestation. Ethereum developers have even provided templates and standard smart contracts for the production of certain classes of tokens.
The two most popular Ethereum token standards thus far are the famous ERC-20 standard and the ERC-721 standard.
Most users are familiar with ERC-20 tokens which have usually been used to create digital tokens that give users access rights to a specific, or a set of specific, applications. Many Ethereum based apps have ERC-20 tokens associated with them and those tokens are usually referred to as “utility” tokens. The user needs to own and transfer these specific utility tokens to use an application or a certain feature within an application. Just having ether or bitcoin or another fiat currency won’t suffice to use applications that require the use of the specific token, much like you can’t pay a video game that demands a specific token with the US dollar. You won’t be able to play.
The next most popular standard is the ERC-721 contract. This contract was created specifically for the creation of non-fungible tokens (NFT) or rare digital collectibles. The most famous example to date of this contract type is CryptoKitties. Each individual CryptoKitty is a unique digital collectible with no other copies.
We went through a lot of the parts and technologies that make Ethereum go, but what is Ethereum’s purpose?
The purpose and end goal of the Ethereum community is to build decentralized, secure, reliable, and neutral infrastructure for developers to build decentralized applications. The Ethereum platform is designed for developers to build web applications with a plethora of distributed open source tools and resources that can distribute and automate responsibilities and features like payments, ownership, identity, storage, memory, messaging, computation, name resolution, backend software (logic), and even front end software in a way that makes a company or central authority unneeded in the daily operation and continued development of an application.
We’ve already seen decentralized prediction markets launched on Ethereum, as well as decentralized exchange protocols and decentralized lending facilities that show promise. They are complex, are often hard to use, and incredibly nascent but one can see the potential by interacting with them and following their development. The applications and the protocol itself needs to mature but the seeds of great things to come have been planted and things are growing.
Criticisms and Concerns
Ethereum has been controversial and consequential from its genesis. Unlike Bitcoin and some others, Ethereum held a token sale of ETH that preceded the launch of the network. This isn’t uncommon in crypto, but many in the space consider it an unfair launch compared to other methods, with token sales in general posing considerable legal risks from national and global regulators. However, the Securities and Exchange Commission (SEC) and others have ruled that Ether (ETH) is not a security and it seems likely that the farther away we move from the token sale itself, and the more the network progresses, the less likely the legal risks mentioned will have merit.
Ethereum has also had intense disagreements within the community that have lead to controversial decisions, which, for many, have discredited the Ethereum community’s commitment to immutability or unstoppable code.
For instance, in mid-2016 a considerable amount of ether was “stolen” from a smart contract, an incident known as the DAO hack. We won’t get into the details of what happened, for those interested there is plenty of literature written about this hack and the events that happened after.
What’s important to know is that a sizable chunk of the Ethereum community split into two camps: those that wanted to recover the funds and those that wanted to let what happened go. As a result of the disagreement with how to handle the hack, Ethereum, in crypto-asset language, forked into two different networks: (1) the network that rolled back the DAO hack is known as ETH, and (2) another network that didn’t make any changes that undid the DAO hack is known as Ethereum Classic (ETC). Who is right and who is wrong is up for interpretation, but its undeniable that the market (investors, users, developers, businesses, miners, speculators) has consolidated behind the ETH community and has come to its support much more than the ETC community.
There are also concerns about Ethereum’s ability to scale due to its inherent complexity and inability to do parallel computation. Inability to scale is a common criticism of blockchains in general, and it becomes even more true for something as complex as Ethereum. How to scale something like Ethereum is on the very edges of theory and practice and is rife with disagreements, unknowns, and unknown unknowns.
It’s hard to know which coins and platforms are “better”, can scale, or will win out, but this is what the market is for. Everyone has different theories, visions, uses, incentives, and understanding of these different technologies, and only time will reveal which platforms or coins are needed and useful and which are superfluous and lack utility. Those that have a theory can put their money where their mouth is and their code where their mouth is.
We’ve watched Ethereum blossom from a white paper to a paradigm shifting network that many of our users use. We’ve also seen the development of incredible dapps that have tremendous potential. It’s still very early in the story of Ethereum and we’ll be there to support it, its developers, its applications, and its users every step of the way.