Miners do not currently have a monetary incentive to fill up blocks with transactions (tx fees are negligible compared to the coinbase tx). Those miners that do fill up the blocks may do so with the long-term interests of the network in mind.

It seems clear to me that making the coinbase amount a function of the relative size of the block would result in a much better incentive. I cannot see any obvious drawbacks with it.

A simple formula would be: actual_coinbase = coinbase * (actual_block_size/MAX_BLOCK_SIZE)

For example: actual_coinbase = 25BTC * (512KB/1024KB) = 12.5BTC

Of course the actual implementation would have to take into account consensus issues (rounding, corner cases, etc), but it should be possible.

Why would this not work?

  • "tx fees are negligible compared to the coinbase tx" Maybe small, but not negligible. And coinbase will halve next year, while fees and/or number of transactions are on the rise. – Jannes Jun 22 '15 at 18:05

This adds an incentive to fill blocks with ANYTHING that will take up space in the block. There are many different ways to incentivize including transactions, but they can typically be gamed because miners can create transactions themselves, and they gain all the fees from those transactions right back into their coinbase transaction.

Your suggestion, which has good intent, would likely cause miners to be incentivized to fill their blocks with meaningless transactions, and increase the already ever-increasing size of the blockchain, making it harder to run a full node.

  • Good point. Miners would probably still fill the block with genuine transactions as much as possible (3rd party fees still better than own fees) but once the mempool empties the incentive would be to create garbage 'filling' transactions as you say, creating unecessary blockchain bloat, especially with bigger blocks in the future. It won't work. Too bad. – ktorn Jun 22 '15 at 16:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.