Tóm tắt nhanh
Blockchain security model là tập hợp trust assumption (điều kiện để hệ thống an toàn), threat model (loại attacker nào được xem xét), và cryptoeconomic security (incentive ngăn attack). Hai tính chất cốt lõi: Safety (không có conflicting state) và Liveness (chain tiếp tục tiến). Hiểu security model giúp đánh giá blockchain thực sự an toàn đến mức nào.
01 Security Model Là Gì?
Khi ai đó nói "blockchain này an toàn," câu hỏi quan trọng là: an toàn theo điều kiện gì? chống lại loại attacker nào?
Security model là bộ giả định và cam kết của một hệ thống về bảo mật. Nó định nghĩa:
- Trust assumption: Điều kiện nào phải đúng để hệ thống an toàn
- Threat model: Loại attacker nào được xem xét (rational, malicious, state-level)
- Security guarantee: Hệ thống đảm bảo gì khi trust assumption được thỏa mãn
- Failure mode: Điều gì xảy ra khi trust assumption bị vi phạm
Không có blockchain nào "unconditionally secure" — tất cả đều có trust assumption. Điểm khác nhau là assumption đó mạnh/yếu như thế nào và dễ/khó bị vi phạm ra sao.
02 Trust Assumption
Trust assumption là những điều bạn phải "tin" là đúng để security guarantee có ý nghĩa.
| Blockchain | Trust Assumption chính | Mức độ |
|---|---|---|
| Bitcoin (PoW) | >50% hashrate honest | Majority honest |
| Ethereum (PoS) | >2/3 staked ETH honest | Supermajority honest |
| Optimistic Rollup | ≥1 honest validator online | 1-of-N honest |
| ZK Rollup | Math + correct circuit | Trustless (math only) |
| Multisig Bridge | M-of-N signers honest | M-of-N honest |
| Centralized Exchange | Exchange không rug | Full trust |
Honest minority vs Honest majority
Có hai loại trust assumption phổ biến:
- Honest majority (PoW, PoS): Cần >50% hoặc >2/3 participants honest. Nếu attacker mua đủ hashrate/stake, có thể attack.
- Honest minority (Optimistic Rollup): Chỉ cần 1 trong N participants honest. Mạnh hơn về mặt lý thuyết — attacker phải compromise TẤT CẢ validators.
03 Cryptoeconomic Security
Cryptoeconomic security kết hợp cryptography (proof toán học) và economics (incentive design) để tạo ra hệ thống mà rational actor không có lợi khi attack.
Hai cơ chế cốt lõi
- Reward for honest behavior: Validator được thưởng ETH/BTC khi propose/attest block đúng. Incentive để làm đúng.
- Punishment for dishonest behavior: Slashing đốt một phần stake của validator vi phạm. Cost để làm sai.
Rational Attacker Model
Cryptoeconomic security giả định attacker là rational — hành động để tối đa hóa lợi ích kinh tế. Nếu:
Tìm hiểu thêm tại Bảo mật kinh tế Blockchain.
Hạn chế: Irrational và State Actor
Cryptoeconomic security chỉ bảo vệ chống rational attacker. Không hiệu quả chống:
- Ideological attacker: Sẵn sàng mất tiền để destroy chain vì lý do phi kinh tế
- State actor: Chính phủ có thể force miners/validators dừng hoạt động
- Coordination failure: Bug trong protocol dẫn đến unintended behavior
04 Safety vs Liveness
Hai tính chất bảo mật căn bản của mọi distributed system. Tham khảo thêm tại Liveness vs Safety.
Safety
Safety đảm bảo "không có điều gì tồi tệ xảy ra" — cụ thể: không bao giờ có hai block conflicting được finalize. Nếu safety bị vi phạm → double-spend thành công, history có thể bị rewrite.
Trong Ethereum PoS: safety bị vi phạm khi attacker kiểm soát >1/3 stake và cố tình double-vote (equivocation attack). Slashing sẽ punish attacker nhưng damage đã xảy ra.
Liveness
Liveness đảm bảo "điều tốt đẹp cuối cùng xảy ra" — cụ thể: valid transaction cuối cùng sẽ được confirm. Nếu liveness bị vi phạm → chain stuck, không có block mới.
Trong Ethereum PoS: nếu >1/3 validator offline, chain không đạt finality. Liveness được bảo vệ bởi inactivity leak — validator offline dần mất ETH cho đến khi active set giảm xuống đủ để finalize.
CAP Theorem và Blockchain
Blockchain phải chọn giữa Safety và Liveness khi có network partition (split brain). Bitcoin chọn Liveness (tiếp tục mine cả hai fork). BFT chains (Tendermint) chọn Safety (halt khi không đủ quorum). Ethereum là hybrid — chọn safety cho finality, liveness cho block production.
05 Cost of Attack
Cost of attack là chi phí thực tế để thực hiện một attack thành công — thước đo quan trọng nhất của blockchain security.
Bitcoin: Cost of 51% Attack
Ethereum: Cost of Finality Attack
Long-tail Chain Risk
Chain nhỏ như ETC, BSV có cost of attack rất thấp — hashrate tập trung ở vài mining pool, dễ rent thêm hashrate từ NiceHash. ETC đã bị 51% attack nhiều lần năm 2020.
06 Layer Bảo Mật trong Blockchain Stack
Blockchain security không chỉ là consensus security — có nhiều layer khác nhau:
| Layer | Bảo vệ gì | Mechanism |
|---|---|---|
| Cryptography | Transaction authenticity | ECDSA, hash function |
| P2P Network | Block/tx propagation | Gossip protocol, eclipse attack prevention |
| Consensus | Chain integrity, finality | PoW, PoS, BFT |
| Smart Contract | Application logic | Audits, formal verification |
| Client Diversity | Resilience vs bugs | Multiple implementations |
| Governance | Protocol upgrades | On-chain / off-chain governance |
Client Diversity — thường bị bỏ quên
Nếu 100% Ethereum node dùng cùng một client (ví dụ Geth), một bug nghiêm trọng trong Geth có thể làm toàn bộ mạng crash. Ethereum khuyến khích diversity: Geth, Nethermind, Besu, Erigon... Mỗi client implement spec độc lập — bug trong một client không ảnh hưởng client khác.
07 Attack Vector Chính
Consensus attacks
- 51% Attack: Kiểm soát majority hashrate/stake để rewrite history
- Long-range Attack: Dùng old key để tạo alternative chain từ block cũ (PoS specific)
- Nothing-at-stake: Validator vote trên nhiều fork vì không mất gì (giải quyết bằng slashing)
- Selfish Mining: Withhold solved block để gain unfair advantage
Network attacks
- Eclipse Attack: Isolate một node bằng cách kiểm soát tất cả peer connections của nó, feed false data
- BGP Hijacking: Reroute internet traffic để intercept blockchain communication
- Sybil Attack: Tạo hàng nghìn fake identity để manipulate P2P network — xem Sybil Attack
Application layer attacks
- Smart contract bug: Reentrancy (DAO hack), integer overflow, access control failure
- Oracle manipulation: Manipulate price feed để drain lending protocol
- Flash loan attack: Borrow lớn trong 1 tx để manipulate thị trường
- Governance attack: Mua đủ voting power để pass malicious proposal
08 So Sánh Security Model Các Blockchain
| Blockchain | Consensus | Trust Assumption | Finality | Cost of Attack |
|---|---|---|---|---|
| Bitcoin | PoW Nakamoto | >50% honest hashrate | Probabilistic | Rất cao ($B/giờ) |
| Ethereum | Gasper (PoS) | >2/3 honest stake | Absolute (~15min) | Cực cao (>$13B) |
| Solana | PoH + Tower BFT | >2/3 honest stake | Nhanh (~13s) | Thấp hơn (stake nhỏ hơn) |
| Cosmos Hub | Tendermint BFT | >2/3 honest stake | Instant | Thấp hơn |
| Arbitrum | Optimistic (L2) | 1 honest validator + ETH L1 | 7 ngày (L1) | Kế thừa Ethereum |
| StarkNet | ZK (L2) | Math + correct circuit + ETH L1 | Phút (proof gen) | Kế thừa Ethereum |
09 FAQ — Câu Hỏi Thường Gặp
Trong PoW, attacker có thể rent hashrate từ cloud/NiceHash mà không cần sở hữu hardware lâu dài. Trong PoS, attacker phải mua ETH thực sự — số lượng lớn trên thị trường sẽ đẩy giá lên, tăng cost of attack. Hơn nữa, PoS có slashing — attacker bị slash ETH nếu attack, tạo negative ROI. PoW không có cơ chế tương đương.
Inactivity leak là cơ chế Ethereum dùng khi >1/3 validator offline — chain không finalize. Thay vì stuck mãi mãi, validator offline dần mất ETH (bị "leak"). Sau đủ thời gian, tổng stake của validator offline giảm xuống <1/3 tổng — chain có thể finalize lại với active validators. Inactivity leak đảm bảo liveness dài hạn ngay cả khi nhiều validator đột ngột offline.
Eclipse attack isolate node của bạn — attacker kiểm soát tất cả peer connection, feed bạn false data (ví dụ false transaction confirmations). Với full node, khó bị eclipse. Với light node hay wallet dùng single RPC, dễ bị hơn. Biện pháp: connect đến nhiều peer nguồn khác nhau, dùng multiple RPC, verify block header từ nhiều nguồn.
Không — flash loan là tính năng hợp lệ. Attack xảy ra ở application layer (smart contract logic), không phải consensus layer. Flash loan chỉ là công cụ amplify capital trong 1 transaction. Lỗi thực sự là protocol design không xem xét trường hợp ai đó có thể vay $100M trong 1 block để manipulate price. Audit và thiết kế protocol phải account for flash loan scenarios.