Bitcoin full node and query server

Mar 26, 2023

View in context in the libbitcoin Slack #general mirror.

evoskuil21:25
Validation is partially ordered. Only the prevout tx for an input is required to validate the input. Once the set of inputs of a tx is validated, the tx is validated, and once the txs of a block are validated, the block is validated. While eventually all txs must be validated, making sequential validation (block order) the simplest approach, obtaining all txs in block order creates a significant ordering constraint on downloads. In that model the full sync can be no faster than the fastest peer's block transfer rate. But given multiple peers the theoretical limit to the transfer rate (setting aside marshalling cost) is the transfer time of just one block of max size. Given a concurrent peer limit, such as the max number of ports on a machine (2^16), this is currently the transfer time of 12 blocks of average size. So maximizing bandwidth is possible.