Overview
Although it is well understood that increasing Bitcoins block size limit (currently 1 MB)
would immediately reduce transaction fees and improve confirmation reliability, concern
exists regarding the networks ability to safely and reliably handle the associated increase in
transaction throughput.
To investigate this concern, we set up a global network of Bitcoin mining nodes1
configured to accept blocks up to one thousand times larger (1 GB) than the current limit. To
those nodes we connected transaction generators, each capable of generating and
broadcasting 200 transactions per second (tx/sec) sustained. 2 We performed (and are
continuing to perform) a series of ramps, where the transaction generators were
programmed to increase their generation rate following an exponential curve starting at 1
tx/sec and concluding at 1000 tx/secas illustrated in Fig. 1to identify bottlenecks and
measure performance statistics.
Further reading
BUIP 065: Gigablock Testnet Initiative (1 Sep 2017) https://bitco.in/forum/threads/buip065-
gigablock-testnet-initiative.2610/
Gigablock Testnet: Experiment #1 (draft test plan)
https://www.dropbox.com/s/o9n7d03vbb1syia/Experiment_1.pdf?dl=0
3
For example, the native bitcoin wallet becomes sluggish when managing wallets with many unspent outputs and key
pairs, and is thus not suitable for high-volume transaction generator. A custom Python application was written instead
to manage the wallets unspent output and key pairs, for millions of key pairs
4
E.g., nodes with less than 8 GB RAM often crashed due to insufficient memory prior to hitting the mempool
admission bottleneck.
5
At the time of writing, the five largest blocks during a ramp were, in descending order:
0.262 GB @ 55X compression (00000000e73ae82744e9fb940e6c0dc3d40c4338229ee4088030b3feda23510a)
0.244 GB @ 38X compression (00000000003baeb743f31b0e325bf44b7d23c3b235a8e9a24c4b19be4f0211e40)
0.206 GB @ 1.2X compression (00000000adae088a27fbbdb73818e129189fbf9c2e5eae14fe29dd77a1214b62)
0.102 GB @ 54X compression (0000000060eb9edf1b516ce619143d1515d5bb419add31e39443dd97e19d89b5)
0.078 GB @ 44X compression (00000000478479b0570cd1051c4feb34bd0ee27f7a246b340ca6b3ddb8412a60)