Is Bitcoin fair

In the classical Bitcoin protocol, the current maximum block size (1 MB) limits number of transactions per block (around 3 transactions per second). This can force regular users to compete for transactions by increasing the fees, pricing some users out of the network, once the corresponding blockchain system is popular enough, which is the case for Bitcoin currently. Currently, in the Bitcoin protocol, there are more than one thousand comments about unconfirmed transactions reported in Bitcoin forums, see this and this.

A greater block size, like we have now in Bitcoin Cash (8 MB), would allow miners to receive more transaction fees without the need for users to pay higher fees. There would be enough capacity for everyone’s transactions (at least for the moment), resulting lower fees and more participation. On the other hand, as the participation grows, the number of transactions will increase also. Should the block size be increased much more in that case? If yes, isn’t there a limitation for this? A much greater block size will definitely increase the bandwidth requirements and results in increased communication delays. And bandwidths have limits, and will always have… And also, together with the increased participants in the network, how would miners behave?

In fact, even if there is no maximum block size limit, miners would always tend to create relatively limited sized blocks in order to diffuse their blocks to the network as quickly as possible since there is no minimum block size limit. Because this is a race! Obviously, the fees will be skyrocketed again, and like before there will be unconfirmed transactions (with relatively low fees) again.

For the moment, there are only some workarounds proposed to the Bitcoin users for dealing with their unconfirmed transactions:

  1. resending it again as it is (to make sure that it reaches more nodes),

  2. resending it with higher fees to increase its probability to be selected (also called replace-by-fee),

  3. resending it directly to an altruistic miner that accepts low fees or

  4. spending the unconfirmed transaction with a high fee to cause miners to consider confirming the parent transaction in order to get the fees from the child transaction included in the same block (also called child pays for parent).

However, none of these solutions guarantee the confirmation of transactions and it is always users who pay more to make their transactions to be confirmed. They wait more, they pay more…

More than that, there is still no mechanism for cancelling a transaction. The users are imperfect human-beings and there must be some cancellation mechanism under certain conditions if increased participation is expected. Except for the cryptocurrency systems, all other currency systems have such mechanisms.

Based on all these observations, it can be said that things seem to be designed for the advantage of the miner for the moment, but not the users. One can say of course, because it is the miners who assure the system functions.

OK, but, is that really fair? Without user being in the system, what would miners assure?

Related