Welcome to our series on how Ethereum works. Over the course of the next few weeks, we’ll be publishing a guide about the history of Ethereum, its current uses and structure, and where it may go in the future.
Before understanding how Ethereum works, it’s important to learn about the history of how Ethereum came about.
It wasn’t until Bitcoin’s release in 2008 that blockchain technology was adopted. Even though foundational concepts like peer-to-peer networks and decentralization had been researched and studied for decades, the launch of Bitcoin proved it was possible for these concepts to become one functional product—and a successful one at that. These ideas were transformative, and many members within the Bitcoin community envisioned that blockchain technology would forever change the way people—including Vitalik Buterin, Ethereum’s co-founder—thought about the world.
Vitalik envisioned a new use for blockchain after Bitcoin, one that went broader and wider for a larger set of applications. He explained, “I thought [those in the Bitcoin community] weren’t approaching the problem in the right way. I thought they were going after individual applications; they were trying to, kind of, explicitly support each [use case] in a sort of Swiss Army knife protocol.”
Ethereum was built to go beyond trading cryptocurrencies. Vitalik imagined a sort of “internet of money” built on a neutral, open-access infrastructure, one controlled by no central entity and beholden only to its users. In 2013, Vitalik released a white paper describing what would ultimately become the Ethereum blockchain using the Turing complete programming language — a language that says any operation can be programmed within it — as a model.
Ethereum’s Turing complete language was originally based on Alan Turing’s concept of a Universal Turing machine. Because Ethereum implements the concept of a gas limit, developers can’t run programs that require more gas than the gas limit. Thus, the Ethereum yellow paper calls the Ethereum Virtual Machine, the EVM, a “quasi-Turing complete” machine. While it bears many similarities, Ethereum is not truly Turing complete because developers can’t program anything they want without gas. (We’ll cover gas in the next article!)
As one of the most popular crypto-currencies, it makes sense to compare Ethereum to Bitcoin, its older brother.
One of the main differences between the Bitcoin and Ethereum networks is Ethereum’s usage of smart contracts. A smart contract is a program that allows users to transact with each other according to a certain set of predetermined rules, thus removing the need for a third party to enforce these rules.
In comparison, Bitcoin has limited support for smart contracts, and its scripting language is non-Turing complete because, among other reasons, it doesn't have loops. That means there are many applications developers can program on Ethereum but not on Bitcoin.
To substantiate program support at-scale, the Ethereum protocol automates the consensus and execution of a contract—something that has broader implications for the future of the network. Automated smart contract execution offers programmers a powerful tool to do things that would otherwise not be possible for Bitcoin, which is why Ethereum smart contracts are so popular. These smart contracts not only allow users to interact with others on the network, but also allows developers to build and publish whatever contract they want onto the blockchain, whether that’s an ERC20 token or a decentralized application (also known as a dApp).
(If you’d like to learn more about smart contracts, check out our 101 article here. )
Ethereum’s native currency, also known as Ether, operates as a store of value for its users on the platforms, as compared to Bitcoin’s use of BTC. While the Bitcoin blockchain can be seen as a database of accounts, Ethereum serves as a CPU power that is capable of fueling developers to build resources and run their own blockchains or apps on top of the Ethereum network, including the usage of smart contracts themselves.
Similarly, the scale of offerings on Ethereum allows for deeper dives than Bitcoin does. Ethereum allows developers to build other cryptocurrencies or tokens using the same protocol as Ether itself, all while allowing them to distribute these tokens on their native blockchain that are private or public.
Since Ethereum consists of only one public blockchain, developers must create a modified clone of Ethereum if they want to use the technology on a private blockchain. In order for users to transact with each other using Ether or an ERC20 token on a private blockchain, users will need a means to send tokens between chains. Although Ethereum does not provide this directly, its quasi-Turing complete smart contracts make it possible for users to implement this.
In comparison to Bitcoin, Ethereum uses Solidity to compile a series of EVM instructions. Since computers, or a central processing unit (CPU), do not automatically understand code written in languages like Python and C++, developers must compile their code into basic instructions CPUs can understand. Likewise, smart contract programmers write in Solidity, or in other languages such as CertiK’s DeepSEA, which are then compiled into EVM instructions and sent to the Ethereum blockchain.
There are also more limitations on Bitcoin as compared to Ethereum. That’s because transactions executed on the Bitcoin network use a different method of costing transactions that is limited to blocksize, whereas Ethereum depends on computational complexity, bandwidth, and storage needs.
Now that we understand the differences between Ethereum and Bitcoin, let’s dive into Ethereum’s origins. Here are some key dates.
November 2013: Vitalik Buterin released a whitepaper that described Ethereum as “an all-purpose computational platform for smart contracts and decentralized autonomous corporations.”
April 2014: Gavin Wood, one of Ethereum’s co-founders, volunteered to write the C++ compiler and later wrote the Ethereum yellow paper outlining the specifications for the EVM.
July 2014: Ethereum’s first presale raised more than $18.4 million dollars in exchange for 60 million Ether (ETH), Ethereum’s native currency.
July 2015: Ethereum’s testnet, Frontier, was launched after both the whitepaper and yellow paper. Later they released the proposed token specifications, which became known as the “ERC standard.”
March 2016: Ethereum's first production-ready version, Homestead, was launched.
June - July 2016: The DAO, the first Decentralized Autonomous Organization built on Ethereum, was hacked and 3.6 million Ether were stolen for a costly security breach that almost sank the entire project. A portion of the community wanted to roll Ethereum back to undo the damage, while the other insisted that they should accept the hack for what it was; the disagreement between these two schools of thought resulted in a hard fork into Ethereum, ETH, and Ethereum Classic, ETC, once a refund smart contract was established.
October 2017: The Byzantium hard fork was implemented, paving the way for a potential implementation of proof of stake. Proof of stake allows validators to receive rewards and fees by staking their Ether to confirm transactions on the network.
February 2019: Ethereum’s Constantinople hard fork consisted of a collection of upgrades and maintenance around the operations of the network. Just 48 hours before it could go live,, developers introduced the St. Petersburg hard fork to remove the EIP 1283 security vulnerability found in Constantinople— another example of how security, or a lack thereof, impacts every aspect of the blockchain world.
May 2019 and ongoing: The upcoming Istanbul V1 hard fork includes six changes to the EVM, most of which are slight optimizations that are highly technical. While the Istanbul V2 version raises some controversy around a new algorithm called ProgPoW, Serenity (Ethereum 2.0) looms to a complete switch from a Proof of Work to a Proof of Stake. For more information, feel free to check out our refresher on the details of Istanbul and Serenity.
Now that you understand the foundations that built Ethereum, stay tuned for our next article on accounts & gas.
Until next time!