[bitcoin-dev] Idea: Efficient bitcoin block propagation

Gregory Maxwell gmaxwell at gmail.com
Wed Aug 5 20:16:34 UTC 2015

On Wed, Aug 5, 2015 at 7:53 PM, Arnoud Kouwenhoven - Pukaki Corp via
bitcoin-dev <bitcoin-dev at lists.linuxfoundation.org> wrote:
> Thanks for the reply. My understanding is that the bitcoin relay network is
> a backbone of connected high speed servers to increase the rate at which
> transactions and new blocks propagate - and remove a number of delays in
> processing. But it would still require the miners to download the entire
> block before building on top of it with any degree of confidence.

Your understanding is outdated.

The relay network includes an optimized transmission protocol which
enables sending the "entire" block typically in just a smal number of
bytes (much smaller than the summaries you suggest, which still leave
the participants needing to send the block).

E.g. block 000ce90846 was 999950 bytes and the relay network protocol
sent it using at most 4906 bytes.

No trust is required in this scheme because the entire block is
communicated using only a couple packets.

The current scheme is highly simplified and its efficiency could be
increased greatly with small improvements, or if miners created blocks
in an aware manner.... but with a maximum size blocks turning into 5kb
with the current setup, there hardly appears to be a reason to do so
right now.

Ultimately there is no need for information communicated with a block
at discovery time proportional to the size of the block; with the
right affordances it can be accomplished with a small constant amount
of data.

If not for this already being deployed I personally believe the
network would have already fallen into complete centeralization as a
response to larger blocks: this was constructed and deployed in order
to pull the network back from having a single pool with more than half
the hashrate.

More information about the bitcoin-dev mailing list