[Dev] Hard fork to change retarget, averages and block time
-
As you all probably realise, I agree multipool coin hopping defence is a priority for all coins.
At the moment there seems little disadvantage in the changes we have investigated but major advantages to loyal miners. Wellenreiter and I have spent a lot of time on this, whilst all solutions have disadvantages, “advanced block time averaging” of the difficult calculation has the least.
The main problems with alternate solutions, such as Kimoto’s Gravity well, is they are more energy and calculation intensive but gave little or no benefit to loyal miners. The advanced averaging, combined with ReTargeting difficulty every block, is simple, low cost and is an extension of a standard “Bitcoin protocol” solution.
-
This is fantastic news. I’m greatly in favour of steps towards multi-pool resistance.
-
-
lol
nice picture :)
-
Do I take it from this that we need to go about getting mining pools updated etc???
UM
-
Do I take it from this that we need to go about getting mining pools updated etc???
UM
You’ll need to do the standard tasks for a hard fork:
- update wallets
- update/replace miner software
Besides the wallet update there are no special tasks for the pool operators required.
-
I’ll support that.
-
You’ll need to do the standard tasks for a hard fork:
- update wallets
- update/replace miner software
Besides the wallet update there are no special tasks for the pool operators required.
Would you elaborate a bit more on the update/replace miner software? I am currently using CGMiner 3.7.2. O0
-
Sounds great! One minute conformations compared to ten minutes for BTC, and 2.5 for LTC. This is a huge step in the right direction! This is why I am a loyal FTC supporter, innovative solutions which do not change the decentralized block chain base, but only fine tweaks the dials.
-
Go ahead!
I think you have the support of all the loyal miners here!
-
Would you elaborate a bit more on the update/replace miner software? I am currently using CGMiner 3.7.2. O0
It is only the solo miners and the pools that will need to update feathercoind to the new version, before the hard fork date / block number.
Miners using cgminer etc will not be effected.
-
Just a heads up Doge coin is already doing this!! It would be a great time to follow suit and get our changes in as well!
http://www.reddit.com/r/dogecoin/comments/207hfb/ann_dogecoin16_its_ready_all_you_need_to_know/
Now, onto the juicy part; what did we change?
Firstly, for those of you not already aware - Dogecoin has been gamed by Multipools. Multipools were cherry-picking large blocks (which were found to be provably pre-calculable), and hammering our networks hashrate - making mining for the solo doges incredibly difficult, while dampening their payouts massively. The end result was Multipool’s having twice as much doge as the average consumer; allowing them to dump our prices down with ease.
This ends with v1.6.
Changes implemented;
1) No longer a random block reward - we now only have static blocks. The current reward will be 250,000 Doge per block, with the halvening dropping us to 125,000 Doge per block, etc etc. This will prevent block cherry-picking; as we’re seeing at the moment, with our community pools only seeing 100-200k blocks, while the multi’s gaming the system are enjoying 300-500k blocks. From the 1.6 update, all blocks will be completely even.
2) The DigiShield difficulty algorithm: again, developed and contributed by the very clever folks at /r/DigiByte , this allows for rapid block retarget times, and rapid recovery from multipools suddenly hitting the network; meaning that our miners will no longer suffer from extremely long block times if a Multipool does decide to jump on board. This new algorithm will retarget our block times MUCH faster - ensuring the hard-mining shibe is not left holding the bag after the multipool ransack.
tl,dr: Multipools cannot selectively pick nice blocks anymore - nor can they do long lasting damage to our hashrates.
Now, importantly - what does this mean for your wallets?
We have implemented this code so that the new block rewards, and difficulty algorithms kick in at block 145K. Up until then, it’ll be standard, same-old business; beyond this, the new and improved dogecoin will kick in to action. This is in around 5 days - and we’ll be posting the new wallet link on here as soon as possible. You MUST update your wallet, to remain on the correct fork!
-
We are a small step forward. :) I look forward to greater change.
DigiShield, This is a good choice for our next step.
-
We are a small step forward. :) I look forward to greater change.
+1
-
Really excited to see that, maybe we can defeat DigiShield ?
-
So if before it was 2.5 mins @ 200FTC now its every 1 min @ 80 FTC. Theoretically that still = 160FTC every 2.5 mins but could be more / less depending on block solving luck.
So from what I am understanding, this will reduce the length of peck attacks because difficulty will increase that much quicker, but allow for it to recover quickly when they go to other coins.
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. Since Target time is set to every 1 min, will the initial difficulty be set higher to compensate for this?
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…
-
No every 1 min @ 80 FTC means that still = 200FTC every 2.5 mins
1 min @ 80FTC = 80 FTC
Plus 1 min @ 80FTC = 160 FTC
Plus 0.5 min @ 80FTC = 200FTC -
So if before it was 2.5 mins @ 200FTC now its every 1 min @ 80 FTC. Theoretically that still = 160FTC every 2.5 mins but could be more / less depending on block solving luck.
So from what I am understanding, this will reduce the length of peck attacks because difficulty will increase that much quicker, but allow for it to recover quickly when they go to other coins.
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…
80 FTC * 2.5 minutes = 200 Feathercoins :)
1. Wrapper says that reducing this makes us more manipulable by the multipools. They try to mine without moving our difficulty by as much as it should. Lowering the difficulty give them more room to do this. My concern is what if we our difficulty push up as part of an attack, well, we are probably going to face this with Scrypt ASICs in the wild who may have a similiar effect to the attack, keeping the difficulty at 9% but every 15 blocks does let us recover quicker.
2. Multipools will still mine us, these settings reduce the amount they get away with. Right now there is no profit mining Feathercoin, we look to correct that. Shorter difficulty adjust means we can respond to multipools much quicker.
3. Difficulty will remain the same, the blocks will not get easier with a shorter retarget. Overall the difficulty should come down.
We are a small step forward. :) I look forward to greater change.
DigiShield, This is a good choice for our next step.On Dogecoin, looks like they are going to move from 400% every 4 hours to 10% every minute which is even more wild. From what I can find this is the Digishield code. It has a grand name, that’s marketing for you :)
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)); }
-
Bush is right, I wouldn’t say there is no profit in Feathercoin, but currently the Multipools do better than the loyal miner, which is not very fair. We have done exhaustive simulations to make sure the changes will balance that situation, without opening us up to potential other attacks (e.g. Terracoin difficulty drive up).
By changing to the new difficulty calculation it will also make destructive, evil, attacks even more expensive, and therefore much less likely to be pulled off.
Also, it does not really matter too much what the difficulty starts at when we change over, the difficulty will be ReTargetted every block, so will quickly align to the correct value.
-
I applaud this move, I personally refer to those who jump in out like this as claim jumpers.