Skip to content
Cosmopediaby Unity Nodes
DocumentationCometBFT specificationcometbft/cometbft › spec › p2pView on CometBFT specification ↗

Peer-to-Peer Communication


order: 1 parent: title: P2P order: 6

Peer-to-Peer Communication

A CometBFT network is composed of multiple CometBFT instances, hereafter called nodes, that interact by exchanging messages.

The CometBFT protocols are designed under the assumption of a partially-connected network model. This means that a node is not assumed to be directly connected to every other node in the network. Instead, each node is directly connected to only a subset of other nodes, hereafter called its peers.

The peer-to-peer (p2p) communication layer is then the component of CometBFT that:

  1. establishes connections between nodes in a CometBFT network
  2. manages the communication between a node and the connected peers
  3. intermediates the exchange of messages between peers in CometBFT protocols

The specification of the p2p layer is a work in progress, tracked by issue #19. The current content is organized as follows:

  • implementation: documents the current state of the implementation of the p2p layer, covering the main components of the p2p package. The documentation covers, in a fairly comprehensive way, the items 1. and 2. from the list above.
  • reactor-api: specifies the API offered by the p2p layer to the protocol layer, through the Reactor abstraction. This is a high-level specification (i.e., it should not be implementation-specific) of the p2p layer API, covering item 3. from the list above.

In addition to this content, some unfinished, work in progress, and auxiliary material can be found in the knowledge-base repository, and on the legacy-docs section on Github (see issue #981).