Post
Topic
Board Bitcoin Discussion
Re: What will keep transaction fees up?
by
da2ce7
on 22/11/2010, 15:33:18 UTC
I agree with db on this. The issue can be put simply like this: the generator which accepts the lowest fees, makes the most profit. given any two generators with the same capacity.

I don't quite understand da2ce7's post, but he seems to be implying that it's profitable "in the long run" to accept higher fees only. This seems flawed, because in the short run, such a generator will be the first to go out of business.

Ok long post, I think that I’ll re-write it when I’m less tired.  Hopefully people can see what I’ve been saying, that the network as it is now will self-balance and maintain the transaction fees.

Edit: I have some parts of bitcoin's structure wrong Sad, instead of 'keeping the block secret', the network will just 'wait until there is a block they like.'  Once a block is generated no more changes can be made to it inc. adding new transactions.


It is true that any generator that accepts the lowest fees will make the most profit/work done, in the short run.   This is half of the story tho.  I have done a very poor job of explain the other half: why any given generator will decide not to undercut the others (much).  It takes a little bit of market and game theory, but hey that stuff is fun isn’t it?!

Firstly, when the value gained from transactions is much larger than new coins, the divergence between the networks average hashing rate and maximum will be much larger.  The network will evolve into a big game of ‘transaction fee hash chicken’ where a few (or a single) generators will have found a valid hash before the time they announce it.  They will keep it secret until a certain amount of transaction fees has accumulated, at that point they will announce it.  Generally if a block is announced before any other it will be the winning bock.

Over the course of the 2016 blocks there will average close to 10min per winning block, stabilizing the difficulty.  When the transaction fees go up, the incentive to ‘jump in earlier’ will increase, thus increasing the difficulty.  Even on this case alone, even if every generator accepted ever transaction, this is enough to push the transaction fees up. (But that is a side point, and in reality will be a very small proportion of the reason that transaction fees will be maintained)

The earlier that a generator ‘jump in’ on average more of the other generators will have not found their block, whenever a generator finds a block before jumping in, it automatically moves to the next block, increasing the chance of winning two in a row.

After a generator ‘jumps in’ the others generators that have generated the block will announce their blocks straight after.

The rest of the generators will need to decide who they support for the next block.  They will generally go with the block that has the highest threshold for transaction fees (for new transactions, low fee older transactions will be always included).

All the generators, whom jump in together, will need to decide to give up and generate for the block that has the highest threshold for transaction fees, or gamble and hope their head start will beat the rest of the network to the next transaction.

If none of the blocks are attractive to move to (accept too low fee transactions), the rest of the generation will wait for a block that accepts only higher fees.

If the next block is generated and announced before anyone else, and it is reasonable, it is automatically accepted and everyone moves to the next block.  If many jump in, then the one that accepts the least low fees wins again. And so on.

One can see that the other generators won’t pick the generators that undercut them.  This is self-balancing, as if the difficulty goes too high, the generators will all accept as many transactions as they can, lowering the transaction fee, lowing the incentive to generate, lowering the difficulty.  Thus the incentive to wait and ‘jump in later’ will increase… and so on.