💡 Ethereum’s Creation
We learned about blockchains in our previous article. We also discussed a little about Bitcoin and how it solves the double-spending problem by maintaining a distributed ledger to publicly record all transactions on the network, which allows anyone to view the entire history of each coin, and prove that no coin was spent twice. So far, so good.
Bitcoin was created solely for storing/sending/receiving digital money in a safe, secure, and decentralized manner without the involvement of any governing body, which started the new era, called Cryptoeconomics, however seeing the potential of blockchain and its applications, people started proposing various use-cases of blockchain for solving a wide range of problems. Creating separate blockchains from scratch for different tasks was time-consuming and not scalable at all, as a result, Ethereum was created, which enabled developers to build and publish smart contracts (self-executing/autonomous blocks of code) and distributed applications that can be used without the risks of downtime, fraud, or interference from a third party.
Ethereum was conceived in 2013 by a Canadian-Russian programmer Vitalik Buterin. Its Development started in 2014, and the network went live on 30 July 2015.
Vitalik wrote a detailed article in 2017 titled A Prehistory of the Ethereum Protocol, following are few excerpts from that article. I highly recommend everyone to read that article thoroughly for better understanding of how Ethereum evolved over time.
This was the time when the Ethereum protocol was entirely my own creation. From here on, however, new participants started to join the fold. By far the most prominent on the protocol side was Gavin Wood, who reached out to me in an about.me message in December 2013. - Vitalik
Gavin can also be largely credited for the subtle change in vision from viewing Ethereum as a platform for building programmable money, with blockchain-based contracts that can hold digital assets and transfer them according to pre-set rules, to a general-purpose computing platform. This started with subtle changes in emphasis and terminology, and later this influence became stronger with the increasing emphasis on the “Web 3” ensemble, which saw Ethereum as being one piece of a suite of decentralized technologies, the other two being Whisper and Swarm. - Vitalik
By the summer of 2014, the protocol had considerably stabilized, with the major exception of the proof of work algorithm which would not reach the Ethash phase until around the beginning of 2015, and a semi-formal specification existed in the form of Gavin’s yellow paper. - Vitalik
🖥️ Ethereum “The World Computer”
We are already aware that Ethereum enables developers to build and publish smart contracts and distributed applications aka Dapps, in simple terms, it acts as a platform for storing smart contracts, and when certain preconditions are met, the contracts are executed. The real question is, How Ethereum as a platform manages to do so? Lots of nodes participate in this process for getting a few ethers(mining reward) for doing it. These nodes or computers work together and share a common blockchain.
Ethereum simulates a perfect Turing complete machine, a thing which could never exist in nature because of the laws of physics, but which can be simulated by a large enough computer network, that’s why Ethereum is referred to as World Computer.
In colloquial usage, the terms “Turing-complete” and “Turing-equivalent” are used to mean that any real-world general-purpose computer or computer language can approximately simulate the computational aspects of any other real-world general-purpose computer or computer language.
🏗️ Ethereum’s Development Stages
Frontier: The initial stage of Ethereum.
Ice Age: A hard fork to introduce an exponential difficulty increase.
Homestead: The second stage of Ethereum.
DAO: A hard fork that caused Ethereum and Ethereum Classic to split into two competing systems.
Tangerine Whistle: A hard fork to change the gas calculation for certain I/O-heavy operations and to clear the accumulated state from a denial-of-service (DoS) attack that exploited the low gas cost of those operations.
Spurious Dragon: A hard fork to address more DoS attack vectors.
Metropolis Byzantium: The third stage of Ethereum.
Constantinople / St. Petersburg: Constantinople was planned to be the second part of Metropolis with similar improvements. A few hours before its activation, a critical bug was discovered. The hard fork was therefore postponed and renamed St. Petersburg.
Istanbul: An additional hard fork with the same approach, and naming convention, as for the prior two.
Muir Glacier: A hard fork whose sole purpose was to adjust the difficulty again due to the exponential increase introduced by Ice Age.
📝 Smart Contracts
The word contract means a set of promises between two or more parties. With that logic, Smart contracts should be set of promises but in some kind of digital form, right? Well… The word contract has no legal meaning in the context of Ethereum. Smart Contracts are simply programs(self-executing autonomous blocks of code) stored on a blockchain.
For the sake of simplicity, whenever you hear the word smart contract, think of it as some kind of computer program that gets executed when certain preconditions are met. There is no need to overcomplicate things, keep them simple and you will soon learn a lot about smart contracts when we will be programming them using Solidity and deploying those smart contracts as well.
Characteristics of a smart contract
- EVM compatible
📓 Types of accounts in Ethereum
Ethereum has two account types:
Externally-owned accounts (EOAs): They can be controlled by anyone with the private keys.
Contract Accounts: They are controlled by code to the network in the form of smart contracts.
It is important to know that both accounts have the ability to receive, hold and send ETH and interact with deployed smart contracts.
Moreover, Transactions between externally-owned accounts can only be ETH/token transfers, while Transactions from an external account to a contract account can trigger code which can execute many different actions, such as transferring tokens or even creating a new contract.
⚡ Ethereum Virtual Machine (EVM)
Directly quoting the definition from official documentation, which in my opinion is the most appropriate, accurate and easy to understand:
The EVM’s physical instantiation can’t be described in the same way that one might point to a cloud or an ocean wave, but it does exist as one single entity maintained by thousands of connected computers running an Ethereum client.
The Ethereum protocol itself exists solely for the purpose of keeping the continuous, uninterrupted, and immutable operation of this special state machine; It’s the environment in which all Ethereum accounts and smart contracts live. At any given block in the chain, Ethereum has one and only one ‘canonical’ state, and the EVM is what defines the rules for computing a new valid state from block to block.
🔥 Ethereum 2.0
“Change is the only constant element in this universe”, same also applies to Ethereum. Ethereum 2.0, also known as Eth2 or Serenity is an upgrade to the Ethereum blockchain. The upgrade aims to enhance the speed, efficiency, and scalability of the Ethereum network so that it can process more transactions and ease bottlenecks.
If you read our last in this series, then you must be familier with Proof of Work vs Proof of Stake consensus mechanism. While Ethereum 1.0 uses a consensus mechanism known as proof-of-work (PoW), Ethereum 2.0 will use a proof-of-stake (PoS) mechanism.
⏩ Fast Track Learning
Q- What do I mean by the term Ethereum?
Well… it can be used to refer to three distinct things:
- The Ethereum protocol.
- The Ethereum network.
- The Ethereum project.
Q- Is Ethereum and Ether the same thing?
Ethereum is a decentralized, open-source, programmable blockchain which enables developers to build and publish smart contracts (self-executing/autonomous blocks of code) and distributed applications that can be used without the risks of downtime, fraud, or interference from a third party. While Ether (ETH or Ξ) is the native cryptocurrency of the platform.
Q- How Ethereum is different from Bitcoin?
Bitcoin was too limited in its functionality. In an interview with Business Insider, Vitalik compared it to a pocket calculator that does one thing well, whereas he said Ethereum is more like a smartphone with multiple applications you can use.
Q- Is Ethereum Better Than Bitcoin?
Can you compare a mango with a banana? No. In other words, Ethereum has much wider ambitions. It wants to be a decentralized computing platform for creating other decentralized applications, while Bitcoin is digital gold.
Q- What are smart contracts?
Smart contracts are simply programs(self-executing autonomous blocks of code) stored on a blockchain that run when certain predetermined conditions are met.
Q- What are some benefits of smart contracts?
- Speed, efficiency and accuracy
- Trust and transparency
- No need of intermediaries to handle transactions.
Q- In which language a smart contract can be written?
The two most active and maintained languages for smart contract development are:
- Intro to Ethereum
- Intro to Ether
- Intro to dapps
- Web2 vs Web3
- Account Types in Ethereum
- Ethereum virtual machine (EVM)
- Nodes and clients
- Consensus mechanisms
- Smart contracts
- Development networks
- Development frameworks for smart contract development
- Ethereum client APIs
- Programming languages for smart contract development
- Ethereum, Smart Contracts, and the World Computer
- Ethereum Wikipedia
- Turing Completeness
That was all from my side in this article; See you very soon in Genesis 0x04, Keep warm, stay hydrated and have good day ahead :)
💌 Want to support my work?
If you think my work has added some value to your existing knowledge, then you can Buy me a Coffee here (and who doesn’t loves a good cup of coffee?)
Subscribe to Genesis’s Newsletter to get future articles/updates/blockchain-related news directly in your mailbox.