Difficulty algorithm


I decided to move our short dialog from bitcointalk to this place. My suggestion there was:

  • " Why not to develop NH-resistant algorithm for difficulty computing ? For example, you can compute average hashrate during 1 week and one standard deviation for this period. If at some moment the network hashrate jumps over that standard deviation, the difficulty goes to the moon until the moment when the hashrate returns to the normal interval. "

The Dev replied:

  • “… its tough to control/regulate such if you wana keep decentralization word in your blockchain.
    NH can be protected only if natural hash rates grows. But believe well established blockchains too have to deal with this. Diff calculation algo is one of the most critical part of any blockchain and numerous research papers and algos have been put with their own pros and cons.
    If as per your say if avg hashrate of one week is calculated then chain have to wait for almost another week to find next few blocks after NH user leaves. Also we are working to improve algo to tune better.
    NH have cost attached and atm its not economically profitable to use Nicehash and get some DERO, its much cheaper to buy DERO on exchange. To all who are expecting better exchange, we are exploring that.”

My answer now:

  • So, I see your point that in such a way we will create a “feedback system”, and the difficulty will rest too high after the NH user leaves. But why not to skip the period with abnormal hashrate from the computation of the average hashrate and one standard deviation ? In this case we can provide smooth changing of the difficulty of the network. The negative point is that someone could block the coins emission, but this will cost a lot of money for him. But I am not an expert in this topic, so I completely rely on your opinion. Thank you for your attention !


Hi, its nice that you think about protecting the network. I see the following problems with your idea:

  • NH user comes, drives hashrate up - network completely stops (because of extreme difficulty) for as long as the NH user wants, coin is unusable, people panic
  • coin price moons, many small miners suddenly join to mine, suddenly high hashrate, network also stops


Ok, I agree. There could be problems, but still I think this algo could be tuned by parameters. Maybe it is better not to implement such an extreme NH-protection, but a soft variant just to reduce the profitability of the NH users. In any case, I gave you my idea, after it is up to Dev, implement it or not. I’ m not an expert.

Also I would like to say that I am very happy, that I found such a nice project. I like CryptoNight algo because it is ASIC-resistant and unonymous, and to marry it with smart contracts is a great idea ! I have read all the 59 pages on bitcointalk and believe in your team. Whatever price of Dero goes, to zero or to thousands euros, I will keep the coins because I believe in this technology. It looks like I found Microsoft on the very beginning stage. Good luck !


Thank you @Mik for your support and encouraging words.
Will PM you some resources/discussions on DIFF give a look.
DIFF algos are topics of serious discussions and need much more research.
We need to plan out something more.


Here is a discussion by zawy about using EMA rather than SMA for difficulty calculation


Now I loking at hashrate on pool is a 6.55 MH/sec. I supose that nicehash is mining on pool. I am not blockchain expert, but i have question. If nicehash use only one wallet adress when send all users to mine. If I am right with only one address with wallet, why not to desing some kind of restriction for that address, you detected that by so many diferent ip addresses on one wallet address, maybe when network detected this kind of mining the fee for that address is 50%, or minimum is 10000 coins for payout. I suposed that network be designed to detect this things. I look before few hours is 650 miners, now is 775…:frowning:


If any pool don’t want to support nicehash,just lower the difficulty will do,
nicehash won’t connect to pool with difficulty lower than 400000000.


The problem is that very soon NH users will create a special pool to abuse the network. Already now and then the announcements of new pools which support NH appear in our discussion on bitcointalk.org. And the dero team does nothing with this. The problem should be solved on the derod level (difficulty algo).


Hello everyone,

I’d like to address some of the concerns here in two separate parts. I’ll start with the difficulty algorithm and move on to Nicehash.

In regards to the difficulty algo, the Dero team is very analytical and takes a practical approach to real world problems. I can’t touch on the specifics of the algorithm, but I can tell you that if you follow it closely it’s already making rapid adjustments when things like Nicehash come on and off the network.

As far as Nicehash goes, they tend to find their way onto a network so with that in mind, it’s better for the decentralization of the network if some of that hashing power is distributed across a larger number of pools.

In the last 12 hours we’ve reissued our recommendation for people to mine on the official pool (pool.dero.live) only until the final fix is pushed through (ETA: 24 hours). This may be why you’ve seen an increase in the number of active miners as several pools have temporary halted mining until the fix goes through.

If you’ve got any questions, feedback, concerns, or anything you’d like to chat about, feel free to reach out to me on Slack, forums, Reddit, or btc!