INV overhead and batched INVs to reduce full node traffic



Summary:

The INV scheme used by Bitcoin is very inefficient due to the overheads of TCP, IP, ethernet and ACKs. Each INV takes up to 193 bytes, with only 16.5% efficiency for each of the payloads. An improvement could be the implementation of batched INVs where the hashes for two transactions per IP packet instead of one can be included. This would increase the INV size to 229 bytes for 64 bytes of payload (88.8% efficiency) after the first hash. Waiting a short period of time to accumulate several hashes together and send them could reduce the traffic of running bitcoin nodes by a factor of 2 or more. However, if too many people used it, it could slow down the propagation of transactions across the bitcoin network slightly. This could be mitigated by choosing a different batch size for each peer based on their preferences.


Updated on: 2023-06-11T04:09:31.193903+00:00