[Dev] Kimoto gravity well integration - Feathercoind 0.8.5.1
-
Multi pools issue isn’t tech. issue but it’s financial issue ( Doesn’t harm the network but mines a coins and then convert them into another currency ). Multi pools would mine a coin until mining is most profitable ( there is tight connections with it’s price ) no matter how big/low is difficulty or block reward.
I’m not pointing out to 51% attack ( we have protection from it ) but I’m pointing out to situation where miner with 30% of hash power could cause 10% loyal miners to abandon the currency. ( We need to check the numbers and make correct simulation about all of the possible scenarios )
-
Other than the difficulty retarget issue I’m not sure if anything needs to be done.
If difficulty does up and price does not follow profit miners will disperse as its just a market but loyal members would likely stay and maintain the network resilience.
There has been talk already on this forum on people mining coins other than FTC and selling them for FTC to help increase the buy market for FTC.
So even if people did leave then this would be ok. The difficulty would adjust anyway if miners left possibly making the coin profitable to mine again. lolits a vicious circle but a healthy one.
If we could make the multipool attack last only one block before a difficulty adjustment then loyal miners would be affected far less and I think this would solve the problem.
-
If we have a situation where all of multi pools are connected to the FTC network for a long time then we can expect multi pools for sha256 that will pay off the miners with FTC :)))
-
[quote name=“kris_davison” post=“58692” timestamp=“1392213272”]
If we could make the multipool attack last only one block before a difficulty adjustment then loyal miners would be affected far less and I think this would solve the problem.
[/quote]I agree, even the single block Difficulty adjustment isn’t the full answer, could be a problem. We already have some protection against difficulty drive up, single block might negate that.
-
Heres a really good explaination of whats goin on in the Kimoto algorythm…
-
Maxcoin has Kimoto, Dogecoin consider it.
http://www.benzinga.com/news/14/02/4283374/the-next-altcoin-to-hit-20-million
-
Yeah… I’m gonna follow this topic.
I’ll have a solid read when I get back from work.
-
Orbits.
I am now starting to get a different picture of how the Kimoto Gravity well is suposed to work, and be understand weither the code actually does that.
The block time can be seen as an orbit around its required 2.5 min timeing for Feathercoin. If all is well, a block will appear at -1.25 and +1.25 mins.
The algorythm then loops back through a number of historical blocks to find the deviation of the orbit. The more deviation, the more gravity is applied.
The main action of the gravity well will be to adjust the Retarget more often, and take acount of “sudden variations” in Hash rate.
-
Mooncoin has added it. FWIW.
-
Orbits.
I am now starting to get a different picture of how the Kimoto Gravity well is suposed to work, and be understand weither the code actually does that.
The block time can be seen as an orbit around its required 2.5 min timeing for Feathercoin. If all is well, a block will appear at -1.25 and +1.25 mins.
The algorythm then loops back through a number of historical blocks to find the deviation of the orbit. The more deviation, the more gravity is applied.
The main action of the gravity well will be to adgust the Retarget more often, and take acount of “sudden variations” in Hash rate.
Thanks, that makes much more sense.
-
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