You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're currently using the same difficulty scaling algorithm that Bitcoin uses. This algorithm works well for Bitcoin because of its network's massive amount of hashing power -- making it difficult for miners to manipulate. In the case of Elixium, we're going to have to move away from this algorithm because it will be easily manipulated as miners can join / leave and (early on) cause large oscillations in mining difficulty.
Oscillations in mining difficulty are a huge problem, they could cause Elixium to have massive block delays -- instead of a block getting propagated every 2 minutes, it could grow to a new block every 3 days, in the following (pretty likely) scenario:
Difficulty is set to 10 and the network is happily chugging along.
Mining pool / group of miners with massive hashing power start mining Elixium (lets say, collectively, they have 10x the hashing power of the rest of the network).
They quickly reach a new epoch and the difficulty scales proportionately to the new hashrate (becomes lets say a difficulty of 20).
Now that mining has become more difficult, miners leave and go mine a different coin.
We're now early in an epoch where the mining difficulty is 10x what the network hashrate can handle in order to produce a block every 2 minutes, so blocks are now produced every 20 minutes instead of every 2 minutes, and the entire network moves very slowly until the next epoch, where the difficulty will scale back down.
Miners see that the difficulty scaled back down, so they start mining Elixium again, and now we oscillate back up to a high difficulty and repeat the cycle.
We want to find a difficulty scaling algorithm that quickly scales and rebounds from these oscillations and implement it into Elixium.
Nevermind - I went ahead and updated the EXIP with your suggestion while doing some more research. Thanks for the help! It looks like we'll likely be using WWHM
We're currently using the same difficulty scaling algorithm that Bitcoin uses. This algorithm works well for Bitcoin because of its network's massive amount of hashing power -- making it difficult for miners to manipulate. In the case of Elixium, we're going to have to move away from this algorithm because it will be easily manipulated as miners can join / leave and (early on) cause large oscillations in mining difficulty.
Oscillations in mining difficulty are a huge problem, they could cause Elixium to have massive block delays -- instead of a block getting propagated every 2 minutes, it could grow to a new block every 3 days, in the following (pretty likely) scenario:
We want to find a difficulty scaling algorithm that quickly scales and rebounds from these oscillations and implement it into Elixium.
zawy12/difficulty-algorithms#3 and https://eprint.iacr.org/2017/731.pdf seem like good starting points.
The text was updated successfully, but these errors were encountered: