This section describes the core types and functionality of the Tendermint protocol implementation.