Files
tendermint/spec/consensus
Daniel 20b2abb5f9 PBTS: new system model and problem statement (#375)
* PBTS: second version of system model

* PBTS: new model referred in algorithm spec

* PBTS: removed model discussion from algorithm spec

* PBTS: corrections on the ystem model

* PBTS: a pretty complex problem statement

* PBTS: minor fixes on the problem spefication

* PBTS: liveness part of problem specification

* PBTS: link updated, outdated note on sysmodel_v1

* Update spec/consensus/proposer-based-timestamp/pbts-algorithm_002_draft.md

Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>

* Apply William's suggestions from code review

Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>

* PBTS: new discussion and definition for accuracy

* Apply Josef's suggestion from code review

Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>

* PBTS: some tags added to sysmodel

* PBTS: motivation and link to Issue #371

* PBTS: fixing lint error

Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
2021-12-15 17:19:50 +01:00
..
2020-08-24 11:47:31 +02:00

order, parent
order parent
1
title order
Consensus 4

Consensus

Specification of the Tendermint consensus protocol.

Contents

  • Consensus Paper - Latex paper on arxiv describing the core Tendermint consensus state machine with proofs of safety and termination.
  • BFT Time - How the timestamp in a Tendermint block header is computed in a Byzantine Fault Tolerant manner
  • Creating Proposal - How a proposer creates a block proposal for consensus
  • Light Client Protocol - A protocol for light weight consensus verification and syncing to the latest state
  • Signing - Rules for cryptographic signatures produced by validators.
  • Write Ahead Log - Write ahead log used by the consensus state machine to recover from crashes.

The protocol used to gossip consensus messages between peers, which is critical for liveness, is described in the reactors section.

There is also a stale markdown description of the consensus state machine (TODO update this).