Skip to content

Tomek00177/spec

 
 

Repository files navigation

Tendermint Spec

This repository contains specifications for the Tendermint protocol.

There are currently two implementations of the Tendermint protocol, maintained by two separate-but-collaborative entities: One in Go, maintained by Interchain GmbH, and one in Rust, maintained by Informal Systems.

Data Structures

Consensus Protocol

P2P and Network Protocols

  • The Base P2P Layer: multiplex the protocols ("reactors") on authenticated and encrypted TCP connections

P2P Messages

  • Peer Exchange (PEX): gossip known peer addresses so peers can find each other
  • Block Sync: gossip blocks so peers can catch up quickly
  • Consensus: gossip votes and block parts so new blocks can be committed
  • Mempool: gossip transactions so they get included in blocks
  • Evidence: sending invalid evidence will stop the peer

ABCI

  • ABCI: Details about interactions between the application and consensus engine over ABCI

ABCI++

  • ABCI++: Specification of interactions between the application and consensus engine over ABCI++

RFC

  • RFC: RFCs describe proposals to change the spec.

ProtoBuf

  • Proto: The data structures of the Tendermint protocol are located in the proto directory. These specify P2P messages that each implementation should follow to be compatible.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TeX 55.2%
  • TLA 43.9%
  • Other 0.9%