I was interested, how fast do transactions propagate through network in reality?
I was thinking, if I can connect to every node and listen to inv messages, I could estimate it (node should send inv when it got tx and verified it, and only once). Well, I did exactly that. Only I ended up connected not to all nodes, but to fair share of them (~1900 active connections at the end of the experiment). I logged every inv message with timestamp. After several hours, I processed resulting 2.5 Gb text file with python, remembering time I first saw each transacion hash, and next time I got inv with it, I calculated time difference, binning it (used 1 sec bins) and summing over all transactions.
I ended up with following distribution (x is in seconds):
https://imageshack.us/a/img407/6856/propnc.pngWhat can I say? Certainly, propagation speed is not that great. "Tails" are quite long. There are fair amount of retransmits (I believe second mode is result retransmits).
Please discuss.