Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: sunray on May 07, 2011, 02:57:52 PM



Title: Why doesn't the block reward decrease continuously?
Post by: sunray on May 07, 2011, 02:57:52 PM
The scariest moment for Bitcoin in the near-term future will be the first block reward decrease, namely from 50 BTC to 25 BTC some time toward the end of 2012.  There's been plenty of speculation about how this will affect miners.  It's conceivable that those who are dissatisfied with the reward decrease could attempt to fork the protocol and/or block chain at that point.  I personally am not *too* worried about that, but still - it's a scary moment.

So I personally wish that Satoshi had instead implemented a *continuous* block reward decrease.  With that approach, the reward will decrease ever-so-slightly with each successive block but still converge to 21 million.  That would avoid potentially disruptive discontinuities.  It's too late to change that now but, still, does anyone know why he chose a block reward function that looks like a staircase rather than a smooth curve?


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gim on May 07, 2011, 04:19:47 PM
Very good question.

Maybe the idea was not to scare people with exp(-t) curves?
But, yes discontinuities are quite worrisome.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: grue on May 07, 2011, 04:44:34 PM
nothing will really happen when the reward halves. Difficulty will drop, and in the end, it's the same $ generated.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gim on May 07, 2011, 06:13:57 PM
nothing will really happen when the reward halves. Difficulty will drop, and in the end, it's the same $ generated.

Looking at GetNextWorkRequired() nothing seems to link difficulty with reward.
Or you mean half of the miners will just go away ? :)


Title: Re: Why doesn't the block reward decrease continuously?
Post by: grue on May 07, 2011, 10:00:42 PM
nothing will really happen when the reward halves. Difficulty will drop, and in the end, it's the same $ generated.

Looking at GetNextWorkRequired() nothing seems to link difficulty with reward.
Or you mean half of the miners will just go away ? :)

less reward will mean unprofitably for most miners, so they will leave. That will decrease the difficulty, which will bring some miners back.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: ribuck on May 07, 2011, 10:11:40 PM
Miners know that the decrease will be coming, and will factor that into their plans. Predictable events don't cause problems for markets.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gim on May 08, 2011, 11:37:00 AM
So this would mean that the security of the network is somehow bounded by the ratio (base reward+fee)/target ?

So next question is... What will make the fee increase in the case too much miners leave and some attacks on the network succeed?

For now, the only answer I found is the one suggested in this thread by sunray: the creation of a new chain with adjusted difficulty.
This way, all the users of the new chain are forced to contribute equally (proportionally to their possessions) to the security of the network.

And I feel that the 21 MBTC limit is a lie somehow (bitcoin users might be forced to switch to a more secure chain).

This potential issue is not discussed in the FAQ and I think it is a very important one.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: TiagoTiago on May 08, 2011, 11:43:00 AM
Wait, so when the reward reaches zero it will be infinitly easy to crack a new valid block?


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gim on May 08, 2011, 11:51:51 AM
If fees are so low that almost all miners left. Then yes it will be easy...

But maybe Satoshi is in fact Hari Seldon, and he knew what the value of bitcoin would be over time. So he chose this particular staircaise curve instead of another one, so that the bounding limit is never reached? :D

I'm waiting for next Satoshi Crisis...


Title: Re: Why doesn't the block reward decrease continuously?
Post by: LMGTFY on May 08, 2011, 11:58:00 AM
If fees are so low that almost all miners left. Then yes it will be easy...

But maybe Satoshi is in fact Hari Seldon, and he knew what the value of bitcoin would be over time. So he chose this particular staircaise curve instead of another one, so that the bounding limit is never reached ? :D
But why would fees get that low? Wouldn't the market kick in? As I see it, as fees diminish and miners stop mining, transactions take longer and longer. This incentivises people making transactions to pay a higher transaction fee, which in turn incentivises miners to start/resume mining.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: Cdecker on May 08, 2011, 12:06:55 PM
Let's hope we never experience a huge drop in hashing power, otherwise we'd have a similar problem like the one we already experienced back when ArtForz, for fun, redirected his rigs to the testnet. Once he stopped the remaining nodes where left with an incredibly high difficulty and the rebalancing would have taken months (2016 blocks at 3-4x the actual hashing power in the network would take 2 months to rebalance) and confirmations would be really slow.
It's hard to make promises but if my mining equipment survives that long I'll continue mining ^^


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gim on May 08, 2011, 12:23:22 PM
But why would fees get that low? Wouldn't the market kick in? As I see it, as fees diminish and miners stop mining, transactions take longer and longer. This incentivises people making transactions to pay a higher transaction fee, which in turn incentivises miners to start/resume mining.

