Crypto Cho Người Mới / Mô phỏng / Tendermint
Simulator Tendermint / CometBFT Consensus
Cosmos Hub, Osmosis, Celestia, Sei, Injective, dYdX v4 — mọi chain Cosmos-SDK dùng Tendermint (giờ CometBFT) consensus. Khác finality xác suất của Bitcoin, Tendermint commit mỗi block là final ngay khi 2/3+1 voting power đồng ý. Không reorg, bao giờ. Đánh đổi: nếu 1/3+1 validator offline, chain halt hoàn toàn. Simulator này đi qua 1 round với 4 validator cho bạn thấy chính xác khi nào mỗi outcome trigger.
Bộ validator
| Validator | Voting power | Online | Prevote | Precommit |
|---|---|---|---|---|
| Validator A★ proposer | ||||
| Validator B | ||||
| Validator C | ||||
| Validator D |
Proposer round này: Validator A
Tổng VP
100
BFT threshold (>2/3)
> 66.67
Tendermint cần STRICTLY GREATER 2/3 voting power ở cả phase prevote và precommit để commit block. Với 1/3+1 không trung thực hoặc offline, chain HALT thay vì fork — cố ý design vậy.
Protocol round 4-phase
Mỗi round: (1) proposer được chỉ định broadcast block mới. (2) Prevote — mọi validator vote yes/no/nil trên proposal. (3) Precommit — nếu >2/3 prevote yes, validator broadcast precommit. (4) Commit — nếu >2/3 precommit đến, block finalise. Nếu phase nào fail hit >2/3, round timeout và round kế tiếp bắt đầu với proposer kế trong rotation. Toàn bộ flow này xảy ra ~6 giây trên Cosmos Hub.
Sao >2/3 chứ không >1/2
BFT cổ điển cần >2/3 vì đó là threshold nơi 2 quorum bất kỳ phải overlap ít nhất 1 validator honest. Nếu chỉ cần >1/2, attacker kiểm soát 1/3 có thể partition mạng và thuyết phục 2 nửa commit block khác (fork). Với >2/3, 2 set >2/3 phải share >1/3 validator honest từ chối sign cả 2 — làm fork toán học không thể. Đánh đổi: nếu 1/3+1 không trung thực hoặc offline, KHÔNG block commit được. Chain halt.
Halt vs fork — lựa chọn triết học
Design Bitcoin nói 'chuyện gì xảy ra, chain tiếp tục di chuyển' — kể cả nghĩa fork tạm thời đến khi luật longest-chain resolve. Design Tendermint nói 'không đồng ý được, thà pause hơn commit state có thể conflict'. Cho app tiêu dùng (DEX, lending) tuyệt — giao dịch final tức thì. Cho phi tập trung ý hệ thuần khiết, model không-bao-giờ-halt Bitcoin preferred. Chain Cosmos đã halt nhiều lần trong lịch sử (Cosmos Hub một lần 6 giờ năm 2019 do bug); Bitcoin chưa bao giờ halt.
Weighting voting power
Tendermint không đếm validator, đếm voting power. Chain với 10 validator nơi 1 có 50% voting power và còn lại ~5.5% mỗi cần >2/3 voting power, không >2/3 đếm validator. Validator 50%-VP offline một mình halt chain. Đây là sao Cosmos chain phân phối stake — tập trung voting power là rủi ro halt trực tiếp.
Câu hỏi thường gặp
+Tendermint vs CometBFT khác gì?
CometBFT chỉ là tên mới của Tendermint Core sau khi team Tendermint được Informal Systems acquire. Cùng protocol, cùng lineage code, tổ chức governance khác. Mọi chain Cosmos-SDK giờ dùng branding CometBFT nhưng functional giống hệt Tendermint v0.34+.
+Tendermint nhanh thế nào so Bitcoin?
Block Tendermint finalise ~6 giây không rủi ro reorg. Block Bitcoin confirm mỗi ~10 phút nhưng cần ~6 confirmation (~1 giờ) cho giao dịch giá trị cao do rủi ro reorg. Vậy Tendermint ~600× nhanh hơn trên finality thực tế, đánh đổi là halt khi dropout validator nặng vs design always-makes-progress của Bitcoin.
+Chain Cosmos thực sự đã halt chưa?
Có, nhiều lần. Cosmos Hub halt ~6 giờ tháng 3/2019 do bug validation giao dịch. Osmosis pause nhiều lần vì issue routing. Mỗi halt cần phối hợp qua Telegram/Discord giữa validator để deploy patch. 2/3+1 voting power phải online trở lại để chain resume. Thực tế, halt này ngắn (giờ, không phải ngày).
+Sao Ethereum và Bitcoin không dùng Tendermint?
Ethereum có consensus flavor BFT riêng (Casper FFG + LMD-GHOST) cho finality một phần không full halting. Design Bitcoin có trước khi protocol BFT consensus practical ở quy mô và ưu tiên chống kiểm duyệt qua PoW. Tendermint cần validator set biết — cho ethos miner anonymous Bitcoin, không chấp nhận được. Cho validator set Ethereum xây cho mục đích, BFT-flavor cho hầu hết safety Tendermint với liveness tốt hơn.
+Chuyện gì xảy ra trong simulator với preset 'byzantine'?
Validator D (20% voting power) prevote và precommit NIL thay yes. 3 validator khác (80% tổng) vẫn vote yes — đủ vượt threshold >2/3 (66.7%). Block commit. Để halt chain qua byzantine behavior, bạn cần 1/3+1 voting power vote chống — thử edit weight validator cho Validator D 34% và chạy lại xem outcome timeout.