19

Once a new block has been created, it is propagated to the entire network. I’d like to know how long this would take “on average”.

The propagation delay can be from several causes, and I’d additionally like to understand which one is the most significant:

  1. As I understand, blocks are not propagated before being verified and accepted, so this should contribute to propagation time.
  2. Network latency adds delay regardless of the block size.
  3. Bandwidth limitations: large blocks will take longer to transmit, and nodes with many outgoing links will take longer to transmit the block to all their neighbors.
  4. The network’s diameter.

If there are other causes of delay I’d love to hear about them.

Also, is anyone monitoring the network’s propagation delay, or any of the other network measurements I mentioned, and if so, where can I find statistics?

  • Possibly related - bitcoin.stackexchange.com/questions/1557/… . – ThePiachu May 12 '13 at 6:56
  • 1
    If you know it's a matter of seconds and not minutes, does that answer your question? Or do you require a more accurate answer? – Steven Roose May 12 '13 at 14:47
  • I think that your reasons for latency are correct, but it's really hard to figure out exactly how long it takes on average. Maybe a calculation involving the rate of orphan blocks and the Poisson distribution of a block being made during the time that a block is propagating around the network? – lurf jurv May 12 '13 at 15:15
  • I think the time scale matters most, but I would be happiest to have it backed by actual figures. – Aviv Zohar May 15 '13 at 8:49
  • lurf : that would require knowing things about the number of hashes each node is capable of. Wouldn't it? – Aviv Zohar May 15 '13 at 8:52
12

According the paper 'Information propagation in the bitcoin network.' by Decker and Wattenhofer. The mean time for a node to see a block is 12.6 seconds, after 40 seconds 95% of the nodes have seen that block. This paper goes into some of the causes of propagation speed.

Block size is a dominating factor:

"For blocks, whose size is larger than 20kB, each kilobyte costs an additional 80ms delay until a majority knows about the block." -'Information propagation in the bitcoin network.'

Network Diameter does not appear to be that important as there are some very long shortest paths in bitcoin, but those paths only represent a tiny faction of the overlay network. The bitcoin network appears to be extremely well connected for most of the nodes and with a long narrow tail very very poor connections. A block may take a long time, possibly minutes to reach the last 0.0001 percent.

Bitcoin Stats have a nice website that measures block propagation speed, it is based on the research of Decker and Wattenhofer. It doesn't entirely agree with the Decker and Wattenhofer paper but it is important to understand that the bitcoin network is evolving at a breakneck pace. The bitcoin overlay network like the weather or the stock market, has the property that what was true yesterday might not be true tomorrow.

Bitcoin Stats says that for today, the mean was 5.1 seconds and 90th percentile was 22.4 seconds.

1

In regards to monitoring the block propagation, you could deploy a largish number of nodes and log new blocks and a time-stamp to a DB as they come in. There is probably some network size estimation requirements, but even a naive implementation should give you a good rough guess.

  • That's a possible way to go, but I'm guessing it would be hard to pinpoint the block creation time accurately enough. Most of the nodes you deploy will hear about the new block relatively late (assuming distribution is an exponentially growing branching process) – Aviv Zohar May 15 '13 at 8:56
  • I was commenting in regards to the network measurements part of your question. If you wanted such metrics, this might be a good way to go about measuring it. It would not tell you exact block creation time, but it would give you upper/lower bounds on the network graph. I assumed you wanted to measure the graph, not creation times. – Indolering May 15 '13 at 21:01
1

A recent paper by Decker and Wattenhofer answers the question with detailed measurements:

"Information Propagation in the Bitcoin Network"

Link: http://www.tik.ee.ethz.ch/file/49318d3f56c1d525aabf7fda78b23fc0/P2P2013_041.pdf

At current block sizes, the size of the block (via transmission and validation) matters more than the delay in requesting or propagating packets through the internet.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.