mirror of
https://github.com/tendermint/tendermint.git
synced 2026-06-01 03:46:22 +00:00
Merge pull request #125 from tendermint/anton/2769-canonical
spec/consensus: canonical vs subjective commit
This commit is contained in:
@@ -337,3 +337,13 @@ where two conflicting reorg-proposals are signed.
|
||||
Assuming that the external coordination medium and protocol is robust,
|
||||
it follows that forks are less of a concern than [censorship
|
||||
attacks](#censorship-attacks).
|
||||
|
||||
### Canonical vs subjective commit
|
||||
|
||||
We distinguish between "canonical" and "subjective" commits. A subjective commit is what
|
||||
each validator sees locally when they decide to commit a block. The canonical commit is
|
||||
what is included by the proposer of the next block in the `LastCommit` field of
|
||||
the block. This is what makes it canonical and ensures every validator agrees on the canonical commit,
|
||||
even if it is different from the +2/3 votes a validator has seen, which caused the validator to
|
||||
commit the respective block. Each block contains a canonical +2/3 commit for the previous
|
||||
block.
|
||||
|
||||
Reference in New Issue
Block a user