Bitcoin is a work of genius .. it is a world-changing technology revolution. But being the first incarnation of a new new technology, there are some things that can be improved upon :

  • time to next transaction
  • time for transactions to clear [ unpredictable processing times ]
  • transaction fees
  • energy efficiency

For now, lets just look at one issue – Currently in bitcoin, transactions are throttled by money supply/proof-of-work, and this is a bottleneck on transaction throughput. The fact is they don’t need to be, they can be decoupled.

Some eye opening stats :

[ last 3 images from woobull.com ]

But.. we can actually have our cake and eat it, when it comes to block size. Its not that hard a technical problem to solve :

Dynamic block size [ decoupled block size from money supply ]

The mining reward should be given purely for PoW / solving the next block hash / making the next “time-stamp” – it should not be a throttle on transaction volume. It is a throttle on transaction volume currently, because the block size is fixed per solve.

Currently we have blocks that are 15% full, and blocks that are 99% full – the block size is not the issue, the issue is the block size is fixed.

Even with 1MB, 2MB, or 4MB blocks, [ with or without SegWit saving blockspace ] .. given the growth rate, there will be peak times when the block is full and can’t accommodate all waiting transactions in the mempool … and also quiet times when the block is almost empty.

If we have block space that adapts to accommodate demand, then all the transactions in the mem-pool can be put into the block and processed. This saves server ram and it avoids having some transactions hanging around for several blocks, and being very slow to clear. Even transactions with high fees can be made to wait for the next block during peak times, due to demand.

If you need 8.32MB to clear the transaction pool then use it, if you need 375k use that.  Transaction mem-pools are as high as 32MB currently, but this is mainly due to them not fitting into the 1MB block limit, so they build up, so its likely that the largest blocks will be under 4MB for a while .. but if they get larger its a good thing, it means lots of people are using Bitcoin.   Transaction fees cover the processing overhead of larger blocks. Storage fits better to the amount of data flow, servers don’t waste ram on old transactions hanging around, etc.

You can do this without affecting the fundamentals of the money supply – solving the block is still hard, is rewarded with the coinbase on a known schedule. The same coinbase reward should be given whether the block is small or large, whether there are lots of transactions waiting or a few.

If miners think about this approach they will realise that it will lead to more stable transaction times, less ram usage, less disk usage, more bitcoin adoption, higher transaction volume, and more fees income, higher bitcoin usability and higher bitcoin USD valuation. Users will have more stable transaction clearance times, more predictable fees, much more transaction volume, more stability in the platform for businesses and investors.

The stats show the size of mempools – transactions waiting – is volatile with many high peaks :

Mempool stats over the past year [ peaks over 100MB in May – Jun 2017 ]:

mempool_20170716_past_1yr_

Mempool stats over the past week [ as high as 40MB, usually over 5MB ]:

mempool_20170716_past_1wk

 

This graph shows the median and mean block size over the past few years, with the growth of Bitcoin as a currency.   Block size has now converged on the maximum – this is the definition of a bottleneck : Bitcoin transactions now have nowhere to go  :

median_mean_blocksize

 

On a lighter note, the fed gets upstaged by Bitcoin activist.  Nicely done :

 

bitcoin_yellen