Introduction
Blockchain represents a decentralized, distributed computing and storage architecture, first introduced in Satoshi Nakamoto's Bitcoin: A Peer-to-Peer Electronic Cash System [1]. Its core features—immutability, traceability, and decentralization—have positioned it as the fifth paradigm-shifting innovation in computing, following mainframes, PCs, the internet, and mobile/social networks [2].
In 2013, Vitalik Buterin proposed Ethereum [3], which expanded Bitcoin’s blockchain technology [4] by introducing smart contracts [5]. These enable users to deploy custom logic, fostering rapid ecosystem growth. As of March 2019, Ethereum hosted 2,399 DApps [6], solidifying its status as the world’s most active public blockchain.
Joseph Lubin, Ethereum’s co-founder, recently projected a 1,000-fold scalability improvement within 18–24 months. However, this ambition raises critical concerns about state capacity, node synchronization, and decentralization.
Ethereum Architecture Overview
1. Core Structure
Ethereum’s architecture comprises three layers:
- Infrastructure: LevelDB (storage), cryptography, sharding, and consensus algorithms.
- Core Layer: EVM (Ethereum Virtual Machine) for executing smart contracts.
- Applications: DApps leveraging decentralized logic.
2. Data Structures
Ethereum uses MPT (Merkle Patricia Trie) to organize data:
- Merkle Trees: Ensure tamper-proof hashing (Figure 1).
- Trie Trees: Optimize key-value storage (Figure 2).
- MPT Hybrid: Combines both for efficiency (Figure 3).
Three critical trees reside in block headers:
- State Tree: Tracks account balances.
- Transaction Tree: Records per-block transactions.
- Receipt Tree: Logs transaction outcomes.
3. Storage Mechanism
Data is stored in LevelDB as key-value pairs (Figure 4), categorized into:
- State data
- Blocks
- Metadata
Performance Calculations
1. Transaction Throughput (TPS)
Ethereum’s current TPS is calculated as:
TPS = (gasLimit / gasPerTx) / blockTimeCurrent Values:
gasLimit= 8,000,000gasPerTx= 21,000 (simple transfers)blockTime= 15s
→ 25 TPS
A 1,000× TPS increase risks:
- Larger blocks → propagation delays.
- Higher uncle rates (see Table 1).
2. Block Size
- Avg. transaction size: 180 B
- Current block capacity: 68 KB
- Scaling linearly with TPS could lead to network congestion.
3. Uncle Rate
Formula:
UncleRateIncrease = (1 / blockTime) × propagationDelay- Current uncle rate: 7.5%
- At 1,000× TPS, projected rate: 11.1% → More orphaned blocks.
Challenges & Solutions
1. Node Synchronization
- Bandwidth Bottleneck: Current avg. node sync speed = 3 Mbps → Limits TPS to 141.
- Scalability Requirement: 1,000× TPS demands ≥ 35 Mbps bandwidth.
2. State Capacity
- Annual Data Growth: 129 TB (post-scaling).
- Memory Demand: Addresses consume 40 GB at 10× user growth → Exceeds consumer hardware.
3. Decentralization Trade-offs
Higher node requirements could lead to:
- Fewer participants.
- Centralized mining pools.
Solution: Sharding partitions the network to distribute load:
- Network Sharding: Segregates nodes.
- State Sharding: Splits storage (critical for scalability).
FAQs
Q1: What’s Ethereum’s current TPS?
A1: 25 transactions/second.
Q2: How does sharding improve scalability?
A2: By dividing the network into smaller, parallel-processing segments.
Q3: Why is state capacity a concern?
A3: Storing all smart contract data in memory becomes impractical at scale.
Q4: What’s the role of MPT trees?
A4: They efficiently organize and verify blockchain data.
👉 Explore Ethereum’s latest upgrades
Conclusion
Ethereum 2.0’s scalability hinges on balancing TPS gains with state management. Sharding, particularly state sharding, offers a viable path forward while preserving decentralization. The community must address hardware demands to ensure broad participation.
Acknowledgments: Special thanks to Prof. Li Zhihuai for guidance.