BFT consensus, built from scratchBFT-консенсус, написанный с нуля
A Tendermint-style protocol implemented in Go rather than taken from CometBFT. A proposer chosen in turn offers a block; validators prevote, then precommit, and ⌈2n/3⌉ precommits decide it.
Протокол в духе Tendermint, реализованный на Go, а не взятый из CometBFT. Сборщик по очереди предлагает блок; валидаторы голосуют предварительно, затем окончательно, и ⌈2n/3⌉ окончательных голосов решают его судьбу.
- Locking and proof-of-lock rules keep safety across rounds
- Timeouts: proposal 3 s + 0.5 s per round, votes 1 s + 0.5 s
- On-disk guard refuses to sign twice at the same height and round
- Блокировка и доказательство блокировки сохраняют безопасность между раундами
- Сроки: предложение 3 с + 0,5 с на раунд, голоса 1 с + 0,5 с
- Защита на диске не даёт подписать дважды на одной высоте и раунде
SPEC §6 · ADR-0031