Segmented Block Relaying BIP draft.



Summary:

A merkle tree root can be validated by hashing the two children together. To validate segments of a block, you only need the root hashes for those segments, not all transaction hashes. For instance, to verify four segments of eight transactions, you ask for level 2 and check that the level 2 hashes calculate to the root. Once this is done, you can use these hashes to validate the segments. You only download four hashes instead of eight by validating the segments for each segment root. Downloading transaction hashes is not necessary; only the level for the segment roots. The merkle tree is useful for validating a single transaction exists in a block and saves a large proportion of data required. The proposal's redundant data removed is smaller as a proportion of the total data, so it might not be worth it, but it is simple to implement.


Updated on: 2023-06-06T07:10:47.973405+00:00