Establishing connectivity between the nodes
Nodes connect to each other within the Cardano networking layer, and this connection is essential for information exchange about transactions and new block creation.
Cardano networking
Cardano's networking evolved from its initial federated structure to hybrid and the current Dynamic peer-to-peer (P2P) model. Networking will keep evolving with future additions such as Ouroboros Genesis and peer-sharing. See this explainer for more details about network evolution and Dynamic P2P.
In a previous hybrid setup, SPOs could configure a node to connect to, for example, 50 other SPO nodes. This is a pretty large number, since many nodes can be offline, change their addresses, etc. While 20 connections are enough for efficient communication, SPOs had to over-provision because of the static configuration.
In a Dynamic P2P setup, SPOs can target to configure 20 connections, which can be picked from thousands of SPO relays, not just 50. And if any are offline, or go offline, the setup will automatically pick new ones, to meet the set target. This means that the configuration is no longer limited to a static pool of 50 peers.
P2P also allows for more sophisticated configurations for direct peering arrangements between SPOs. For example, if two SPOs want to maintain a connection between their relays, and each has two relays, they can configure a group of peers that lists the other SPOs’ two relays but with a target that there should be at least one connection. This means that there is no need for over-provisioning, and SPOs still get automatic failover if one relay goes down. With static configuration, one had to choose between listing only one and thus not getting resilience, or listing both and over-provisioning (using more resources).
Connecting core and relay nodes
As a stake pool operator, you will have two types of nodes: core nodes and relay nodes. Each core node must be accompanied by one or more relay nodes.
The difference between the two types is that core nodes are responsible for producing blocks, while relays are responsible for communicating with other relays in the network and broadcasting blocks. This difference determines how they are configured and how they are connected to the network.
A core node is configured with various key-pairs and an operational certificate needed for block generation. It only connects to its relay nodes.
Instructions to configure a node
- About node configuration files
- Configuring topology files for block-producing and relay nodes
- Getting configuration files and connecting the node
- Starting the node
Read the next section about keys and operational certificates to proceed.