Hi,
this is rather a wishlist/idea item than a real bug in Bitcoin. The nodes that I run receive about 99% of the same data that they have in the TXN cache anyways as the new hashed block. For increasing Bitcoins protocol efficiency, I heard about the idea to synchronize different nodes by just transmitting the first couple bytes of each hash in a block and then looking up the corresponding TXN in the cache.
Because there is so much redundancy between the TXN cache and the blocks, I wonder whether an even more efficient synchronization algorithm wouldn't be possible?
I am thinking about transmitting ranges in the TXN hash space, such as 'all TXNs from 1ab3... to 256c..., with resulting hash sum of 678cd651...' that would then be acknowledged or NAK'd by the receiving end. Maybe even going further and selecting transactions from the TXN cache by their fees or other, dynamic selection criteria?
Also, nodes could keep track of the transactions known to be seen by other nodes, to make it even more efficient.
Is such an idea planned or being implemented. Is it worthwhile?
64ffa93def3a829065841d16d9693acc474568bbb144a0189cadf4c968046299