Author: Peter Tschipper 2015-11-30 23:12:24
Published on: 2015-11-30T23:12:24+00:00
The Bitcoin Dev Community has been experimenting and testing with various compression libraries to reduce network bandwidth and improve performance when there is latency on the network. They have drafted a BIP document for compressing blocks and transactions before sending them to reduce daily bandwidth used, speed up data transmission throughout the network, encourage users to keep their nodes running longer, and allow for more peer connections. Compression can be turned on/off using a service bit, and compression library LZO1x will be used. Blocks and transactions will be concatenated together when possible to increase compressibility of smaller blocks, and transactions below 500 bytes will be sent uncompressed unless they can be concatenated. Compression levels can be specified in the bitcoin.conf file, and if compression fails, data will be sent uncompressed. Test results show up to a 20% compression using LZO1x-1 and up to 27% when using LZO1x-999, with a marked performance improvement when there is latency on the network. Most transactions happen to be in the range of 1KB-10KB where they compress well, but don't compress well below 500 bytes.
Updated on: 2023-06-11T01:31:19.573822+00:00