Tóm tắt nhanh
Ethereum đã trải qua hành trình dài với sharding: kế hoạch ban đầu là execution sharding (64 shard chain chạy song song) nhưng bị từ bỏ vì quá phức tạp. Thay vào đó, Ethereum chuyển sang data sharding — cung cấp không gian DA rẻ cho rollup Layer 2. EIP-4844 (3/2024) là bước đầu với 6 blob/block. Danksharding là đích đến với hàng trăm blob và DAS, hướng tới throughput lý thuyết >100,000 TPS cho hệ sinh thái rollup.
01 Sharding là gì?
Sharding là kỹ thuật phân vùng ngang (horizontal partitioning) database hoặc blockchain thành nhiều phần nhỏ gọi là shard, mỗi shard chứa một tập con của toàn bộ dữ liệu và xử lý song song.
Trong blockchain, sharding giải quyết vấn đề cốt lõi: mọi node phải xử lý mọi transaction — không scalable. Với sharding, mỗi node chỉ cần xử lý một phần:
- Throughput tăng tuyến tính: N shard → N lần throughput lý thuyết
- Yêu cầu phần cứng giảm: Mỗi node chỉ lưu trữ và xử lý 1/N dữ liệu
- Phân tán tốt hơn: Barrier to entry thấp hơn → nhiều node hơn
02 Execution Sharding — Kế Hoạch Gốc (2017–2020)
Kế hoạch sharding ban đầu của Ethereum (Ethereum 2.0 gốc) là execution sharding: chia Ethereum thành 64 shard chain độc lập, mỗi shard thực thi smart contract và transaction riêng, tất cả được phối hợp bởi Beacon Chain.
Cấu trúc dự kiến
- 64 Shard Chain: Mỗi shard xử lý transaction và state riêng, tương tự 64 Ethereum mini-chain song song
- Beacon Chain: Điều phối validator assignment — validator được chọn ngẫu nhiên vào từng shard để ngăn tấn công tập trung
- Cross-shard Messaging: Cơ chế để contract trên shard A gọi contract trên shard B
- Throughput lý thuyết: 64 × 15 TPS = ~1,000 TPS (so với Ethereum base ~15 TPS)
Timeline kế hoạch gốc
- 2017: Vitalik công bố sharding proposal đầu tiên
- 2018–2019: Ethereum Foundation nghiên cứu sâu, nhiều phiên bản spec
- 2020: Beacon Chain launch — PoS foundation nhưng không có execution shard
- 2021: Ethereum Foundation chuyển hướng sang data sharding
03 Tại Sao Từ Bỏ Execution Sharding?
Execution sharding về lý thuyết hay nhưng trong thực tế gặp quá nhiều vấn đề nghiêm trọng:
1. Cross-shard communication cực kỳ phức tạp
Composability — khả năng contract gọi contract khác trong cùng một transaction — là điểm mạnh nhất của Ethereum. Execution sharding phá vỡ composability: contract trên Shard A không thể gọi contract trên Shard B trong một atomic transaction. DeFi protocol như Uniswap, Aave sẽ không hoạt động được tự nhiên.
2. Bảo mật mỗi shard yếu hơn
Chia 64 shard nghĩa là validator set cũng bị chia 64. Một shard nhỏ hơn dễ bị tấn công 1/3 validator hơn toàn bộ Ethereum. Dù Beacon Chain assign validator ngẫu nhiên, vẫn không loại bỏ hoàn toàn rủi ro.
3. Rollup đã làm tốt hơn
Trong thời gian Ethereum phát triển sharding, Optimistic Rollup (Arbitrum, Optimism) và ZK Rollup (zkSync, StarkNet) đã ra đời và chứng minh hiệu quả. Rollup có thể scale execution đến 100–1000+ TPS mỗi chain, với bảo mật thừa hưởng từ L1.
04 Data Sharding — Hướng Đi Mới
Thay vì chia execution, Ethereum chuyển sang data sharding: mục tiêu chỉ là cung cấp không gian data (DA) lớn và rẻ cho rollup đăng batch data lên L1.
Logic của data sharding
- Rollup xử lý execution off-chain (hàng nghìn TPS)
- Rollup cần đăng compressed transaction data lên Ethereum để đảm bảo DA
- Chi phí DA là bottleneck chính của rollup hiện tại
- Data sharding mở rộng DA capacity → phí rollup giảm mạnh → throughput hệ sinh thái tăng
Ưu điểm so với execution sharding
- ✅ Không phá vỡ composability: Execution vẫn trên một chain (mỗi rollup)
- ✅ Bảo mật đơn giản hơn: Chỉ cần verify data available, không cần execute
- ✅ Phù hợp với rollup ecosystem đã có: Không cần migration
- ✅ DAS khả thi: Light node có thể verify DA bằng sampling
Xem thêm Data Availability Sampling là gì và Data Availability là gì.
05 Proto-Danksharding — EIP-4844 (3/2024)
EIP-4844 (triển khai trong Cancun/Deneb Upgrade, tháng 3/2024) là bước đầu tiên trên con đường data sharding — được gọi là Proto-Danksharding vì đặt nền tảng cho Full Danksharding mà không cần thay đổi lại sau.
Những gì EIP-4844 thêm vào
- Blob transaction (type 3): Transaction mới mang theo "blob" ~128KB data
- 6 blob/block target (tối đa 9): ~750KB data/block cho rollup
- KZG commitment: Mỗi blob có commitment 48 bytes trên chain, blob data lưu ngoài EVM
- Blob gas market riêng: Blob có EIP-1559 riêng, tách biệt khỏi execution gas
- Blob expiry ~18 ngày: Node xóa blob sau 18 ngày để tiết kiệm storage
Tác động thực tế
Sau EIP-4844, phí trên Arbitrum, Optimism, Base giảm 80–95%. Một swap trên Base từ ~$0.15 xuống còn ~$0.001–0.005. Đây là cải tiến UX lớn nhất cho L2 kể từ khi rollup ra đời.
06 Full Danksharding — Đích Đến
Full Danksharding là mục tiêu cuối cùng của data sharding Ethereum — mở rộng từ 6 blob (EIP-4844) lên hàng trăm blob mỗi block, với DAS cho phép verify phân tán.
Các thành phần chính của Full Danksharding
- 64–256+ blob/block: ~16–32MB data/block (so với ~750KB của EIP-4844) — tăng ~40 lần
- Data Availability Sampling (DAS): Light node chỉ sample ngẫu nhiên vài chục chunk để verify DA toàn bộ blob. Không cần tải 32MB/block. Xem DAS là gì
- PBS (Proposer-Builder Separation) bắt buộc: Tách validator (proposer) khỏi block builder — builder chuyên dựng block lớn, proposer chỉ sign
- crList (Censorship Resistance List): Proposer có thể force include transaction để chống censorship bởi builder
- 2D KZG commitments: Mở rộng KZG sang 2 chiều để hỗ trợ DAS hiệu quả hơn
Throughput lý thuyết
Với 256 blob × 128KB = 32MB/block × ~5 block/phút và rollup compress ~10–100x, hệ sinh thái rollup trên Ethereum có thể đạt 100,000+ TPS tổng cộng — chia cho nhiều rollup khác nhau.
07 So Sánh Các Giai Đoạn Sharding
| Giai đoạn | DA Capacity | Cơ chế verify DA | PBS | Trạng thái |
|---|---|---|---|---|
| Không có sharding | ~90KB/block (calldata) | Full node tải hết | Không | ✅ Trước 3/2024 |
| EIP-4844 (Proto-Danksharding) | ~750KB/block (6 blob) | Full node tải hết blob | Tùy chọn (MEV-Boost) | ✅ Live từ 3/2024 |
| PeerDAS (trung gian) | ~3–6MB/block | DAS một phần | Tùy chọn | 🔄 Đang phát triển |
| Full Danksharding | ~32MB/block (256 blob) | DAS đầy đủ, light node OK | Bắt buộc | 📋 Tương lai |
08 Tác Động Đến Layer 2 và Người Dùng
Với Layer 2 rollup
- Phí DA rẻ hơn: Mỗi lần tăng blob count → phí rollup giảm thêm. Full Danksharding có thể giảm phí L2 xuống <$0.001/transaction
- Throughput tăng: Nhiều blob → rollup có thể post batch thường xuyên hơn → finality nhanh hơn
- Cạnh tranh DA: Ethereum DA rẻ hơn cạnh tranh trực tiếp với Celestia, EigenDA, Avail — rollup có thể chọn DA layer phù hợp
Với người dùng thông thường
- Transaction fee trên L2 tiếp tục giảm theo từng upgrade
- Ethereum mainnet (L1) không thay đổi đáng kể về UX — sharding diễn ra "phía sau hậu trường"
- Nhiều rollup hơn, cạnh tranh hơn → phí giảm, tính năng tốt hơn
Xem thêm Layer 2 là gì, Rollup là gì và Danksharding là gì.
FAQ Câu Hỏi Thường Gặp
Sharding là kỹ thuật chia blockchain thành nhiều phần (shard) xử lý song song thay vì toàn bộ node xử lý tất cả. Mục tiêu: tăng throughput tuyến tính theo số shard. Ethereum đã chuyển từ execution sharding (quá phức tạp) sang data sharding (cung cấp DA rẻ cho rollup).
Không. Kế hoạch 64 shard chain chạy song song đã bị từ bỏ vào 2021 vì phá vỡ composability, bảo mật phức tạp và rollup đã làm tốt hơn cho execution scaling. Ethereum chuyển sang data sharding — cung cấp DA rẻ cho rollup thay vì tự scale execution.
EIP-4844 (Proto-Danksharding) là bước đầu: 6 blob/block (~750KB), full node vẫn tải toàn bộ blob để verify DA. Full Danksharding là đích đến: 256+ blob/block (~32MB), DAS cho light node verify DA bằng sampling, PBS bắt buộc. EIP-4844 đặt nền tảng tương thích để nâng cấp dần lên Full Danksharding.
Full Danksharding cung cấp ~32MB DA/block. Với rollup compress ~10–100x, hệ sinh thái rollup tổng cộng có thể đạt 100,000+ TPS lý thuyết — chia cho nhiều rollup khác nhau. Đây là TPS của toàn bộ hệ sinh thái Ethereum Layer 2, không phải L1 mainnet.