Dogecoin difficulty retargeting
Dogecoin has a one-minute target time and at the start of had a four-hour difficulty adjustment period. The hash rate swung between the coins for roughly a month as miners switched back and forth. When, in , Bitcoin Cash had higher mining incentives per unit of time than Bitcoin, many miners switched to Bitcoin Cash, repeating the pattern of As figure 4 shows, miners followed the money back then too.
A key difference is that even after the difficulty found equilibrium, Dogecoin at times offered higher USD value of mining incentives. Bitcoin always had higher incentives per block than Bitcoin Cash. The higher incentives of Bitcoin Cash came per unit time from its faster blocks and as soon as the difficulty returned to equilibrium, Bitcoin regained its position as the highest incentive SHA coin. Transaction fees were not included in the mining-incentive calculation.
In order to calculate mining incentives for Dogecoin, we had to consider what occurred in , including six changes to the block reward and two hardforks. These changes are outlined in the table of figure 5. Dogecoin DOGE event timeline. As figure 5 indicates, on 17 March , Dogecoin changed the difficulty adjustment algorithm, reducing the target time to just one minute one block in order to try and alleviate some of the disruption caused by the hash-rate volatility.
In September , Dogecoin activated its merged-mining hardfork. Merged mining is the process by which work done on one chain can also be considered valid work on another chain. Dogecoin can therefore be thought of as an auxiliary blockchain of Litecoin, in that Dogecoin blocks contain an additional data element pointing to the hash of the Litecoin block header, which is considered as valid proof of work for Dogecoin.
The merged-mining system is considered the ultimate solution to the hash-rate oscillation problem, ensuring stability even in the event of sharp token-price movements. The Bitcoin Cash community is unlikely to want to implement merged mining, perhaps for political reasons, in the medium term.
Some in the Bitcoin Cash community see Bitcoin as an adversary chain, rather than one with which it should coexist peacefully. Allowing merged mining can be considered the ultimate peace arrangement between two chains. Initially, some in the Dogecoin community were also unhappy about merged mining, but the community eventually realized that it was the best solution to their hash-rate oscillation problem.
To hide difficulty tag, set the "invisible" field to "true" List of blacklisted retargeting So change only diff algo now? I used 3 nodes. Node 1 and 2 running the modified code below, node 3 was running original unmodified code. This was the desired result. So it looks like the static rewards are done, now we just need to choosing and implementing a different difficulty retarget method.
Blocks mined on node 1 with bitshifted halving and 10K reward http: Blocks mined on node 2 with static 10K reward http: Old Node without static reward changes stops synching after reward were changed at block http: This number can be changed and it can be pushed right now without affecting current mining for blocks below K However don't do it yet, we still need testing I'm currently testing this with multiple testnet nodes and a reward change at block I'll update this post when I finish my testing Todo: Set Base to K average.
With that last change the math is correct: Thanks rog - just a note, let's point all further PRs at Develop. Change difficulty target time. Closing and reopening with merge into dev branch. Accept pointers to either const or non-const data c73 Bugfix: Sign up for free to join this conversation on GitHub. Already have an account? I think the KGW is out of the question for now because of the t imewarp exploit.
So for now better to leave this one for what it is. Maybe the way to go is implement the litecoin difficulty algo, this is tested and works ok for what I can find about it. If anyone knows problems with the litecoin algo, please say so. I agree with Mike81 above - but do not create a carbon copy of LTC, keep the block time at 2 minutes. This should make the nInterval shorter. It would seem to limit adjustments both higher and lower , which could be a major problem if a lot of hash power moves off of the network at once.
If no other coin has stress-tested it, then Bitcoin sCrypt should not be the guinea pig. But if some other coins have tried it, then let's evaluate them.
I like this suggestion too. I think targeting a block for this weekend is cutting it too close for a hard fork. What do you guys think? I am no coder but I can figure alot of that out and it looks pretty good.