<p>Only set of &quot;Consensus services&quot; (NODE_NETWORK, NODE_WITNESS, NODE_NETWORK_LIMITED) gives the SI score = 1.</p>
<p>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.</p>

CC BY-SA 4.0
2023-07-09T13:37:16.760Z
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.
Pieter Wuille
CC BY-SA 4.0
2023-07-10T09:30:02.543Z
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
CC BY-SA 4.0
2023-07-10T09:35:49.140Z
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
CC BY-SA 4.0
2023-07-11T16:00:24.637Z
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.
Denis Rozhnev
CC BY-SA 4.0
2023-07-09T02:54:46.817Z
2023-07-09T02:54:46.817Z
Denis Rozhnev
<p>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.</p>
<p>My bitcoin.conf file contains following entries:</p>
<pre><code>blockfilterindex=1
peerbloomfilters=1
peerblockfilters=1
coinstatsindex=1 
</code></pre>
<p>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.</p>
<p>As of today</p>
<ul>
<li>blocks/index folder uses 110.5 MB,</li>
<li>chainstate folder uses 4.8 GB,</li>
<li>indexes/blockfilter folder uses 8 GB,</li>
<li>indexes/coinstats index folder uses 128 MB,</li>
<li>indexes/txindex folder uses 36.7 GB.</li>
</ul>
<p>When I check the Bitnodes.io Leaderboard ( <a href="https://bitnodes.io/nodes/leaderboard/" rel="nofollow noreferrer">https://bitnodes.io/nodes/leaderboard/</a> ), 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 <em>0.2</em> for the Services index (SI).</p>
<p>The definition of <em>Services index</em> on Bitnodes.io:</p>
<pre><code>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
</code></pre>
<p>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 <em>1</em> for Services index (SI).</p>
<p>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?</p>

CC BY-SA 4.0
2022-09-29T21:00:21.723Z
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
CC BY-SA 4.0
2022-09-30T07:48:13.727Z
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
CC BY-SA 4.0
2022-09-30T07:48:17.390Z
Checking Bitcoin Core 0.19.0.1 release notes https://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
CC BY-SA 4.0
2022-09-30T13:10:05.033Z
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?
Pieter Wuille
CC BY-SA 4.0
2022-09-30T14:54:36.140Z
In the end, this is maybe a question that would need to be directed at the operators of bitnodes.
Murch
<bitcoin-core><full-node><p2p><bitnodes>
Is it bad practice to run full node with all Bitcoin P2P protocol optional services enabled?
deyw
# Is it bad practice to run full node with all Bitcoin P2P protocol optional services enabled?

(Asked by: username_0 on 2022-09-29)

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?

**Tags:** bitcoin-core, full-node, p2p, bitnodes

> **Comments:**
> **username_1**: 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?  
> **username_0**: 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.  
> **username_0**: Checking Bitcoin Core 0.19.0.1 release notes https://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.  
> **username_2**: 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?  
> **username_1**: In the end, this is maybe a question that would need to be directed at the operators of bitnodes.  

---

## 1 answers

### Answer by username_3 on 2023-07-09. Score: 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.

> **Comments:**
> **username_2**: 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.  
> **username_0**: 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.  
> **username_0**: 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.  
> **username_3**: 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.  

---

