ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Cardano.Network.Diffusion.Configuration

Description

One stop shop for configuring diffusion layer for upstream clients This module contains Cardano specific configuration parameters

Synopsis

Documentation

newtype NumberOfBigLedgerPeers #

Minimum number of hot big ledger peers in Genesis mode for trusted state to be signalled to Consensus. This number should be smaller than the targetNumberOfActiveBigLedgerPeers but greater than 1. In Genesis, we may demote a big ledger peer for underperformance, but not promote a replacement immediately to guard against adversaries which may want to slow down our progress.

defaultSyncTargets :: PeerSelectionTargets Source #

These targets are established when Genesis mode is enabled in node configuration and when the node is syncing up

defaultNumberOfBigLedgerPeers :: NumberOfBigLedgerPeers Source #

This parameter controls the minimum number of active connections with big ledger peers that must be maintained when syncing in Genesis mode such that trusted state can be signalled to Consensus. Exiting syncing / entering deadline mode is predicated on this condition. This should be below targetNumberOfActiveBigLedgerPeers in syncTargets otherwise untrusted state will never be departed. This value is lower than the target, because in Genesis we may demote a big ledger peer for underperformance and not immediately promote one from the warm set in case there are adversaries whom are intentionally trying to slow us down.