[Dev] Kimoto gravity well integration - Feathercoind 0.8.5.1
-
Just out of curiosity, aside from KGW (which is really popular right now, almost every new coin seems to be implementing it at the moment), what other ways could we protect against crazy difficulty traps?
In regards to KGW, I echo chrisj’s thoughts.
Is there any argument to make against?
Keeping ftc ahead of the game is always a +1.
So, are there any arguments against KGW?
I don’t understand it thoroughly enough to try find anything wrong with it.
-
At least it needs to be tuned and applied carefully.
The blockchain is a control loop (I hope the term is correct, got it from leo.org)
Basically it works like
Measure block spacing-> blockspacing lower 2.5 mins?-> if yes increase difficulty
-> if no decrease difficultyThe KGW represents a fast reacting algorithm to adjust difficulty.
Fast reacting control loop tend to oscillate and this could lead to unnecessary jumps in difficulty and make things worse.It may take some time to find the best parameter to be applied to KGW to get it working even with extreme jumps in hashrate.
Also it will need more calculations to get the new difficulty as it recursively looks back to recent blocks.
With a max block lookback of 10 it’s already 2939328000 calculations ( 1*2*3*4*5*6*7*8*9*10 ).
-
+1 Wellenreiter
I understand KGW a lot better when you put it like that.
-
Thanks for this discussion. I believe a change is needed, and you’re all the ones to make it happen. I’m trying to understand the tech part, but I do understand the results, and I believe a change is needed. I really appreciate this discussion, and will pop back in.
Bona Fortuna
-
The theme is interesting, I will take part in discussion.
-
The theme is interesting, I will take part in discussion.
What do you think of KGW?
We could implement it, but there is talk that it is not perfect… What is your take on the matter SerenaBic?
-
There are varying elements to consider when modifying a fundemental protocol element, like difficulty calculation. One of which is energy consumption.
Can any one help with their analysis of the code? main.cpp
Is the next difficulty change calculated by each miner, then submitted when you win? Or, does the winning miner get to calculate the next difficulty on winning the Block?
The the former then, energy use consideration might apply and would be usefull to understand.
-
Re: Kimoto Gravity Well, may be susceptible to Time Warp attack. Peter sent me this…
Nite69 put a fix out for the time warp exploit in KGW, not seen it implemented in a coin yet.
-
Over at catcoin we implemented a PID algo, developed by someone who actually has done power management circuits for home power. We wanted something that was a more general purpose algorithm than KGW which was meant to respond to high hash multipool attacks. Yes, attacks. The Bitcoin Fundamentalists have said multipools were intended to kill altcoins.
We also guessed correctly that a single purpose highly sensitive algorithm would be more likely to contain surprises and have vulnerabilities. Too much focus on the method rather than the goal is a developer’s worst sin. God algorithms are as bad as God Classes in OOP.
We still have a couple tweaks to do, but we’re also looking to end hard forks by being able to push modifications to the protocol over the wire. But that’s a ways off.
I said I’d be back after catcoin got organized. I’m back. I have a few ideas I’ve been wanting to launch.
-
Welcome back