In our last section, when discussing how to analyze new blockchain networks you encounter, we recommended you ask, "Why does this network exist?" Well, we think it's important to drink our own potions, so we'd like to ask that question of Ethereum: Why does it exist?
We'll do a brief overview of the Ethereum network,{target=_blank} including its history, but we'll dive deeper into all of this material over the rest of the course.
Vitalik Buterin{target=_blank}, a co-founder of Ethereum, was an active part of the Bitcoin community, including writing for Bitcoin Magazine.{target=_blank} He and others in the community had become interested in developing more computing capacity for the Bitcoin network. As we learned in a previous section, Bitcoin does have a programming language, Script.{target=_blank} Projects such as Colored Coins{target=_blank} and RSK{target=_blank} have tried to introduce extra programming capacity on top of the Bitcoin Network. Buterin and others researched this and decided to build their own network, which would become Ethereum.
Ethereum ran a pre-sale to fund its development and collected funds in Bitcoin. The testnet launched in May 2015 and the public mainnet, Frontier, launched in July 2015 (source{target=_blank}).
Ethereum differs from and overlaps with Bitcoin in quite a few ways. We'll get into more specifics later, but here are the broad strokes:
- Consensus Mechanism Ethereum and Bitcoin both use the Proof of Work mechanism to create blocks in their network. Ethereum is moving its network to Proof of Stake, a testnet of which was launched in December 2020. The effort to swap the consensus mechanism of Ethereum to Proof of Stake is sometimes called Ethereum 2.0.{target=_blank} More on this later!
- Programming Language also called an Execution Environment. It's essentially how much a programmer can do with the network. As we mentioned, Bitcoin has a limited, programming language that can do some interesting things. However, one of Ethereum's biggest selling point for many developers is what's called the Ethereum Virtual Machine (EVM). Compared to Bitcoin's Script, the EVM provides a much more robust programming environment which allows people to build small, automated programs called smart contracts. For this reason, Ethereum can be the base layer for a number of other platforms and protocols.
- Developer Base Due to the capacity of the Ethereum network compared to Bitcoin, Ethereum has a much more robust developer base compared to Bitcoin. In the past few years, there have been blockchains also with more capacity than Bitcoin (We will examine a few of these in our section later on crosschain interoperability). However, Ethereum has the first-mover advantage as well as a well-organized developer base for both its protocol and for its smart contracts.
The Ethereum community has a series of governing bodies that coordinate the maintenance and updating of the protocol. Ethereum Core Developers{target=_blank} hold monthly calls, which are open to viewing by the public. There is also a group called Ethereum Cat Herders,{target=_blank} which is dedicated to "decentralized project management to support the Ethereum network."
Changes to the Ethereum network begin as Ethereum Improvement Proposals (EIPs){target=_blank}. The EIP process is a well-defined system where anyone can submit ideas to improve the network. It will require a lot of effort and dedication, but EIPs are essential to the network's well-being. Related are Ethereum Request for Comments (or ERCs). ERCs are standards that have been agreed upon by the community. A well-known example are community standards for common smart contracts, like the ERC-20 and ERC-721 (also known as an NFT!). More on this later!
Overall, we would argue that Ethereum's extended capacity from the EVM gave rise to a broader community of developers. This has given Ethereum a distinct advantage over other blockchain networks. Now, this does not mean Ethereum is the best blockchain for all things. This also doesn't mean Ethereum will always be the blockchain with the strongest developer base. It's simply the case now.
Let's learn more about the Ethereum ecosystem!
- Article: A Short History of Ethereum (ConsenSys){target=_blank}
- Article: What is Ethereum 2.0? (ConsenSys){target=_blank}
- Reddit: What's the Difference Between ERC and EIP?{target=_blank}
- Wiki: Ethereum Improvement Proposals{target=_blank} Learn here about the Ethereum Improvement Proposal (EIP), the way in which standards to the protocols are created, developed, changed and (potentially) implemented.
- Wiki: Ethereum Community{target=_blank} Great resource where you can learn how to get involved in the Ethereum community.
- Article: What is an Ethereum Core Developer? (Hudson Jameson){target=_blank} Great article detailing the previously-undefined term of a "Core Developer." Jameson comes up with this definition, "Ethereum core developers are people who currently provide significant contributions to Ethereum low-level protocol development"