3

I am running my full node /Satoshi:23.0.0/ with all optional services enabled. These are: NETWORK, BLOOM, WITNESS, COMPACT_FILTERS, and NETWORK_LIMITED.

My bitcoin.conf file contains following entries:

blockfilterindex=1
peerbloomfilters=1
peerblockfilters=1
coinstatsindex=1 

I don't mind if the node uses a few more GB to store the extra data for the indexes. I'm happy to help the network if these services are useful to other honest nodes.

As of today

  • blocks/index folder uses 110.5 MB,
  • chainstate folder uses 4.8 GB,
  • indexes/blockfilter folder uses 8 GB,
  • indexes/coinstats index folder uses 128 MB,
  • indexes/txindex folder uses 36.7 GB.

When I check the Bitnodes.io Leaderboard ( https://bitnodes.io/nodes/leaderboard/ ), details of my node show that it provides following services: NODE_NETWORK, NODE_BLOOM, NODE_WITNESS, NODE_NETWORK_LIMITED, NODE_COMPACT_FILTERS (1101), and my node gets score 0.2 for the Services index (SI).

The definition of Services index on Bitnodes.io:

SI = Services index
    SI = 1 / r
        r = rank of node's services
        Consensus services is ranked 1 followed by the next most common services
        SI is set to 0.0 for node without NODE_NETWORK

The nodes at the top of the Bitnodes.io leaderboard provide these 3 services: NODE_NETWORK, NODE_WITNESS, NODE_NETWORK_LIMITED (1033), and receive a score of 1 for Services index (SI).

Why are nodes, which provide all Bitcoin P2P protocol optional features to their peers, downrated on Bitnodes.io? Is it a bad practice to provide NODE_BLOOM and NODE_COMPACT_FILTERS services?

5
  • I would assume that more services are better, but the help text on the site doesn't clearly indicate whether that applies. Possibly not only the signaling of services is used, but also the availability of the services is occasionally checked so that the score only picks up over time as the tests are performed. Does it remain stable for you over the course that your node is online?
    – Murch
    Sep 29, 2022 at 21:00
  • Yes, it remains stable. My node reports all the services as active in the same window as other nodes at the top of the leaderboard. It looks like they simply set the best rating (SI score = 1) only to nodes running the most common services (NODE_NETWORK, NODE_WITNESS, NODE_NETWORK_LIMITED). Everything else is not considered as a "Consensus services", whatever that means. There are other nodes which get the same score as my node for the same services. Any node running NODE_BLOOM gets SI score 0.5 max. With both NODE_BLOOM & NODE_COMPACT_FILTERS it is only 0.2 max.
    – deyw
    Sep 30, 2022 at 7:48
  • Checking Bitcoin Core 0.19.0.1 release notes bitcoincore.org/en/releases/0.19.0.1 - under P2P changes, the BLOOM service was disabled per default due to the denial of service attack vector it creates. This may be a reason why they downrate the score. Well, I will keep my node running with all the services enabled. In case I would notice a denial of service due to BLOOM service being attacked I would disable it.
    – deyw
    Sep 30, 2022 at 7:48
  • I am wondering if the score is a reflection of how "usual" your node is, rather than "quality". If you run a less common combination of flags, you stand out more, and thus get a lower score. I don't think that really makes much sense, but maybe that's what's happening? Sep 30, 2022 at 13:10
  • In the end, this is maybe a question that would need to be directed at the operators of bitnodes.
    – Murch
    Sep 30, 2022 at 14:54

1 Answer 1

0

Only set of "Consensus services" (NODE_NETWORK, NODE_WITNESS, NODE_NETWORK_LIMITED) gives the SI score = 1.

The reason is NODE_BLOOM and NODE_COMPACT_FILTERS services allow freeload the network by lightweight clients which lowers amount of full nodes. For the same reason pruned nodes (missing NODE_NETWORK) get SI score = 0.

4
  • Why would the service "penalize" nodes for offering too many services? Doing so does not in any way affect the cost or incentives for others to run their nodes. Jul 9 at 13:37
  • In the meantime Bitnodes altered the calculation of the Service index. Nodes that operate all five services are now assigned a service index score of 0.9741, a significant increase from the score of 0.2 reported in September last year. Their rationale behind penalizing nodes that operate NODE_BLOOM and NODE_COMPACT_FILTERS, is simply that these are not the "most common services". A justification that is really somewhat puzzling.
    – deyw
    Jul 10 at 9:30
  • Current calculation of service index: SI = √(rs). where, rs = rank score, r = rank of node's services. Most common services is ranked 1 followed by the next most common services. SI is set to 0.0 for node without NODE_NETWORK.
    – deyw
    Jul 10 at 9:35
  • SI score incentivize benefits for the network. My understanding is NODE_BLOOM and NODE_COMPACT_FILTERS do not benefit the network, but benefits particular users of these services only. Jul 11 at 16:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.