Block Size Calculator

What is the effect of changing the bitcoin MAX_BLOCK_SIZE?

Historical Context

(large file)

New Block Size

Simulate a Max Block Size of MB at an average mining rate of block every seconds.

Each full node is connected to peers in a network of nodes, requiring to fully broadcast a block.

Constraints

To support this new block size, the following constraints must be viable for all full nodes:

Constraint Condition Value Units
Bandwidth must be at least
Down:
Up:
Mbps
Data Cap must be at least ? GB per
Supplied Disk Capacity must be at least ? GB per year
Transaction processing must be at least ? transactions per second

Viability

How does this affect the ability of the bitcoin network to achieve the requirements?

A full node operator must be able to meet the following ongoing costs whilst still remaining incentivized:

Constraint Price Info Annual Cost % Cost

Bandwidth

bandwidth at GB per for $ at a speed of Mbps
  • 1 in ? blocks will be overlapping, which is once every ? days.
  • Hops take ? seconds each.
  • Blocks take ? seconds to fully propagate across the entire network.

$?

Supplied Disk Capacity

TB drive for $

$?

Transaction Processing

$ lifetime cost for computer to process tx/s

$?

Labor

hours per year at a rate of $ per hour

$?

Initial Block Download

If block size changed today, it would consume ? GB and take ? hours to download the blockchain from scratch on

TOTAL: $?

per year

Complexity

This is an extremely complex topic with subtlety and nuance.

  • Bandwidth from newly announced blocks is not the only consumption of bandwidth resouces.
    • Transaction relay
    • New nodes syncing old blocks
    • Other consumers of bandwidth
  • Upload and download bandwidth is not uniform.
  • Bandwidth availability can vary depending on general ISP congestion.
  • Bitcoin does not use bandwidth in a uniform manner, tends to be in spikes.
  • Blocks may arrive before the last one is received or processed.
  • Transaction backlog and mempool requirements.
  • Fees and the fee market, and how this affects the incentive structure for all participants of the network.
  • The operational difference between miners and full nodes.
  • The impact of orphan blocks and reorgs.
  • The impact of stale blocks.
  • The processing load of transactions is not identical for every transaction.
  • The size (ie bytes) of transactions is not identical for every transaction.
  • The impact of SPV wallets and miners, ie varying degrees of verification.
  • The impact of alternative transaction techniques such as lightning network.
  • The impact of block propagation techniques such as invertible bloom lookup tables.
  • The impact of other bitcoin features that indirectly affect block size and propagation, such as replace-by-fee.
  • The risk of hard or soft fork to implement desired changes.
  • The value for max block size may be fixed or dynamic.
  • Frequency and magnitude of worst-case-scenarios and attacks is difficult to predict.
  • Factors-of-safety have not been considered.
  • Willingness of participants to upgrade or not due to changes to max block size.
  • Participants may be gained or lost due to changes to the max block size.
  • Impact of changes to the max block size on the bitcoin market such as price, trading volume, liquidity, perception etc, thus affecting the incentives.
  • Impact of cryptographic changes that may affect the information density per block, such as schnorr signatures.
  • Impact of privacy features such as coinjoin.
  • Impact of alternative block size features such as segregated witness.
  • Management of Unspent Transaction Outputs with larger block sizes.
  • The rate of future technological developments, eg Moore's Law, as it relates to bandwidth, disk space and computation speed.
  • The amount of parallel processing, storage and bandwidth that can be done and assosciated economic effect.
  • The number of peers connected to the node.
  • The acceptable latency of blocks when 'catching up' in a series of good luck from miners.
  • The effect of pruning nodes vs full nodes.
  • Block timestamps are 'as-reported' by miners, and may not reflect the true time, possibly affecting the timing stats above.
  • Latency of multiple global hops may become nontrivial.

Without a full understanding of these complexities, there may be risk to changing the bitcoin max block size.

Open Source

This project is on github - https://github.com/iancoleman/blocksize_calculator