When investigating my mempool statistics there are from time to time >15 minutes intervals without blocks followed immediately by two or three fast blocks and it happened too often to be just due to the high variance of exponential distributiion.
Looking into the logs revealed the culprit:
0grep Timeout -A1 debug.log | tail
12018-01-29 08:45:20 Timeout downloading block 00000000000000000031a8bf543031f89b7a2a445d5b872883b2b5375c251571 from peer=47947, disconnecting
22018-01-29 08:45:22 UpdateTip: new best=00000000000000000031a8bf543031f89b7a2a445d5b872883b2b5375c251571 height=506627 version=0x20000000 log2_work=87.990329 tx=296113862 date='2018-01-29 08:34:56' progress=0.999993 cache=85.3MiB(564264txo)
3--
42018-01-29 09:41:12 Timeout downloading block 000000000000000000254d01e7f0d550506ae1d23be0d255e9e650ecbe887e6a from peer=51377, disconnecting
52018-01-29 09:41:13 UpdateTip: new best=000000000000000000254d01e7f0d550506ae1d23be0d255e9e650ecbe887e6a height=506635 version=0x20000000 log2_work=87.990749 tx=296124995 date='2018-01-29 09:31:05' progress=0.999994 cache=88.7MiB(591588txo)
6--
72018-01-29 11:33:16 Timeout downloading block 00000000000000000064da61afd140ad94b973d5d355e653111c04edba9ea625 from peer=51664, disconnecting
82018-01-29 11:33:17 UpdateTip: new best=00000000000000000064da61afd140ad94b973d5d355e653111c04edba9ea625 height=506642 version=0x20000000 log2_work=87.991116 tx=296138316 date='2018-01-29 11:22:36' progress=0.999993 cache=94.6MiB(639913txo)
The peer seems to be always the same (IP addresses aren’t logged):
02018-01-29 09:42:12 receive version message: /ViaBTC:bitpeer.0.2.0/: version 70015, blocks=0, us=0.0.0.0:0, peer=51664
What behavior did you expect?
First, I’d expect a shorter timeout (it seems to be 10 minutes). While a 10 minutes timeout is not that critical for my node, it means that you shouldn’t use an unmodified bitcoin core for solo mining or you risk high orphan rate.
Also why is the node not banned? It is disconnected but it is allowed to immediately reconnect. Wouldn’t it be possible to exploit this behaviour to make the blocks of competitors relay slowly, by just sending the inv message for them but never delivering the content.
This is with bitcoin v0.15.1