Published on: 2015-11-29T05:15:32+00:00
The conversation between Jonathan Toomim and Peter Tschipper on bitcoin-dev revolves around the concept of compression ratio. Toomim clarifies that compression ratio refers to the ratio of compressed to uncompressed data, while Tschipper seems to be using (1 - compressed/uncompressed) to describe size reduction. Tschipper provides a table showcasing the compression ratios achieved by different methods for various data sizes. The table reveals that Zlib is the most effective in compressing data, followed closely by LZOx-999, albeit at a cost. The compression percentages for different data ranges are also displayed in the table.The term "compression ratio" is often misunderstood as referring to size reduction instead of the actual ratio of compressed to uncompressed data. In November 2015, Peter Tschipper shares data on compression ratios achieved by different methods on bitcoin-dev. The results indicate that Zlib is highly efficient in compression, with LZOx-999 being a close contender but at a higher cost. The data is presented in a table, illustrating the compression ratios achieved for different file sizes. Specifically, Zlib-1 and Zlib-6 achieve the highest compression ratios for files ranging from 0-250b and 250-500b, respectively. Across all file size ranges, LZOx-1 and LZOx-999 yield lower compression ratios compared to Zlib.The study also examines the performance of the reference implementation in compressing blocks and transactions. By concatenating blocks and transactions, the resulting data sizes fall within the 1-2MB range. Compression libraries were tested with and without latency, and it was found that all performed better when latency was present on the network. Although there is a preference for higher compression provided by Zlib, LZO is favored due to its speed, scalability, and lower compression setting. Furthermore, the compression ratios achieved for different data sizes are analyzed, with Zlib emerging as the clear winner in terms of compressibility. LZOx-999 comes close but at a higher cost. The time taken to compress data of varying sizes is also examined, revealing that LZO1x is the fastest option. As file sizes increase, LZO1x shows minimal increases in compression time. However, as compression ratios increase, LZOx-999 performs significantly worse than Zlib. Jeff Garzik suggests the need for a fallback path to non-compressed data in case compression fails or crashes.The discussion on the bitcoin-dev mailing list focuses on the idea of negotiating local trade-off decisions between peers instead of making it a mandatory feature of the P2P network. One participant highlights that achieving 25% bandwidth savings is significant, especially for those running full nodes in countries with limited internet bandwidth and data caps. The conversation is led by Jonathan Corgan from Corgan Labs, a company specializing in SDR training and development services. Peter Ts's recent data supports the notion that most blocks and transactions contain runs of zeroes and/or highly common bit-patterns, which contributes to effective compression even at smaller sizes. Tier Nolan suggests focusing solely on compressing blocks for historical data and introducing a "cblocks" message to handle multiple blocks. Similarly, transactions could be combined and compressed as "ctxs". Alternatively, a compressed message holder could be defined, although its complexity may outweigh its benefits.The thread concludes with information on how to subscribe to the bitcoin-dev mailing list.
Updated on: 2023-08-01T16:56:18.845595+00:00