Overview
The Birth of Ethereum¶
Vitalik Buterin published a blog post in 2013 titled "Ethereum: The Ultimate Smart Contract and Decentralized Application Platform," where he first introduced the concept of "Ethereum" and presented the vision of a "Turing-complete blockchain."
What is Ethereum?¶
Ethereum is a decentralized application platform built on blockchain technology. It allows anyone to build and use decentralized applications powered by blockchain technology. We can broadly understand Ethereum as the Android of blockchain — it is a development platform that lets us build applications on top of blockchain technology, much like building apps on the Android Framework.
Before Ethereum, developing blockchain applications required copying the Bitcoin codebase and modifying the underlying code — things like cryptographic algorithms, consensus mechanisms, network protocols, and so on (many altcoins were created this way, with minor modifications resulting in a new coin).
The Ethereum platform encapsulates the underlying blockchain technology, allowing blockchain application developers to build directly on the Ethereum platform. Developers only need to focus on writing the smart contract logic for their applications, which significantly lowers the development barrier.
Differences Between Ethereum and Bitcoin¶
Bitcoin's primary goal is to provide an electronic cash system that does not require intermediaries. Bitcoin's scripting language is relatively simple and non-Turing-complete, capable of executing only basic scripts and conditional transactions, mainly used for payments and simple contracts.
Ethereum supports Turing-complete smart contracts capable of encoding complex logic. Users can build Decentralized Applications (DApps) based on contracts. It is already widely used in areas such as DeFi, DAO, and NFT.
Additionally, Bitcoin uses PoW consensus, while Ethereum has transitioned to PoS consensus. Bitcoin's block time is approximately 10 minutes, whereas Ethereum's is 12 seconds.
Key Concepts¶
Smart Contracts¶
Programs running on the Ethereum network are called smart contracts. Like other programs, they are collections of code and data (state).
Smart contracts were first proposed by Nick Szabo in 1995. The concept is simple: encode legal terms into executable code. The idea of making legal execution neutral aligns perfectly with the blockchain paradigm where programs cannot be tampered with or interfered with (once someone triggers a transaction, it executes automatically). This is why blockchain adopted this concept.
Programming Language: Solidity¶
The primary programming languages for Ethereum smart contracts are currently Solidity and Vyper. Solidity is more mature. Code written in either language is compiled into Ethereum Virtual Machine bytecode before being deployed to the Ethereum network.
EVM¶
The Ethereum Virtual Machine (EVM) is a Turing-complete virtual machine used to execute on-chain contract bytecode, ensuring consistency and security when all nodes execute smart contracts.
Gas Mechanism¶
Ethereum introduced Gas as the fuel that powers program execution. Just as a car cannot drive without fuel, contracts cannot run without gas fees. Gas is related to the complexity and difficulty of a contract — the more complex the contract, the higher the gas required.
When transacting, you need to pay gas fees (also called transaction fees) using Ether. The transaction fee is the amount of gas required to execute certain operations, multiplied by the cost per unit of gas (gas price). If the network is congested and many users are making transactions, the gas price rises. Conversely, if transaction volume is low, the gas price decreases.
After the EIP-1559 upgrade, gas fees are split into two parts: base fee and priority fee (tip). The base fee is set by the protocol and burned by the system. The priority fee is a tip used to incentivize validators to include your transaction in the next block.