Move FTC to factor four diff swing over 7 days
-
When ACP is running we can change the difficulty without having to worry about attackers. I have been spending some time thinking about this issue and I am not keen to move to a real time difficulty adjust just yet, however we do need to deal with the 41.4% shift every time.
Bitcoin moves by a factor of four every 14 days.
Litecoin moves by a factor of four every 3.5 days.
Feathercoin moves by a factor of four every 3.5 days.If we moved half way between the two then we can have a factor of four change every 7 days which would give us the adjust of around 18% every 504 blocks.
We would have a less wild swing than Litecoin which appears necessary, Litecoin has a much higher stable hash rate so never has to worry about the swing too much. However I believe that Bitcoin is too slow for us if we suddenly have to scale for a large rise or drop in hash power.
[i]Edit (31/08/13)[/i]: Schoolboy error, picked diff adjust of 10 days for Bitcoin off the top of my head when everyone knows that it is 14 days! Thanks to Ghostlander for spotting this.
-
Let me fix that for you:
[quote name=“Bushstar” post=“26464” timestamp=“1377684537”]
… Litecoin has a much higher stable hash rate [color=red]now[/color] [s]so never has to worry about the swing too much[/s].
[/quote]What would happen if MtGox announces that Litecoin won’t be added to thair trading platform? Price / hashrate would drop dramatically. Chain gets stuck. Coin dead (without intervention of developers / hard fork).
-
18% over 504 seems to me a nice point. I would also had a damping factor so a retarget of 18% require a larger factor in time difference then 18% as we know hash power will also change and amplify the diff change with adjusted hashrate. so a factor of .5 to .25 can be good. So with a factor of 0.5 we would have an actual 34% been now 17% so swing will less overshoot the target.
-
In my opinion we should go with even more frequent retargets of just a few percents.
Could someone explain, what do you call a “factor”? ;D
-
we want 150 seconds. so 300 seconds we have 100% change so over the 41.4% so we do 41.4%. with a damping factor (a constant to reduce the real impact) let say .25 we would get 100%*.25= 25% that would be applied only 25%.
the reason is that hashrate is not constant so looking only at time is amplified by the hoppers miners. this amplification to have the correct damping factor should be (amplification = 1/damping factor). as this is not constant at all the best we can do is just set one to attenuate the impact that is not overshooting either way. the actual 1 is too big, 0.1 would be too low .25 to .5 seems to me the range that should be a good idea.
-
[quote name=“Radacoin” post=“26470” timestamp=“1377690126”]
What would happen if MtGox announces that Litecoin won’t be added to thair trading platform? Price / hashrate would drop dramatically. Chain gets stuck. Coin dead (without intervention of developers / hard fork).
[/quote]Litecoin would end up in the position we found ourselves not long after launch when we had to hard fork to adjust more frequently. What defeated us was having to wait 2016 blocks which was too long to wait at a high difficulty and the other issue was swinging so wildly on the way up at the difficulty adjust which pushed our difficulty up too rapidly.
Our loyal miners are used to working at a high difficulty. Let’s make this swing less extreme and much more agreeable for them which in turn should encourage more miners. We should also not find a solution that completely shuns the multipool miners or miners who independently look for the most profitable coin.
[quote author=00400 link=topic=3447.msg26479#msg26479 date=1377696812]
Could someone explain, what do you call a “factor”? ;D
[/quote]Perhaps I’m using factor loosely but the dictionary tells me that I’m not the only one :)
facÂ*tor (fktr)
n.
1. One that actively contributes to an accomplishment, result, or process: “Surprise is the greatest factor in war” (Tom Clancy). See Synonyms at element.
2.
a. One who acts for someone else; an agent.
b. A person or firm that accepts accounts receivable as security for short-term loans.
3. Mathematics One of two or more quantities that divides a given quantity without a remainder. For example, 2 and 3 are factors of 6; a and b are factors of ab.
[b]4. A quantity by which a stated quantity is multiplied or divided, so as to indicate an increase or decrease in a measurement: The rate increased by a factor of ten.[/b]
5. A gene. No longer in technical usage.
6. Physiology A substance that functions in a specific biochemical reaction or bodily process, such as blood coagulation. -
[quote name=“Bushstar” post=“26484” timestamp=“1377699516”]
Let’s make this swing less extreme and much more agreeable for them which in turn should encourage more miners. We should also not find a solution that completely shuns the multipool miners or miners who independently look for the most profitable coin.
[/quote]+1
-
I like we are now moved to discussing this, fixing the Difficulty equation for our present Hash Rate variability.
-
18%/504 doesn’t seem to be a solution worth a hard fork. Not much advantage over 41%/504 we have now. More frequent small adjusts are better.
Real time difficulty adjustments are performed every block. May look extreme somewhat, but it is a very good idea in general especially with high block targets like 10 minutes. It is not necessary for lower block targets such as our 2.5 minutes. I have considered values between 4 and 24 blocks (10 to 60 minutes respectively) and come up with 12 blocks (30 minutes). I still think it will do the best for Feathercoin.
[quote name=“Bushstar” post=“26464” timestamp=“1377684537”]
Bitcoin moves by a factor of four every 10 days.
Litecoin moves by a factor of four every 2.5 days.
Feathercoin moves by a factor of four every 2.5 days.If we moved half way between the two then we can have a factor of four change every 5 days which would give us the adjust of around 18% every 504 blocks.[/quote]
Every 3.5 days actually. 1.4142^4=4 and 4*21/24=3.5 days. If 1.4142 (41%) difficulty limiter over 504 blocks does well for us in general as proven by numerous attacks and pumps/dumps on exchanges, why to change it? We only need to tune it up a little for more frequent adjustments to make loyal miners happy.
-
Sorry for the late response - up to eyeballs with work. :-[
18% in one jump is still a fairly large swing and would almost certainly trigger all of the multipools simultaneously. If there is anyone on here that is capable of running some models of what the adjusts would mean in terms of surge mining then that would be great.
Wrapper0feather - you spring to mind! ;)
Can you (or anyone with a mental capacity higher than that of a staple gun) produce some models that show what the impact of various retarget blocks / percentages would look like when mixed with the hash surges so we have a graphic view? If we have a swing that is large enough to trigger the mutlipools on every diff change, we’ll still see the same hashrate jumps and therefor block target variance.
The truth is i don’t think anyone knows what will work until we try it but simulations may help.
I like the idea of quick, small retargets based on large sample times but would this potentially lead to diff increases whilst the hashrate drops due to a delayed effect? This could then potentially hit us even harder if we happen to have a price slump at the same time as an increase.
edit: I’m inclined to agree with ghostlander that 41%/504 works overall which is why i suggested 9% every 126blocks. Again though i think we need some models to show what effect the surges and more subtle increase do. for instance it may be that we only trigger one mutlipool not all so that we only have a small hash surge which isn’t enough to bounce the diff off of the limiters.
-
[quote name=“Nutnut” post=“26590” timestamp=“1377785876”]
Sorry for the late response - up to eyeballs with work. :-[18% in one jump is still a fairly large swing and would almost certainly trigger all of the multipools simultaneously. If there is anyone on here that is capable of running some models of what the adjusts would mean in terms of surge mining then that would be great.
Wrapper0feather - you spring to mind! ;)
Can you (or anyone with a mental capacity higher than that of a staple gun) produce some models that show what the impact of various retarget blocks / percentages would look like when mixed with the hash surges so we have a graphic view? If we have a swing that is large enough to trigger the mutlipools on every diff change, we’ll still see the same hashrate jumps and therefor block target variance.
The truth is i don’t think anyone knows what will work until we try it but simulations may help.
I like the idea of quick, small retargets based on large sample times but would this potentially lead to diff increases whilst the hashrate drops due to a delayed effect? This could then potentially hit us even harder if we happen to have a price slump at the same time as an increase.
edit: I’m inclined to agree with ghostlander that 41%/504 works overall which is why i suggested 9% every 126blocks. Again though i think we need some models to show what effect the surges and more subtle increase do. for instance it may be that we only trigger one mutlipool not all so that we only have a small hash surge which isn’t enough to bounce the diff off of the limiters.
[/quote]+10,000
-
Thanks Nutnut for your concern, you said what I thought you would say, that 18% is still too great. I feel this to but perhaps you can see where the last proposal of a quicker diff adjust and a swing by times four over fives days can come in.
Moving to a swing of times four over five days seems agreeable as Litecoin’s swing is very fast and Bitcoins is glacial. The sweet spot is in between the two.
If we move to five days for times four diff swing and simply halve the blocks to a difficulty adjust then we get 9% over 252.
What I want to do is get a more agreeable solution in very soon. I am wary of real time difficulty adjusts because of potential vulnerabilities that could be exploited and the effect that it may have on the market.
-
Moving to really fast adjusts has seen other coins find unexpected problems. I would prefer to see us move to an agile solution slowly rather than find ourselves in hot water. I believe that halving the difficulty adjust time and halving the amount the difficulty can swing is a big step already and will take us much further from the original design of times four difficulty over 2016 blocks.
I’m sure we’ve had this discussion before erk on the last difficulty change. Perhaps we’ll have to disagree very fast difficulty adjust for now but we can agree that we need an improved difficulty solution. The last change proved that there was a better solution and now we can work on getting closer if not find the most suitable difficulty solution.
-
Re. all this bitching about our difficulty swings. The mother of all Scrypt coins, Litecoin, has also huge swings.
[img]http://img580.imageshack.us/img580/9558/rn12.png[/img]
Take away the MtGox bonus and they’d be screwed.
-
[quote name=“Bushstar” post=“26724” timestamp=“1377872176”]
Moving to really fast adjusts has seen other coins find unexpected problems. I would prefer to see us move to an agile solution slowly rather than find ourselves in hot water. I believe that halving the difficulty adjust time and halving the amount the difficulty can swing is a big step already and will take us much further from the original design of times four difficulty over 2016 blocks.
[/quote]Frequent adjusts with large window and appropriate difficulty limiter are harmless theoretically and I see no unexpected problems to address in practice. 1% over 12 blocks may deliver 52% max. difficulty change (1.01^42=1.5188) over 21 hour (~504 blocks) interval in small increments. We keep the same 21 hour window to look back for difficulty calculations, so no bad surprises there.
Moving from 41%/504 to 20%/252 seems a waste of hard fork. Limited short term effect. Better maintain the status quo and get used to it if we cannot agree on an innovative model to make Feathercoin look really different from Litecoin.
-
From a miners perspective moving to a 9% difficulty shift from a 41.4% difficulty shift is essential and it would have prevented from being mined up so high and left where we are now.
We are going to fork but we are not moving to a real time difficulty adjust, not in the next month anyway.
-
[quote name=“Bushstar” post=“26740” timestamp=“1377883350”]
We are going to fork but we are not moving to a real time difficulty adjust, not in the next month anyway.
[/quote]If you have decided already on the fork and the details, what’s the purpose of this debate? Use your powers and do the job. I haven’t received your arguments against my model though.
-
Ghostlander, I am saying that there are real concerns. TRC went from 0.004 to 0.0014TRC/BTC in the markets over their effort for fast adjusts. They had to hard fork a total three times over it in total and got attacked over a flaw in their code. Not only that but Terracoin has lost its profit miners with its new algo. I am not saying that your model has these flaws but I’m very sure that the TRC devs did not see the flaws either.
More than anything else their effort removed the for profit miners from the equation completely and that does not seem fair to me either. I have been both in the past and mining is where my enthusiasm started for crypto.
-
[quote name=“erk” post=“26714” timestamp=“1377863672”]
I vote for frequent small changes. Not overly fussed about the exact formula, as long as it feels smooth, not these aggressive jumps we have now. I think 9% over 252 blocks is too slow, that’s over 10hrs between adjustments, more than enough time for people to leave. Something every 100 blocks would be better as 100 is easy to remember when the next change is about to happen. Honestly, if it was up to me I would be going for +/-2% every 10 blocks just to be ultra smooth.I don’t really understand why diff changes can’t be small and fast, to the point where they are largely ubiquitous.
[/quote]We are in a pump and dump world. There would be no reason to buy more hardware if the diff jumped before you could even install it. Real time change is for when we actually use it. Going from one extreme to the other gets you the same results. Smooth is bad. Gaps are profit. We are uncomfortable because we’re not buying or selling.
-
Terracoin is a bad example to start with.
First of all, TRC is a SHA-256 coin without ACP or PoS. It has been very vulnerable to ASIC attacks in the past and still is to a lesser extent. We are in a different position.
When TRC was started, they imported the code from BTC in October of 2012, changed some variables and left many unchanged. They set up block target of 2 minutes and retarget frequency every 30 blocks. They were unwise enough to operate 1 hour (30 blocks) averaging window and difficulty limiter of 4. They also didn’t care to address the time warp exploit properly which was critical at their settings. So, they were asking for a trouble right from the start.
Avalons came and brought the trouble in March of 2013. Sunny suggested to increase the averaging window to 1 day (720 blocks). They did so initially ([url=https://github.com/terracoin/terracoin/commit/300d6ac14fd5aaa6a71e14090fa72b1b1d029488]patch 1[/url]), and screwed up very soon to keep teasing miners ([url=https://github.com/terracoin/terracoin/commit/bbb25e650b8306ec89282eb340e1fb16f59061d8]patch 2[/url] and [url=https://github.com/terracoin/terracoin/commit/6d18a667fa7f98eaaccab2d5f155b257cbf204e0]patch 3[/url]). Neither 90 blocks linear window with 30 blocks retarget nor 2016 blocks exponential window with 1 block retarget really helped them. They tried many tricks, even banned IP subnets of top BTC pools and attackers, but couldn’t make it well anyway. Their last hard fork brought in settings very much like BTC. Game over. No ACP, no PoS, and no glory.
We have nearly nothing in common with Terracoin. Their network is 0.05% of Bitcoin by hash power. That’s 2000 times difference. A mid-range ASIC miner can screw them without much effort. We can learn from their mistakes, but to decline frequent difficulty recalculation solely due to Terracoin failures doesn’t seem reasonable.
[quote name=“zerodrama” post=“26760” timestamp=“1377897696”]
We are in a pump and dump world. There would be no reason to buy more hardware if the diff jumped before you could even install it. Real time change is for when we actually use it. Going from one extreme to the other gets you the same results. Smooth is bad. Gaps are profit. We are uncomfortable because we’re not buying or selling.
[/quote]That’s what coin hoppers think. Loyal miners tend to disagree. If you lose them, say good bye.
By the way, smooth is also good for block target. Haven’t you forgotten that the primary purpose of all these difficulty matters is to make actual block targets as close to nominal block targets as possible? At any moment of time.