dash/doc/reduce-traffic.md
MarcoFalke 29c78e2f44
Merge #18391: doc: Update init and reduce-traffic docs for -blocksonly
621e86ee8d0102e2bf41f7656a368083b89b2f83 Update -blocksonly documentation (glowang)

Pull request description:

  When -blocksonly is set to 1, it interacts with the -walletbroadcast
  parameter and sets it to 0.

  This behavior is not captured by the current documentation, which
  claims that -blocksonly does not impact any wallet transactions at
  all.

  Fixes #17294

ACKs for top commit:
  MarcoFalke:
    ACK 621e86ee8d0102e2bf41f7656a368083b89b2f83

Tree-SHA512: f47bfb40a196c23e62505e1d4f79094011ac7c21fc9b920fad60cdadb5c4f48e993be1f015e26e568ce329967c24848fd7b665a6cffd3881f4cfcd2fd0081ed8
2022-04-02 16:30:55 +05:30

2.5 KiB

Reduce Traffic

Some node operators need to deal with bandwidth caps imposed by their ISPs.

By default, Dash Core allows up to 125 connections to different peers, 10 of which are outbound. You can therefore, have at most 115 inbound connections. Of the 10 outbound peers, there can be 8 full outgoing connections and 2 with the -blocksonly mode turned on. You can therefore, have at most 115 inbound connections.

The default settings can result in relatively significant traffic consumption.

Ways to reduce traffic:

1. Use -maxuploadtarget=<MiB per day>

A major component of the traffic is caused by serving historic blocks to other nodes during the initial blocks download phase (syncing up a new node). This option can be specified in MiB per day and is turned off by default. This is not a hard limit; only a threshold to minimize the outbound traffic. When the limit is about to be reached, the uploaded data is cut by no longer serving historic blocks (blocks older than one week). Keep in mind that new nodes require other nodes that are willing to serve historic blocks.

Whitelisted peers will never be disconnected, although their traffic counts for calculating the target.

2. Disable "listening" (-listen=0)

Disabling listening will result in fewer nodes connected (remember the maximum of 10 outbound peers). Fewer nodes will result in less traffic usage as you are relaying blocks and transactions to fewer nodes.

3. Reduce maximum connections (-maxconnections=<num>)

Reducing the maximum connected nodes to a minimum could be desirable if traffic limits are tiny. Keep in mind that dash's trustless model works best if you are connected to a handful of nodes.

4. Turn off transaction relay (-blocksonly)

Forwarding transactions to peers increases the P2P traffic. To only sync blocks with other peers, you can disable transaction relay.

Be reminded of the effects of this setting.

  • Fee estimation will no longer work.
  • It sets the flag "-walletbroadcast" to be "0", only if it is currently unset. Doing so disables the automatic broadcasting of transactions from wallet. Not relaying other's transactions could hurt your privacy if used while a wallet is loaded or if you use the node to broadcast transactions.
  • If a peer is whitelisted and "-whitelistforcerelay" is set to "1" (which will also set "whitelistrelay" to "1"), we will still receive and relay their transactions.
  • It makes block propagation slower because compact block relay can only be used when transaction relay is enabled.