12 votes
Accepted

What increases a node's banscore?

There are many facts that can increase a node's banscore. A node's banscore is updated in the Misbehaving function from main.cpp. Some of the reasons that trigger such update are: Sending invalid ...
  • 1,573
5 votes

Which sender is banned in case of invalid transactions or blocks?

There is no way to know which node created a transaction or block, unless they publish that information themselves. Nodes should not have an identity that leaks into transaction or block data. So ...
4 votes
Accepted

Why does the banscore default to 100?

The concept of banscore is mostly historical at this point in time. The original concept was that minor misconfiguration or implementation wouldn't cause the whole network to disconnect itself ...
  • 15.2k
4 votes
Accepted

Under what circumstances will a full node disconnect a peer?

For a node to be disconnected the default threshold of banscore is 100. In versions prior to v0.18, the default time to keep the misbehaving peer from reconnecting is 86,400 seconds or 1 day. However, ...
  • 7,063
2 votes

What stops an attacker from crippling the Bitcoin network?

...could conceivably broadcast a ton of junk/illegitimate transactions to the network thereby consuming the necessary bandwidth and processing power for the network to deal with legitimate ones. If ...
  • 17.6k
2 votes
Accepted

How can I get my peer's ban score for my node?

Correct: there's no provision in the P2P network protocol for your peers to tell you what ban score they've computed for you. Since each node connected to you separately computes a ban score using ...
2 votes

Without IP address, are there any other identities considered for banning nodes

First of all, IP addresses are not stored in transactions nor can a node just "generate IP addresses". How banning works is that nodes connect to each other via TCP sockets which are stream sockets ...
  • 63.8k
2 votes

What is the duration of a ban?

When state->fShouldBan is set, the network thread will disconnect the node, and cleanup memory. As a result, the state object disappears entirely. Because of that, there is no need to ever unset ...
1 vote

What stops an attacker from crippling the Bitcoin network?

Attackers are financially disincentivized to do this. They have to produce enough transactions, frequently enough to fill up blocks and keep them full The transaction fee has to be large enough so ...
  • 5,328

Only top scored, non community-wiki answers of a minimum length are eligible