Author: Peter Tschipper 2015-11-18 14:00:35
Published on: 2015-11-18T14:00:35+00:00
The post contains findings related to compression of transactions in Bitcoin. Compression was moved from main.cpp to streams.h (CDataStream) and then added to transactions as well. The post includes a table with results showing the range of block size, average uncompressed and compressed transaction size, compression ratio, and number of datapoints taken. Transactions below 500 bytes do not compress well, but those beyond 1KB compress very well.The post also includes results comparing performance when network latency is added to the mix. Two nodes were run on Windows 7, and the first 200000 blocks were synced from one node to another using Netbalancer to induce 30ms and 60ms latencies. Results show that bandwidth savings are seen along with a small performance savings. Saving bandwidth appears to be the primary value of compressing blocks. There was no significant difference in performance when no latency was present.A table is included to compare the time it takes to sync the blockchain, compressed vs uncompressed, with varying latencies. The table shows the number of blocks synced, uncompressed and compressed times, and times with 30ms and 60ms latencies.
Updated on: 2023-06-11T01:18:25.883638+00:00