Our money works with a blockchain made out of… well, blocks chained together. Every block contains a list of the newest transactions made, when someone sent and someone received. All those blocks together are like pages of our super long money shared book. We already decided that those blocks should come approximately every two minutes. Which is useful, and works like our own synchronized money universal clock. But if the pace of new blocks is somehow fixed, what happens if a lot of people wants to make new transactions, all of them at the same time?
Same thing that happens when we have to ride the subway at rush hour. Cars are packed until there’s not space for a hamster, and you cannot even squeeze in. The train leaves the platform, and you have to wait for the next one. You could make the cars bigger, so they hold more people. But what happens after rush hour? They’re empty. They waste energy to move those huge cars around, they take space at the garages, they’re costly to build and maintain.
Same happens with our money blockchain. If we make blocks too small, every time there’s more traffic or interest in using the currency, people are left waiting for the next block to get their transactions made. Or several blocks. If you decide to rise the price of tickets (the fee paid to miners) our money would only make sense for big transactions. Most people are not rich, so our money won’t be used by most people. If our money is not used by most people, it won’t have network effect, and lose value. And if our money doesn’t have value, it won’t work as a wealth storage. Game over.
If we make blocks too big, we put a strain in our infrastructure. For example, people running nodes will see the size of the blockchain grow very fast, the hardware needed to run a node gets more expensive, therefore less people run a node. If less people run nodes the network gets centralized, and when consensus depends on a few actors, they can easily misbehave. When people see that money depends on a few individuals’ whims, they tend to prefer other money that is more independent. If people stop using the money, game over again.
What could be a solution? Make the blocks dynamic. Again, thanks to the magic of not having to deal with the constraints of the real physical world, we can have magic subway cars that grow during rush hour and shrink during low demand. And to decide how much to shrink or grow them, we’ll take the median size of the last 100 blocks, and see how filled they were. Then change the size carefully until balance is achieved again. With this design, changes are never extreme, people running infrastructure can adapt, and users can welcome adoption of the currency with a smile on their faces. More users doesn’t mean worse experience, on the contrary, it means more useful money