Browse Source

Merge pull request #125 from tendermint/anton/2769-canonical

spec/consensus: canonical vs subjective commit
pull/7804/head
Sean Braithwaite 4 years ago
committed by GitHub
parent
commit
d46cd7f573
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 0 deletions
  1. +10
    -0
      spec/consensus/consensus.md

+ 10
- 0
spec/consensus/consensus.md View File

@ -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.

Loading…
Cancel
Save