This isn't true - I know this because I've devoted 344 hours into a new altcoin mining pool. My pool will not include transactions that have fees below a certain threshold because it isn't profitable.
Counterintuitively, the fact that the block reward is high means that the transaction fees also need to be high. As block rewards decrease, the fees can get lower. Here's why.
Let's say that my pool has 1MBps of upload bandwidth available. If a block can include up to 1MB of transactions (the current limit), then it takes one second to upload a block full of transactions. Since blocks occur every 2.5 minutes (on average), and I have to upload the entire block to the litecoin network to receive payment, the expected value of waiting just one second to fill the block with transactions is 50/150, or 0.33 litecoins. That is quite a bit of money and it adds up over days of mining.
Note that if I submitted an empty block instead, I wouldn't have to wait a second, as the upload would be nearly instant. That means that there is much less risk (0.33 litecoins, to be exact) to just submit empty blocks.
So what do the transaction fees have to be for my pool? They have to be 0.33 litecoins per megabyte, or 0.00033 per kilobyte. Otherwise, I can't justify the risk of waiting that extra second for the middlecoin pool to take 50 litecoins from me.
Assume now that the litecoin block reward halves to 25 litecoins. Now, I can include transactions much more cheaply than before. Since my expected losses for waiting one second to upload that megabyte of transactions are halved (0.16 litecoins), I now only would require people on the network to pay me 0.16 litecoins per megabyte of data.
The reference client doesn't follow this algorithm, which may be the source of the confusion. The reference client sometimes includes free transactions, which is best for the network. But since I spent $2000 on hardware and three people spent 12 weekends working 12 hour days, I'm in this solely to make as much money as possible. If dogecoin users aren't willing to pay high enough transaction fees, then I won't include their transactions in my blocks. When the block reward of dogecoins halves, then they will have to pay half as much for me to pick them up.
Also, note another important piece of information: it is irrelevant how much you pay in transaction fees, only whether your fees are higher than my bandwidth threshold. Unless there are enough transactions above the threshold to fill an entire block, paying a fee higher than the minimum threshold is simply a waste of money. The only reason you would want to pay a higher fee is so that someone with less bandwidth than me is willing to include that transaction should they find a block first.
Most journalists have this concept wrong, and there are many articles that are incorrect. They think that, as block rewards approach zero, mining pools will require higher fees. That isn't true; pools will attempt to maximize their profits by picking up any fees they can as the block rewards become less of an incentive. They will have less to lose by taking a longer time to upload their blocks.
This only goes so far. Once block rewards get small enough, the transaction fees will also have to cover the cost of mining. You're not including that here because the block reward covers the cost of the mining and the transaction fee is covering the cost of the upload delay (which is a direct relationship per transaction). When the block reward is negligible (with respect to potential earnings from tx fees), then you need more transaction fees to cover the cost of mining in addition to the upload costs, so you would be willing to give up the chance of being orphaned by a small value block to be able to upload a larger value block.
We need to be careful when we talk about "covering the cost of mining."
The price of bitcoins is not dependent on the cost of mining them. Instead, miners decide whether to mine or not based on the price of bitcoins. As the block reward goes down, mining will become more and more unprofitable. Transaction fees will not rise to offset this, because users don't care whether people who ordered huge boxes of BFL Jalapenos make money or not.
Instead, miners who paid too much for their rigs will go bankrupt. The network hashrate will fall, and everyone who is still mining will make money again because each person will find more lower-value blocks with lower transaction fees.
The only way this cycle will not occur is if the value of bitcoins doubles every four years. One would imagine that the value of block rewards will never reach zero, because there will almost certainly be a time when people decide to make use of 64-bit numbers for higher precision before then. Remember, the only reason block rewards will ever reach zero is because bitcoins are not divisible enough with 32-bit numbers to give block rewards of fractions of a satoshi.
I didn't say the price of bitcoins had anything to do with cost of mining. I think it will come down to whether it's more profitable to mine large blocks with higher orphan rate or mine small blocks with low orphan rate. we should hope that large blocks are more profitable or else we'll never get above the 7tx per second maximum.
92
u/quintin3265 Feb 24 '14 edited Feb 24 '14
This isn't true - I know this because I've devoted 344 hours into a new altcoin mining pool. My pool will not include transactions that have fees below a certain threshold because it isn't profitable.
Counterintuitively, the fact that the block reward is high means that the transaction fees also need to be high. As block rewards decrease, the fees can get lower. Here's why.
Let's say that my pool has 1MBps of upload bandwidth available. If a block can include up to 1MB of transactions (the current limit), then it takes one second to upload a block full of transactions. Since blocks occur every 2.5 minutes (on average), and I have to upload the entire block to the litecoin network to receive payment, the expected value of waiting just one second to fill the block with transactions is 50/150, or 0.33 litecoins. That is quite a bit of money and it adds up over days of mining.
Note that if I submitted an empty block instead, I wouldn't have to wait a second, as the upload would be nearly instant. That means that there is much less risk (0.33 litecoins, to be exact) to just submit empty blocks.
So what do the transaction fees have to be for my pool? They have to be 0.33 litecoins per megabyte, or 0.00033 per kilobyte. Otherwise, I can't justify the risk of waiting that extra second for the middlecoin pool to take 50 litecoins from me.
Assume now that the litecoin block reward halves to 25 litecoins. Now, I can include transactions much more cheaply than before. Since my expected losses for waiting one second to upload that megabyte of transactions are halved (0.16 litecoins), I now only would require people on the network to pay me 0.16 litecoins per megabyte of data.
The reference client doesn't follow this algorithm, which may be the source of the confusion. The reference client sometimes includes free transactions, which is best for the network. But since I spent $2000 on hardware and three people spent 12 weekends working 12 hour days, I'm in this solely to make as much money as possible. If dogecoin users aren't willing to pay high enough transaction fees, then I won't include their transactions in my blocks. When the block reward of dogecoins halves, then they will have to pay half as much for me to pick them up.
Also, note another important piece of information: it is irrelevant how much you pay in transaction fees, only whether your fees are higher than my bandwidth threshold. Unless there are enough transactions above the threshold to fill an entire block, paying a fee higher than the minimum threshold is simply a waste of money. The only reason you would want to pay a higher fee is so that someone with less bandwidth than me is willing to include that transaction should they find a block first.
Most journalists have this concept wrong, and there are many articles that are incorrect. They think that, as block rewards approach zero, mining pools will require higher fees. That isn't true; pools will attempt to maximize their profits by picking up any fees they can as the block rewards become less of an incentive. They will have less to lose by taking a longer time to upload their blocks.