Overview of Ivy Proof specifications
mainThe spec/ivy-proofs directory contains formal specifications and proofs of the Tendermint consensus algorithm written in Ivy. The files are organized as follows:
tendermint.ivy: A specification of the Tendermint algorithm based on The latest gossip on BFT consensus.abstract_tendermint.ivy: A verification-friendly, abstract version of the Tendermint specification.classic_safety.ivy: A proof of the classic BFT safety property (no two well-behaved nodes ever disagree if quorums overlap with a well-behaved node).accountable_safety_1.ivy: A proof that if two well-behaved nodes disagree, evidence exists demonstrating at least $f+1$ nodes misbehaved (assuming every quorum has at least one well-behaved node).accountable_safety_2.ivy: A proof that well-behaved nodes cannot be framed by malicious nodes (malicious nodes cannot construct evidence to incriminate well-behaved nodes).network_shim.ivy: The network model and ashimobject for interfacing with the Tendermint specification.domain_model.ivy: The underlying domain model (rounds, values, quorums, etc.) used by the specifications.