Idea: Efficient bitcoin block propagation



Summary:

On August 6, 2015, Gregory Maxwell and Sergio Demian Lerner had a discussion about the relay network in Bitcoin-dev. Tom Harding asked whether the relay network will validate block version numbers in the future, to which Maxwell replied that it already validates block version numbers. The block relaying is explicitly "unvalidated," but many stateless checks are performed. Lerner asked for up-to-date documentation regarding TheBlueMatt relay network, and its block compression method. Maxwell explained that the network does not perform compression as such, instead, it relays transactions verified by a local node and keeps a FIFO of the relayed transactions in both directions. When a block is received on either side, it replaces transactions with their indexes in the FIFO and relays it along. Transactions not in the fifo are escaped and sent whole. Maxwell further explained that there is some elaboration for resource management, including multiple queues for different transaction sizes. Recently, block templates have been used to learn transaction priority to be more immune to spam attacks, but it doesn't work. He concluded by saying that much better could be done about intelligently managing the queues or efficiently transmitting the membership sets. However, it's just basically the simplest thing that isn't completely stupid.


Updated on: 2023-05-19T21:12:53.370421+00:00