[Bitcoin-ml] Difficulty adjustment

Tom Zander tomz at freedommail.ch
Fri Aug 25 09:35:34 UTC 2017


We started Bitcoin Cash with what has been named the “Emergency Difficulty 
Adjustment” change.
A change where if there are not enough blocks, the difficulty drops until 
there are enough blocks.

This was great for the first month, and I think we will continue to see it 
being used until we have a very stable price and a majority of hashpower.
But that may still be months away.

Just as important is that after stabilization of hashpower the Nash 
equilibrium idea tells us that there is a chance of 92.5% of the hashpower 
to turn off their hashing gear just after a difficult adjustment in order to 
drop the difficulty a couple of steps. Finishing the rest of the period in 
half the time.
This hurts no miners and benefits all (at least short term).


Personally I think we can remove again this emergency difficulty adjustment 
after we have a stable network.
Actually putting a date or numbers on that will just lead to this being 
gamed, so we can't do that. I guess we'll end up deciding about this down 
the line as things progress.

For now I want to suggest a soft fork to the algo.

If the MTP of the tip is less than 5 minutes before the current network-
time, adjust the difficulty 

In case the MTP of the tip of the chain is less than an hour after the MTP 
of block Tip-15, the proof of work target is decreased by a third, or 33%.

RATIONALE: The UAHF spec stated that at slowdown we increase the proof of 
work target 25%, decreasing it afterwards by 33% gets us exactly back where 
we started.

In simple terms, if the chain has more than 2.5 times the hashpower its 
difficulty suggests, we adjust the difficulty downwards to level off at 2.5 
times.

To make the difficulty limit more difficult requires only the miners to upgrade. 
As such this should be reasonably easy to roll out, depending on how hard it 
is to convince miners this is a good idea.
I still feel that in the long term we need a different solution as this only 
limits the damage, it doesn't undo it.

Thoughts?
-- 
Tom Zander
Blog: https://zander.github.io
Vlog: https://vimeo.com/channels/tomscryptochannel


More information about the bitcoin-ml mailing list