Blog

Back to Blog Entries

Bitcoin network stress test

June 23rd 2015

On 20 June 2015 CoinWallet.eu announced that they would perform a Bitcoin network stress test starting Monday 22 June 2015 and extending over 100 blocks. The stated intention was to discover whether the block size limit of 1MB would, when transaction volume exceeded its capacity, allow for quick recovery of the network to normal service.

During the stress test a range of fees, some exceeding 10,000 satoshi (0.000 1 BTC) per KB of transaction, was allocated to each transaction. In simple terms, any Bitcoin wallet providing a fee less than or equal to this value would produce transactions that would be in competition with the stress test transactions and therefore potentially subject to a delay.

The fee associated with a transaction is largely dependent on the size in bytes of the transaction. Miners will generally pick transactions with higher fees per KB from the backlog and bring them to the front of the queue.

A more complex view would include the age of the coins and the fee rate per KB applied. Bitcoin rules prioritise older coins over newer ones and miners are believed to prioritise transactions with higher fees per KB of transaction.

We monitored the behaviour of both MultiBit HD (version 0.1.0) and Classic (version 0.5.18) during the stress test and the results are given below.

MultiBit HD

MultiBit HD uses a default base fee of 3,000 satoshi per KB which can be adjusted up or down through a range of 1,000 to 10,000 using the Preferences | Fees panel. Our research during development of MultiBit HD indicated that 3,000 satoshi per KB would usually place the transaction into the next block or two as of Summer 2015.

We used the excellent block chain monitor at tradeblock.com to monitor the status of the Bitcoin network during the stress test

During the stress test we found the following behaviour:

  • Transactions with a fee of 1,000 satoshi (0.000 01 BTC) per KB of transaction took 87 blocks to confirm. These transactions had fees lower than the stress test transactions and so were effectively put at the back of the queue
  • Transactions with a fee of 3,000 satoshi per KB took 11 or 80 blocks to confirm
  • Transactions with a fee of 10,000 satoshi per KB took an average of 9 blocks to get mined

Data:

  • Data: 1x tx sent: @13:34 block: 362,033. Mined in block: 362120. 0.000 01 BTC/KB fee
  • Data: 1x tx sent: @13:35 block: 362,033. Mined in block: 362120. 0.000 01 BTC/KB fee
  • Data: 1x tx sent: @13:15 block: 362,033. Mined in block: 362113. 0.000 03 BTC/KB fee
  • Data: 1x tx sent: @13:16 block: 362,033. Mined in block: 362044. 0.000 03 BTC/KB fee
  • Data: 1x tx sent: @13:22 block: 362,033. Mined in block: 362041. 0.000 1 BTC/KB fee
  • Data: 1x tx sent: @13:23 block: 362,033. Mined in block: 362043. 0.000 1 BTC/KB fee

MultiBit Classic

MultiBit Classic uses a fixed base fee of 10,000 satoshi per KB. It cannot be varied so users are not able to respond to an emerging market in fees.

During the early part of the stress test we found the following behaviour:

  • Average number of 3 blocks for transaction to be mined (10,000 satoshi per KB fee):

Data:

  • Data: 2x tx sent: @13:14 block:362,033. Mined in block:362,036. 0.000 1 BTC/KB fee

Conclusion

When the Bitcoin network is flooded with transactions at a particular fee level, transactions with lower fees do not get confirmed in a timely manner.

We will look at reworking the fee slider in MultiBit HD to increase the maximum fee level up from the current maximum of 0.000 1 BTC/KB. This will enable users to outbid most flooding transactions when required.

We also noticed during the test that of the 5 block explorers MultiBit HD provides, 3 had problems viewing our transactions. This was observed even though they were definitely out in the network and had been received in the destination wallet. These were: biteasy.com, blockchain.info and bitpay.com. The other 2 block explorers had no problems viewing our transactions. These were: blockr.io and blocktrail.com - so here's a shout out to those providers.

Related articles

Here are some related articles: