Upon start up, after it has downloaded and verified the blocks, the Bitcoin Core client "loads the banlist". What is this banlist?
2 Answers
It is a blacklist of erroneous nodes' IP addresses which has accrued a certain amount of banscore due to "misbehaviour". To check what sort of erroneous behaviour is considered "misbehaving", you can check the Core source code.
It is a precaution to protect your node against potential denial of service attacks. Example actions which will accrue banscore includes spamming "mempool" messages, relaying invalid transactions/blocks, etc...
-
1thanks! But how are nodes identified?? I thought nodes were not identified... so how can you keep a reliable listing?– hartmutOct 4, 2016 at 14:31
-
1
In simple-speak...
A list of banned nodes.
A node does something bad? Your node, if using the Core source code, will add it to it's "ban list", so it will not listen to that node. The more and more people "ban" that node, the less effect it has on the network.
I'll give you an analogy.
A social media site. You have tons and tons of friends. There's this one guy who keeps trolling around, so you block him. He has no affect on you, however this guy has effect on everyone else. But once the majority of the people in your network block him, he has effect on practically no one. He can communicate to no one.
** I'm tired, forgive the bad analogy **