Post
Topic
Board Development & Technical Discussion
Merits 20 from 5 users
Re: About block size limit and transactions fees
by
DannyHamilton
on 05/08/2021, 18:30:40 UTC
⭐ Merited by Welsh (8) ,garlonicon (5) ,ETFbitcoin (3) ,vapourminer (3) ,hosseinimr93 (1)
The protocol already allows solo-miners (and mining pools) to choose to ignore transactions with small value and only include high value transactions in their blocks. This is fine when there are enough high-value transactions to fill a block (which provides an incentive for all users to increase their fees or to not create their transaction).  However, when there are not enough high-value transactions to fill a block, the solo-miner (or mining pool) needs to decide... Is it better to just create a smaller block and ignore the low-value transactions? Or is it better to include those low value transactions in the block to increase revenue?

Ignoring the low-value transactions will cause the average transaction fee per byte to increase a bit on future transactions since there will be an increase in total transactions waiting to be confirmed.  However, it reduces your total revenue on that particular block and gives your competitors (other solo miners and pools) the opportunity to increase their revenue faster than you since they can pick up those fees you left out.

Including those low-value transactions increases your total revenue on that specific block, and reduces the opportunity for your competitors to increase their revenue, for the same reasons. However, it reduces the average transaction fee per byte on future transactions, since there are less transactions waiting to be confirmed.

These competing incentives are self-regulating and drive the fee to be whatever the market will support.  There isn't a lot of opportunity for any single solo-miner or mining pool to manipulate this without suffering losses from the attempt.

Now, instead of allowing a miner (or pool) to create a smaller block of their own when they want to, if wee were to FORCE the block size limit to be smaller... Then it opens up a big opportunity for manipulation.  Large scale solar miners (or worse yet, mining pools) could include a single VERY small transaction in every block that they create which pays to themselves the ENTIRE bitcoin balance that they have control over and include 0 fee.  This very tiny (in terms of bytes) huge value transaction with no fee at all will skew the "average fee" for the block so that it falls significantly below 1%.  This would force the protocol to shrink the block size for ALL miners in the future (not just the miner that creates the block).  As such, the malicious miner performing this attack doesn't lose as much revenue overall (since the other blocks won't be able to pick up as many of the remaining transactions) AND it punishes those miners (and pools) that are NOT participating in the attack, since their revenue is now limited.  Furthermore, since the total size of the block is reduced, it is even easier for the attacker to reduce the size even more.  His single high-value transaction is now a greater percentage of the total value transacted in the block.  Therefore he can repeat his attack over and over until he forces EVERY transaction to pay a fee of nearly 1% of all the bitcoin he has control over!