Dunno, but I can't see why transaction needs and security needs should be linked.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: FreeMoney on May 09, 2011, 04:33:21 AM
But why would fees get that low? Wouldn't the market kick in? As I see it, as fees diminish and miners stop mining, transactions take longer and longer. This incentivises people making transactions to pay a higher transaction fee, which in turn incentivises miners to start/resume mining.

Dunno, but I can't see why transaction needs and security needs should be linked.


They have to be. Security is just the difficulty of sending a transaction to multiple people. What you are paying for is literally the work that is going to be dumped on top of your transaction.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: FreeMoney on May 09, 2011, 04:37:35 AM
Very good question.

Maybe the idea was not to scare people with exp(-t) curves?
But, yes discontinuities are quite worrisome.

It could have been more frequent smaller reductions if it had to be stepwise though. I'm excited to see what happens and I don't think it'll be a problem. But it seems unnecessarily eventlike.

I think it'll be price up in anticipation and about 2 hard difficulty reductions after the drop then leveling off at about 75% of old difficulty and resuming a rise from there.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gigabytecoin on May 09, 2011, 05:56:08 AM
I had mentioned on another thread (http://bitcointalk.org/index.php?topic=7554.msg110917#msg110917) (where I asked what was the highest fee paid for a block to date) that:

A short script running getblockbycount revealed that the highest combined fee so far was 6.71 BTC in block 55812
http://blockexplorer.com/b/55812
In more recent times, there were a few blocks with fees above 2BTC. This one is the most recent:
http://blockexplorer.com/b/120528

Great, thanks Raulo!

At this rate, miners will probably receive more than 50 BTC per block after 2013!

But yes I do wonder why it does not decrease gradually with every transaction solved. It would seem much more of a "stable" model so to speak... nobody would be worried about any future happenings.

What if the bitcoin reward drop turns out to be a horrible thing for the markets? People could potentially be scared off of bitcoin every few years and it could kill the project.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: marcus_of_augustus on May 09, 2011, 09:23:57 AM
Very good question.

Maybe the idea was not to scare people with exp(-t) curves?
But, yes discontinuities are quite worrisome.

It could have been more frequent smaller reductions if it had to be stepwise though. I'm excited to see what happens and I don't think it'll be a problem. But it seems unnecessarily eventlike.

I think it'll be price up in anticipation and about 2 hard difficulty reductions after the drop then leveling off at about 75% of old difficulty and resuming a rise from there.

Yes, but what if it is just what bitcoin needs to create a stir, garner publicity and demonstrate resilience; an event that it survives, at the same time exactly half of the bitcoins will have been found?


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gim on May 09, 2011, 09:27:45 AM
What you are paying for is literally the work that is going to be dumped on top of your transaction.
Literally?? I think you need an argument here.

Personally, I won't artificially increase my fees for the security of the whole network. I'll let the others pay for that.
If nobody want to pay, I might switch to another chain where everybody is bounded to pay.

And enforcing fees (and therefore security) by means of a tight block limit is not really a solution. Heavy transactors might go away because they won't like to pay for everybody neither. They can also fork the chain.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: LMGTFY on May 09, 2011, 09:32:50 AM
What you are paying for is literally the work that is going to be dumped on top of your transaction.
Literally?? I think you need an argument here.

Personally, I won't artificially increase my fees for the security of the whole network. I'll let the others pay for that.
If nobody want to pay, I might switch to another chain where everybody is bounded to pay.

And enforcing fees (and therefore security) by means of a tight block limit is not really a solution. Heavy transactors might go away because they won't like to pay for everybody neither. They can also fork the chain.

But you won't be paying higher fees just for security - you'll be paying higher fees so that your transactions are processed speedily. Security will just be a pleasant side-effect. Higher fees won't be "enforced": they'll come about through the natural operation of a free market.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: ribuck on May 09, 2011, 09:43:48 AM
On the day before the reward decreases from 50 to 25, there will be approx 7200 new coins generated out of a total of 10.5 million. Less than 0.08% extra. On the following day there will be approx 3600 new coins generated out of a total of 10.5 million. Less than 0.04% extra.

The change from 0.08% to 0.04% per day won't upset the markets, and the miners will have known about the coming change for ages, and will have factored it into their plans and budgets.

This is not something to sweat about.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: gim on May 09, 2011, 12:21:41 PM
But you won't be paying higher fees just for security - you'll be paying higher fees so that your transactions are processed speedily. Security will just be a pleasant side-effect. Higher fees won't be "enforced": they'll come about through the natural operation of a free market.

There is perfect competition between miners, so I think transactions will be payed at their real (hardware processing) cost.
No more than that. (If transaction capacity is voluntarily limited, then it won't be the case, but see my second point in my previous post).

All this is very unclear to me. But bitcoin's security has a very big cost. And it seems nobody knows who will/should pay for it.
People here mostly consider bitcoins advantages and tend to forget about everything else.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: LMGTFY on May 09, 2011, 12:40:26 PM
But you won't be paying higher fees just for security - you'll be paying higher fees so that your transactions are processed speedily. Security will just be a pleasant side-effect. Higher fees won't be "enforced": they'll come about through the natural operation of a free market.

There is perfect competition between miners, so I think transactions will be payed at their real (hardware processing) cost.
No more than that. (If transaction capacity is voluntarily limited, it won't be the case, but see my second point).

All this is very unclear to me. But bitcoin's security has a very big cost. And it seems nobody knows who will/should pay for it.
People here mostly consider bitcoins advantages and tend to forget about everything else.
You say this is very unclear to you. That's fair enough. But you then assume that "nobody knows who will/should pay for it" - that's not correct. For those of us for whom this isn't very unclear, we have a pretty clear idea who will pay for security: people making transactions. If transaction fees decrease, so will transaction speed. This incentivises people to pay higher transaction fees, ensuring that miners continue/start/resume mining, and improving both transaction speed and network security.

I don't think that there will be perfect competition between miners: it will be cheaper for miners to continue mining than it will be for ex-miners to restart mining, and it will be cheaper to re-start mining than it will be to start from scratch. However, even assuming perfect competition, transaction fees will move towards but not reach real cost - there has to be a profit element or miners simply won't bother. But I'm not worried about that, because if miners stop mining the profit for those that remain will increase. And there will be incentive for ex-miners to restart, or for new miners to start from scratch.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: djoot on May 09, 2011, 07:23:39 PM
On the day before the reward decreases from 50 to 25, there will be approx 7200 new coins generated out of a total of 10.5 million. Less than 0.08% extra. On the following day there will be approx 3600 new coins generated out of a total of 10.5 million. Less than 0.04% extra.

The change from 0.08% to 0.04% per day won't upset the markets, and the miners will have known about the coming change for ages, and will have factored it into their plans and budgets.

This is not something to sweat about.

Halving the reward is the equivalent of having half the gold content in your ore disappearing over night. This will cause most miners to become unprofitable, so block generation could crawl to almost a halt, making the next 2016 blocks very long and painful.

I think the 2016 block interval for difficulty changes could cause big problems, not limited to times of reward change. Suppose the market tanks at the beginning of a new difficulty, causing 90% of the hashing power to quit - this would mean that it would take 20 weeks until difficulty was adjusted again, not good...

This is unless fees go up a lot or are already a major part of the reward for each block.

Is this correct reasoning?

Just because you see an event happening does not mean it won't cause major changes in a market if you are at a loss at what to do about it...
"Tomorrow God comes down and removes half the gold in your ore" is a smaller problem, since the security of transacting existing gold does not depend on miners to keep mining. Gold miners will resume when/if the gold price makes it profitable.

So I think there clearly is a problem. The solution to this problem should be pretty obvious and, I believe, technically easy to implement. It also should not be that big of a problem politically, but I would like first to see if people agree it is a problem, and comes up with the same solution.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: MoonShadow on May 09, 2011, 10:31:23 PM
On the day before the reward decreases from 50 to 25, there will be approx 7200 new coins generated out of a total of 10.5 million. Less than 0.08% extra. On the following day there will be approx 3600 new coins generated out of a total of 10.5 million. Less than 0.04% extra.

The change from 0.08% to 0.04% per day won't upset the markets, and the miners will have known about the coming change for ages, and will have factored it into their plans and budgets.

This is not something to sweat about.

Halving the reward is the equivalent of having half the gold content in your ore disappearing over night. This will cause most miners to become unprofitable, so block generation could crawl to almost a halt, making the next 2016 blocks very long and painful.

Doubtful.  At worst, half the miners will give up because they suddenly became unprofitable, and the interval between blocks would stretch to 20 minutes.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: djoot on May 09, 2011, 11:28:59 PM

Doubtful.  At worst, half the miners will give up because they suddenly became unprofitable, and the interval between blocks would stretch to 20 minutes.


So, at worst 50% of hashing is on free electricity or are just that profitable that they can take a 50% cut in revenue? Maybe.

What did you base your estimate on?


Title: Re: Why doesn't the block reward decrease continuously?
Post by: MoonShadow on May 10, 2011, 12:13:00 AM

Doubtful.  At worst, half the miners will give up because they suddenly became unprofitable, and the interval between blocks would stretch to 20 minutes.


So, at worst 50% of hashing is on free electricity or are just that profitable that they can take a 50% cut in revenue? Maybe.

What did you base your estimate on?

Assuming that the trade value of a bitcoin is more or less the same on one side of the halving of the block reward as on the other, and also assuming that there is zero revenue from transaction fees in order to take the worst case scenario; the drop in the block reward from 50 bitcoin to 25 bitcoin is mathmaticly the same as a sudden doubling of the difficulty from the perspective of a miner.  This is something that they are all going to know is coming from far in advance, and almost all of them will have a pretty good idea whether or not mining will still be profitable.  So those that would no longer be profitable might stop, and logicly that cannot be more than half of the miners in total just before the cut.  Those that remain would be profitable again by at least the next difficulty retarget.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: malditonuke on May 10, 2011, 01:28:06 AM
...does anyone know why he chose a block reward function that looks like a staircase rather than a smooth curve?

This is just a shot in the dark, but perhaps the idea was to jog bitcoin from one stage to the next, i.e. less reliance on block rewards and more reliance on tx fees.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: marcus_of_augustus on May 10, 2011, 03:39:32 AM

Yes. If block reward halves and there are enough people who 'need' to make transactions that cannot wait a few months, then it should spur an increase in transaction fees .... or those 2016 blocks after 1/3/13 could take a looooong time, no free transactions during that period I'd think.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: ribuck on May 10, 2011, 10:17:33 AM
Yesterday the difficulty went up by 50%, and there was no sudden change in the mining power. I think the miners would easily adapt to the block reward change, which is in some ways similar to a 100% increase in difficulty.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: djoot on May 10, 2011, 06:13:08 PM
@creighto
Asserting logic does not make your argument logical. Every miner has a cost to generate a block at a certain difficulty, if this cost is more than 25BTC+fees they would be taking a loss after halving the reward. There is nothing that says that at least half the miners have costs less than that. You just make that claim, asserting that it somehow logically follows, without explaining your logic.

@ribuck
Price of BTC also went up a lot, increasing profit margins and drawing investment into hashing power. Halving the reward is indeed like increasing the difficulty by 100%, without having been driven there by market forces, but because it was time to do it.

It will probably sort itself out in the end, but the sorting out process could be very painful I'm afraid.

I think the main problem is the 2016 block retarget interval, which IMO is way too long.
The difficulty could possibly be halved at the same time as reward halves, but this alone would just cause blocks to be spit out twice the speed for a week with a 100% rise in difficulty and back to square one after that. (Simplified example assuming no changes in market conditions...)

My point is, that I would like to see difficulty track actual hash rate a lot closer, and I think this would mitigate potential problems coming from reward halving or big drops in the price of BTC.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: ribuck on May 10, 2011, 06:27:52 PM
@djoot: My philosophy in life is to not spend time worrying about unprovable conjectures that have minor consequences.

2016-block retargeting intervals are probably suboptimal. But so what? People keep mining regardless.

Don't worry, be happy.


Title: Re: Why doesn't the block reward decrease continuously?
Post by: djoot on May 10, 2011, 06:37:35 PM
@djoot: My philosophy in life is to not spend time worrying about unprovable conjectures that have minor consequences.

2016-block retargeting intervals are probably suboptimal. But so what? People keep mining regardless.

Don't worry, be happy.

Heh, I hope you're right :)