# How long does it take to propagate a newly created block to the entire Bitcoin network and why?

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/… . May 12, 2013 at 6:56
• 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? May 12, 2013 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? May 12, 2013 at 15:15
• I think the time scale matters most, but I would be happiest to have it backed by actual figures. May 15, 2013 at 8:49
• lurf : that would require knowing things about the number of hashes each node is capable of. Wouldn't it? May 15, 2013 at 8:52

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.

• Unfortunately, Bitcoin Stats on 2017/04/05 stopped to provide daily snapshots on Bitcoin block propagation speed. Is anyone aware of a new resource for this information? Nov 28, 2020 at 16:23

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

"Information Propagation in the Bitcoin Network"

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.

Since the introduction of BIP152: Compact Block Relay, peers announce new blocks to each other in a shorthand that provides the header and only the list of transactions included in the block. Since nodes should have already learned about the majority of unconfirmed transactions, the receivers can rebuild the block from their mempool after retrieving the remaining few missing transactions. Compact Block Relay and other relay improvements have significantly sped up the block propagation, so that it now (June 2022) takes about 0.5 s for 50% and 2.5 s for 90% of the listening nodes to announce inventory of a new block.

via dsn.kastel.kit.edu/bitcoin/

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) May 15, 2013 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. May 15, 2013 at 21:01