Tóm tắt nhanh
51% Attack xảy ra khi attacker kiểm soát >50% hashrate (PoW) hoặc >2/3 stake (PoS finality), cho phép rewrite lịch sử gần đây và double-spend. Bitcoin và Ethereum an toàn nhờ cost of attack cực cao. Chain nhỏ như ETC đã bị tấn công thành công nhiều lần. Attacker không thể tạo coin từ không khí hay steal từ ví người khác — chỉ có thể rewrite transaction của chính họ.
01 51% Attack Là Gì?
Trong blockchain Proof of Work, longest chain rule quyết định chain nào là "thật" — chain có tổng accumulated work nhiều nhất. Đây là Nakamoto consensus cốt lõi.
Nếu một entity kiểm soát >50% tổng hashrate, họ có thể mine block nhanh hơn phần còn lại của mạng. Về mặt thống kê, họ sẽ tạo ra longest chain — override lịch sử của honest miners.
Đây gọi là 51% attack (hay majority attack). Với PoS, threshold khác nhau — xem phần 6.
Attacker có thể làm gì?
- ✅ Double-spend: Rewrite transaction của chính mình
- ✅ Censor transaction: Từ chối include transaction cụ thể
- ✅ Withhold blocks: Selfish mining để gain disproportionate reward
- ✅ Disrupt consensus: Làm chain không tiến được
Attacker KHÔNG thể làm gì?
- ❌ Steal coin từ ví người khác (cần private key)
- ❌ Tạo coin từ không khí (vi phạm consensus rules)
- ❌ Thay đổi block quá cũ (tốn quá nhiều compute)
- ❌ Thay đổi protocol rules (cần soft/hard fork)
02 Cơ Chế Double-Spend
Double-spend là mục tiêu kinh tế chính của 51% attack. Cơ chế step-by-step:
Confirmations và thời gian cần thiết
Để attack thành công, attacker cần mine fork dài hơn chain honest. Với hashrate 51%, xác suất thành công theo số block cần rewrite:
| Hashrate attacker | Xác suất rewrite 1 block | Rewrite 6 blocks |
|---|---|---|
| 51% | ~51% | ~31% |
| 60% | ~60% | ~47% |
| 70% | ~70% | ~64% |
| 80% | ~80% | ~79% |
Đây là lý do exchange yêu cầu nhiều confirmation hơn cho deposit lớn — 6 confirmations (~1 giờ) với Bitcoin là tiêu chuẩn phổ biến. Một số exchange yêu cầu 12-20 confirmations cho chain có hashrate thấp hơn.
03 Selfish Mining
Selfish mining là chiến thuật miner với <50% hashrate vẫn có thể gain advantage không công bằng bằng cách withhold block đã mine.
Cơ chế
- Selfish miner mine block N nhưng KHÔNG broadcast ngay
- Tiếp tục mine block N+1 trong bí mật
- Honest miners broadcast block N' (competing với block N của attacker)
- Attacker broadcast block N và N+1 — chain dài hơn 1 block
- Honest miners phải abandon work và build on chain của attacker
Kết quả: attacker earn block reward cho cả N và N+1, honest miners bị wasted. Với threshold nhất định (~25-33% hashrate), selfish mining có thể profitable.
04 Lịch Sử Tấn Công Thực Tế
51% attack không chỉ là lý thuyết — đã xảy ra nhiều lần với chain nhỏ:
| Chain | Năm | Thiệt hại | Chi tiết |
|---|---|---|---|
| Ethereum Classic (ETC) | 8/2020 | ~$5.6M | 3 attack liên tiếp trong 1 tháng, rewrite 3693+ blocks |
| Ethereum Classic (ETC) | 1/2019 | ~$1.1M | 100+ blocks rewritten, double-spend trên OKEx |
| Bitcoin Gold (BTG) | 5/2018 | ~$18M | Double-spend trên nhiều exchange |
| Bitcoin SV (BSV) | 8/2021 | Không rõ | 100+ block reorg |
| Vertcoin (VTC) | 12/2018 | ~$100K | Nhiều attack, 310 block reorg |
Tại sao ETC bị attack liên tục?
ETC dùng Ethash algorithm — cùng algorithm với Ethereum (trước The Merge). Sau The Merge, lượng lớn Ethash hashrate không còn chỗ để mine ETH, sẵn sàng rent cho bất kỳ ai muốn. ETC là chain Ethash lớn nhất — trở thành mục tiêu. Chi phí attack ETC thấp hơn nhiều so với potential profit từ double-spend trên exchange.
05 Chi Phí Tấn Công Thực Tế
Crypto51.app (và các tool tương tự) ước tính chi phí attack theo giờ dựa trên hashrate cần thiết và giá rent trên NiceHash:
| Chain | Cost/giờ (ước tính 2025) | Mức độ rủi ro |
|---|---|---|
| Bitcoin (BTC) | >$5B | Cực thấp |
| Ethereum (ETH) | N/A (PoS) | Cực thấp |
| Litecoin (LTC) | ~$50K–200K | Thấp |
| Ethereum Classic (ETC) | ~$5K–50K | Trung bình–Cao |
| Altcoin nhỏ | <$1K | Rất cao |
Nhớ rằng attacker chỉ cần rent hashrate trong vài giờ — đủ để thực hiện double-spend trên exchange rồi rút tiền. Với chain có cost/giờ <$10K, attack có thể profitable nếu double-spend đủ lớn.
06 51% Attack Trên PoS
Proof of Stake không có "51% hashrate" — thay vào đó có threshold stake:
Thresholds quan trọng trong Ethereum PoS
- >1/3 stake: Có thể cản finality (liveness attack). Chain tiếp tục produce block nhưng không finalize.
- >1/2 stake: Có thể control fork choice trong ngắn hạn.
- >2/3 stake: Có thể double-finality attack — finalize hai block conflicting. Đây là attack nghiêm trọng nhất.
Tại sao PoS khó attack hơn PoW?
- Slashing: Attacker mất toàn bộ stake nếu equivocate — negative ROI gần như chắc chắn
- No rental market: Không thể "rent" stake như rent hashrate — phải mua ETH thực
- Price impact: Mua lượng lớn ETH đẩy giá lên, tăng cost of attack
- Social layer: Community có thể hard fork để slash và loại bỏ attacker
07 Phòng Chống 51% Attack
Tăng hashrate/stake
Cách phòng thủ cơ bản nhất: tăng total hashrate hoặc total stake, làm cost of attack cao hơn. Chain nhỏ khó làm điều này nếu không có adoption.
Merge Mining
Chain nhỏ có thể "merge mine" với Bitcoin — miner Bitcoin có thể đồng thời mine chain khác mà không tốn thêm hashrate. Namecoin và Dogecoin dùng merge mining. Hashrate của Bitcoin bảo vệ chain nhỏ hơn.
Checkpoint
Developer team publish checkpoint định kỳ — block sau checkpoint không thể bị rewrite dù có majority hashrate. Đây là biện pháp tập trung — trust developer team không publish sai checkpoint.
Finality Gadget
Thêm BFT finality layer lên trên PoW — sau một số block, finality được lock bởi validator set. Ethereum đã dùng cách này (Casper FFG) trước The Merge.
Tăng confirmation requirement
Exchange yêu cầu nhiều confirmation hơn trước khi credit deposit — làm attack tốn kém hơn về thời gian và cost. ETC exchange thường yêu cầu 5000+ confirmation (~14 giờ) sau các vụ attack.
08 Giới Hạn Của 51% Attack
Dù nghe có vẻ nguy hiểm, 51% attack có những giới hạn quan trọng:
Không thể steal coin
Muốn spend coin từ address của người khác, cần private key của address đó. 51% attack không crack ECDSA — cryptographic guarantee này độc lập hoàn toàn với consensus.
Chỉ rewrite lịch sử gần đây
Để rewrite block cũ 100 blocks, attacker cần tạo 101+ blocks nhanh hơn honest miners tạo thêm blocks mới. Càng cũ, càng tốn compute. Practical limit thường là vài chục blocks.
Phá hủy giá trị của chính attacker
Attack thành công thường gây panic sell, giá token giảm mạnh. Attacker thường nắm giữ lượng lớn token — thiệt hại giá trị token của mình. Đây là tự-diệt kinh tế.
Có thể phát hiện
Large reorg (nhiều blocks bị orphan) rất visible trên blockchain explorer. Exchange có thể tạm dừng deposit, community có thể respond nhanh. ETC đã dừng trading trên một số exchange sau các vụ attack.
09 FAQ — Câu Hỏi Thường Gặp
Về mặt kỹ thuật có thể nếu pool đạt >51% hashrate — điều này đã xảy ra với GHash.IO năm 2014 (brief >51%). Nhưng pool operator không thực sự sở hữu hashrate — miner có thể rời pool bất kỳ lúc nào. Nếu pool attack, miner sẽ rời đi, giá BTC giảm, reward giảm — không có incentive kinh tế. GHash.IO tự nguyện giảm hashrate xuống sau khi bị chú ý.
51% attack không thể steal BTC từ ví người khác — cần private key. Attack chỉ cho phép double-spend của chính attacker. Để steal BTC, cần hack private key — hoàn toàn khác. Cryptographic security (ECDSA, SHA-256) không bị ảnh hưởng bởi consensus attack.
Reorg bình thường (1-2 blocks) xảy ra tự nhiên khi hai miner mine block cùng lúc — honest competition. Chain lâu dài nhất được chọn. Đây là designed behavior. 51% attack reorg là intentional và sâu hơn — rewrite 10, 100, hay hàng nghìn blocks có trước đó. Depth của reorg là dấu hiệu nhận biết: >3 block reorg trên chain lớn thường là red flag.
PoH (Proof of History) là verifiable delay function để ordering events — không phải consensus mechanism. Solana dùng Tower BFT (Tendermint-like) cho consensus. Solana có threshold tương tự Ethereum: >1/3 stake có thể cản finality, >2/3 stake để attack finality. PoH tăng throughput, không trực tiếp tăng security chống 51% style attack.