Segmented Block Relaying BIP draft.



Summary:

The email thread discusses the use of Merkle trees in parallellizing block downloads to prevent the re-download of transactions that are already known. The initial node would request the level-3 hashes, and start 8 parallel threads to download transactions from different peers. Each thread then fetches the transaction IDs that correspond to its own 1/8th of the block and requests the transactions whose txid is not yet known. There is a comparison with Gregory's suggestion to fetch the entire txid list at first and then fetch the unknown transactions from several peers. While it is meaningful, the gains are not very large. The proposal to process different layers of the Merkle tree iteratively after starting the initial parallel segments is deemed not useful as the actual txids are needed before deciding whether they need to be downloaded at all. The email also clarifies that Satoshi used Merkle trees for transactions in a block to allow a short piece of data to prove a transaction belongs to it, rather than for parallellizing downloads. The context ends with Pieter asking for clarification on the proposal by giving a concrete sequence of exchanged messages with a given purpose.


Updated on: 2023-05-19T04:10:17.779371+00:00