In the Portal history network block bodies and receipts are now stored in a way that ranges of block numbers map onto ranges of content ids in the id space.
This design allows for requesting multiple consecutive blocks from peers, but there is currently no mechanism for requesting multiple blocks or content items at once.
Thus we need to:
- Implement a new request/response message type that supports requesting ranges of data.
- Figure out how to use this feature recursively (like recursive find content / look-ups) to fetch data efficiently.
- Determine how to handle situations where nodes do not have the full range of data (e.g., returning partial data, or no data at all).
This issue is about experimenting with this approach and to test how fast we could potentially download all block bodies (do a full sync for example) with this type of improvement.