The myth of “not full” blocks
I’m going to take a break from addressing objections to raising the maximum block size because in discussions I’m seeing people claim that “blocks aren’t full” or “we don’t yet have a functioning fee market.”
It is true that not every single block is one-megabyte big. But it is not entirely true that “blocks aren’t full” – many blocks are full, either because miners are deciding to create blocks smaller than one megabyte or because sometimes it takes a long time to find a block. Here is a graph I created (from Jameson Lopp’s excellent statoshi.info website) showing the memory pool– transactions waiting to be confirmed– over time:
Every peak on that graph corresponds to a block being found, and you can see that many blocks don’t clear out the memory pool.
The biggest triangle on that graph, near the beginning, has a peak of about 4,500 transactions waiting to be confirmed. Near the end of the graph, you can see a couple of big triangles with spikes on the way up and/or the way down. Those are places where the memory pool started to back up and a miner who has decided (for whatever reason) to create smaller blocks found a block.
In the middle, around time 00:00, you see lots of little wiggles– miners got lucky and found a bunch of blocks in one hour. It looks like the memory pool completely emptied out there (the line goes to zero).
If I had infinite time I’d submit a patch to statoshi to get a graph that excludes zero-fee transactions from the graph, but looking at the graph I’m certain that a lot of miners are filling smaller blocks and leaving some fee-paying transactions out.
And since many miners are doing that, there is a functioning fee market, at least if you care about your transaction getting confirmed in the next one-or-two-or-three blocks:
That’s a graph of Alex Morcos’ spiffy new fee estimation code (which I would be reviewing instead of writing this, if I had infinite time).
If you don’t care how long your transaction takes to be confirmed, then I agree– there is no functional fee market, the transaction spam limits kick in and put a floor on transaction fees.
But we don’t need 100% full one megabyte blocks to start to learn about what is likely to happen as transaction volume rises and/or the one megabyte block size limit is raised.