[Dev] Hard fork to change retarget, averages and block time
-
We have spent a lot of time checking for the right difficulty solution for Feathercoin and Bushstar has now created and tested a version of the changes.
As you can imagine, it has been difficult not to just give away our solution, particularly as we are trying to run an “open coin” where there is no “dictator” just saying this is what solution we are going for. Bush (and I) has required a high standard of proof it would work.
I know Peter is working to a plan to change to the algorythm , but I’m sure that can be accelerated based on the good response we are seeing from members.
The best idea would be to continue the discussion under Technical Development of Feathercoin 0.8.6.1 . I think we need some testing and code review. The actual change over blocks will be defined in the code, we have discussed this somewhat, it will need 2 or 3 weeks pre-warning for pools to update. We can use the cAlert system to get members to update their wallets.
-
Some questions I have:
1. Will there still be a 9% +/- max difficulty?
2. What will deter them from exploiting this and as soon as difficulty drops they jump back in until difficulty resets?
3. [background=#ffffff]Since Target time is set to every 1 min, will the initial difficulty be set higher to compensate for this? [/background]Typically for Multi-pools they continue mining a coin until the next block is found then it switches… So it is not profitable for them to switch prior to finding a block and moving towards the next coin…
Regarding your questions:
1. There will be a max diffculty change, as this is beneficial to keep the difficulty stable. It will not be 9% and we are working on the best value to use here.
2. Yes this can and will happen,but with the new difficulty calculation the difficulty will drop faster to the correct value, when the pools hop to the next coin and remaining miners won’t suffer as long as they do today.
3. No it will be lower, as then the difficulty can adjust to the correct value faster.
-
-
Just a couple of points.
The difficulty algorithm change should not be confused with changing the hashing algorithm. That would be much harder and involve updated mining software.
In developing our solution, we are not against coin hopping per say, in fact there is an obvious trend to large pools. The new algorithm just makes it more difficult and expensive to exploit by large “agents”. It is not limited to Feathercoin, so one advantage of our own solution is that we are not open to a common flaw, with other solutions being exploited instantly across all alt-coins.
We will probably need a name. That has not been our priority but something like “Advanced Difficulty Averaging” ADA
or ABC - Advanced block calculation. or FAB Feathercoin Advanced Block (Calc)
The other thing is to thank Wellenreiter, who has put up with me and made a fantastic contribution to the development…
-
maximum change on difficulty must be fixed ?
-
I’m in full support if the idea.
or ABC - Advanced block calculation.
I like the sound of dubbing it “ABC”
I think it would appeal to many who have yet to try out ftc. It makes the idea sound both simple and logical.
-
maximum change on difficulty must be fixed ?
Yes and no, this is where it becomes a double edged sword and may cause unintended consequences…
Just like what Newton said “for every action, there is an equal and opposite reaction”. Even though this applies to physics specifically, it can apply to other factors in life.
If you adjust it too quickly / great amount (say 30%), you may be suspect to an attack where a block may be solved too quickly, then difficulty goes way up up, the group leaves and then the next block may take a long period of time to be solved because there is not enough hashrate to solve it quick enough.
Think of this as a difficulty attack.
Just a thought… I dont think you can adjust difficulty mid block??
-
As for the name we need to be careful as ACP has Advanced in the title and the two things are completely unrelated.
Maybe something like
Quondam Difficulty Adjustment
-
FOMP - Stands for, Please Go Away Multipools.
-
Just a thought… I dont think you can adjust difficulty mid block??
The difficulty is set so that the “current hash rate” will produce an answer (Transaction Block) at the correct time. There is no mid block. That is why driveing up the difficulty leaves longer times for loyal miners and less blocks being produced.
You are completely correct though about the difficulties of changing the algorithm, we spent most time making sure we did not open ourselves to other forms of “more evil” attacks, such as those against Terracoin…
-
:)
if(fNewDifficultyProtocol) //DigiShield implementation - thanks to RealSolid & WDC for this code { // amplitude filter - thanks to daft27 for this code nActualTimespan = retargetTimespan + (nActualTimespan - retargetTimespan)/8; printf("DIGISHIELD RETARGET\n"); if (nActualTimespan < (retargetTimespan - (retargetTimespan/4)) ) nActualTimespan = (retargetTimespan - (retargetTimespan/4)); if (nActualTimespan > (retargetTimespan + (retargetTimespan/2)) ) nActualTimespan = (retargetTimespan + (retargetTimespan/2)); }
This looks very simple, and we already have a comparable piece of code in feathercoin, if I read our source right ;)
Different values, but the same principle.
I doubt, that it will be sufficient for them in the long run
-
Re: DigiShield implementation
I can also see another problem we tried to avoid in using the nActualTimespan. The solution without reference to measuring actual time has fewer drawbacks.
-
Just a couple of points.
We will probably need a name. That has not been our priority but something like “Advanced Difficulty Averaging” ADA
or ABC - Advanced block calculation. or FAB Feathercoin Advanced Block (Calc)
FMP
-
FOMP - Stands for, Please Go Away Multipools.
Lol
-
FOMP - Stands for, Please Go Away Multipools.
Ah, didn’t see someone beat me to it!
-
We def need to get this change going soon… This is killing loyal miners with the hash rate so low, and it will take over 9 hours to re-target???
-
Yes. Last week I have stopped my POOL, mining FTC no profit . Purchase cost than mining. I’m minging some of the new currency until the FTC Reply.
-
If we drop the difficulty change then it increases the ability of multipools to manipulate us. The flip side is that hostile entities can push our difficulty up quicker, but there is still the averaging that stops it from being too rapid.
Wrapper is happy with the 9% difficulty as it is and our difficulty change is still less than Dogecoin are planning. They now have a lot of resources and developers as they launched into a much bigger crypt community. We should give them some faith… Actually their new difficulty should have kicked in by now. I’m going to go take a look at how they are doing.
Once we are past the fork we can look at the algo change to duck the Scrypt ASICs and who ever has been attacking us with what is presumed redirected Scrypt resources.
-
Here we go again today with another 9hr High difficulty rate and only 1 hr at a lower difficulty rate once it resets.
Any idea on the time frame these difficulty changes might be implemented?
We def need to get this change going soon… This is killing loyal miners with the hash rate so low, and it will take over 9 hours to re-target???
-
These changes need to be tested carefully before implementation.
It’s in the testbed right now.
We all are keen to get it implemented, but we need to be sure, that it works as expected before we can implement it in the production network.
I’m sure, as soon as the tests are finished, Bushstar will announce the change and the new version of the wallet will be released