On a pure business level, the Ethereum blockchain is an open-source network that has finance, governance, marketplace, and other functions built-in. These functions allow developers to build the next generation of decentralized applications that are censorship-resistant, that promote transparency, accountability, and promote anonymity and neutrality.
Ethereum has been compared to Bitcoin in the past, and rightfully so, given that they are cryptocurrencies and they share common elements, such as a p2p network, cryptography for digital signatures, and currency. The main difference lies in the fact that Bitcoin was originally built to be a form of digital currency or store of value, which limits its use case. Ethereum on the other hand was built to serve as a programmable blockchain, capable of executing custom code.
What are the main components of a Blockchain?
An open and public blockchain generally has the following components:
- A peer-to-peer network where participants can transact with one another based on a standardized protocol
- A list of transactions, which are also referred to as messages.
- A set of Governing rules, which are agreements made between participants on what makes a transaction and what constitutes is a valid one.
- State Machine that executes blockchain transactions based on the governing rules.
- A Consensus Algorithm that ensures that the blockchain is indeed decentralized and that governing rules are observed and enforced during transactions. The main consensus algorithms known today are Proof-of-work and Proof-of-Stake, Proof-of-Authority, Proof-of-Elapsed-Time, etc.
- A Shared Ledger, which represents a chain of blocks, secured by cryptography. Its role is to store all valid and approved transactions. Each node on the network and a replicated and synchronized version of the ledger at all times.
As of this writing, Ethereum is still using a Proof-of-Work consensus mechanism. This makes it more energy-consuming but will be migrating to ETH 2.0, with the introduction of Proof-of-Stake.
Most developers tend to compare a blockchain to a typical database that can store arbitrary data. But there are a couple of differences between both ecosystems that are worth mentioning. With traditional databases, transactions are instant and recorded permanently; There is no need for approval in order to record a specific transaction. In the Blockchain world, there is no guarantee that a transaction will be validated and stored on the chain permanently. A typical database could run on one server, but to function properly, a blockchain requires multiple nodes to be connected to each other in order to validate transactions.
To ensure decentralization and increase participants’ confidence in the system, a blockchain relies on a set of rules called Consensus Protocols that will also guarantee the validity of transactions/operations.
A consensus protocol represents an agreement between nodes running the peer-to-peer network, on how transactions should be processed and validated. When Ethereum was founded, it introduced Proof-of-Work, but other Consensus protocols emerged as we will discuss next.
- Proof-of-Work (PoW): This is the consensus mechanism used by Ethereum when it launched back in 2015. This mechanism relies on miners to mine new blocks and maintain the network secured during peak times. Cryptomining requires a lot of computational power and the more computational power a miner has at its disposal, the more likely they are to mine a new block. Each block contains a reward in “Ether” (in the case of Ethereum) which is granted to the first miner who adds a valid block to the blockchain by “successfully hashing the block data in an attempt to find a cryptographic hash that has specific characteristics”.
- Proof-of-Stake (PoS): Proof-of-Stake represents an improvement compared Proof-of-Work. And that has been on Ethereum’s roadmap, which will also introduce ETH 2.0. PoS is less energy-intensive and simply requires participants to stake their assets/ether. With Proof-of-Stake there is a necessary investment in hardware/equipment. The downside is that you need a substantial amount of capital/assets/ether in order to get higher Staking Rewards in a Proof-of-Stake system. This puts participants with less capital in a position of disadvantage.
- Proof-of-Authority (PoA): This type of protocol is mainly used in privately held and operated blockchains where network activities are hidden to the public and only accessible to certain entities, called block creators.
For a Smart Contract developer, it is not important to understand the mechanisms behind these protocols, but simply be aware of their existence and how it impacts their Blockchain Development journey.
In a traditional database, it is implicitly assumed/given that transactions will never be reverted, in most cases. When the transaction goes through, the chances of rolling it back are slim. In the blockchain space, there is no guarantee a valid transaction will be approved and stored on-chain. Let’s say for instance that a blockchain is built to handle 50 transactions per second and for one reason or another, it receives 60 transactions in its network. 10 transactions will not be processed immediately and will be stored in memory (mempool). In order to process a transaction from the mempool into an actual block, the participant needs to pay higher gas fees to the block creator.
July 30, 2015: Ethereum
The birth of Ethereum was not an easy one.
Back in 2013, Vitalik Buterin, a young programmer started exploring ways to expand on the original limitations of Bitcoin and its network. The Bitcoin model was a success, but its applications to the real world were very limited. So in December 2013, Vitalik introduced a whitepaper that described his blockchain proposal as Turing-complete. Dr. Gavin Wood, who was a C++ programmer read the paper and offered his help to Vitalik. He will become Co-Founder and CTO of Ethereum afterward. On July 30, 2015, The first block was mined and Ethereum was born.
Ethereum Main Stages of Development
The Ethereum Blockchain went through major stages of development called “hard forks”. Each hard fork changes the functionality of a blockchain and is not backward compatible.
- Block # 0 – Frontier: Initial block mined (July 30, 2015)
- Block # 200,000 – Ice Age: Introduces diffculty increases to prepare for the migration to PoS
- Block # 1,150,000 – Homestead: Second stage of Ethereum (March 2016)
- Block # 1,192,000 – DAO: Ethereum Splits into ETH & ETC after the hacked DAO Contract
- Block # 2,463,000 – Tangerine Whistle: Ethereum Changes gas fees structure to limit DoS attacks
- Block # 2,675,000 – Spurious Dragon: More DoS attack fixes
- Block # 4,370,000 – Metropolis Byzantium: The third main stage of Ethereum (October 2017)
- Block # 7,080,000 – Constantinople: The third main stage of Ethereum (February 2019)
- Block # 8,772,000 – Atlantis (September 2019)
- Block # 9,069,000 – Istanbul (Dec 2019)
- Block # 12,965,000 – London (August 2021)
A decentralized application (DApp) is a web application that is built on top of the blockchain. Its bare minimum should always include a Smart Contract and User Interface that interacts with and executes the Smart Contract. The success of Ethereum has allowed developers to expand the notion of blockchain to other components, such as Decentralized Storage (Swarm, IPFS), Decentralized Messaging (Whisper), etc.
The Web 2.0 term was first introduced in 2004, which describes the web as more interactive, with responsive interfaces and user-generated content. Dr. Gavin Wood later introduced Web3 as the next evolution of the web, dominated by decentralization in every single aspect of the internet, from network protocols to storage, to messaging, etc.
Why Should You Learn Ethereum Blockchain?
Learning about blockchain, in general, is not easy, as it requires some knowledge in other domains, such as programming, cryptography, economy, networks, etc. Ethereum’s original vision of building a public and general-purpose blockchain has made the learning curve of blockchain less steep.
Given the massive community of developers behind Ethereum and the pace with which it is growing, it is the easiest and simplest way to get started in blockchain development. The Ethereum development community has built various tools that allow newbies to get up and running quickly.
That’s why Ethereum is often referred to as “The World Computer”.