Difficulty Discussion - Fork Update - Bushstar
-
Ok we can solve this issue. 504 blocks make a soft re-target 10-30% and a hard re-target for whatever it needs to be every 8064 blocks. My reasoning is this bitcoin and the magical 2016 block diff target was based upon a block being generated every 10 minutes ish. This coin is 4x that so it needs to both retarget faster [i]and[/i] slower. Faster to avoid super long confirmations (no confirmation=no transactions = dead coin) and slower to reflect the long term sampling. The faster would be a soft re-target in other words not a full difficulty change but a percentage of target difficulty this would even out the initial hoppers hash fluctuation (what we are seeing right now) and help to ensure that the network can still handle transactions in a timely manner. Somehow in my head I have this picture of a nice calm beach and waves coming in nice and peaceful like as opposed to building your sand castle just in time to notice the tide has gone waaaaaaay out and here comes a 50 story wave to ruin your day.
I think it could be done with an update patch of sorts like they did with the bitcoin client a little ways back. Just my .02 ftc.
if i have entertained you helped you or etc donate your hashing power to a pool of your choice and let get through this!
-
[quote name=“Bushstar” post=“2230” timestamp=“1368203680”]
One proposal is a difficulty adjust every 504 blocks and at a difference of 40% maximum.
[/quote]That’s better than what we have now. People are losing faith in FTC and sell it at ridicuosly low prices. Transactions take long to get confirmed, 51% attack threat, etc. Some kind of averaging window may also be implemented, but it needs more testing to justify. For instance, to retarget every 504 blocks or even less, but to calculate geometric average over 2016 blocks.
-
We need to explicitly distinguish between normal and abnormal situations. 2016 is indeed useless. The web is a different beast from 4 years ago, speed wise, content wise, threat wise, culture. 2016 should simply be a reference point.
I think restricting difficulty rise can create a different problem, pump and dump galore.
We should use a moving average over 2016 blocks sampled every 504. We could as a rule accept a range of difficulty and also have a minimum and maximum reward.
But again. Low difficulty was an unfortunate mistake. Nevertheless, perhaps this is a soft DDoS attack and should be dealt with as such.
I still think the extremes should be dealt with in a different way. If the difficulty seems to be going too high, keep the earlier difficulty and drop the reward to preserve confirmation speed. If the difficulty seems to be dropping too fast, keep it higher and increase the reward.
Also another thing: The only way this kind of attack is even possible is because 1) there is an opportunity to cause price crashes through massive processing power and 2) when price drops the attackers can buy more and increase their gains round after round.
Therefore I would suggest maybe we need to cause coins to spread out more when these attacks occur. More decentralization. I would suggest requiring a higher difficulty for larger amounts.
So mainly I think there should be two modes of operation: normal mode - no change in behavior, evasive action mode - apply changes.
It may be possible to achieve much of this without a fork.
-
sorry guys to ask such noob questions but what is 51% attack exactly? Is it when a pool has over 51% total hash power and then changes some setting? I donno does it work like a DDoS?
-
[quote name=“Markus1337” post=“2423” timestamp=“1368259683”]
sorry guys to ask such noob questions but what is 51% attack exactly? Is it when a pool has over 51% total hash power and then changes some setting? I donno does it work like a DDoS?
[/quote]I [i]think[/i] if any one person (wallet) has more than 50% they effectively have control over the block chain which means they can undo transactions, double spend etc. They would have to have malicious intent though so just because someone has 51% doesn’t mean it will all go to brown stuff.
Anyone more educated than i care to elaborate?
-
In a 51% attack someone can generate their own block chain and force it on to the network. The idea is that you would generate this chain but not broadcast it until you had gone around and spent your money on goods. Then you broadcast your chain without those transactions present. Generally these attacks fail and just leave orphaned block chains behind.
Back to business.
To me it looks like we should not just wait on this like Freicoin did.
The best option is to go for a four times faster difficulty adjust but with a much less variable adjust. This means when the difficulty comes down it will only do so by 40% which will not bring all the miners running but will be enough to entice some back. This will stop us from turning into bubble coin.
I have made some basic changes and am getting some peer review. I will come back here to let you all know the details when I have them.
-
Great news bush! In the meantime, I’m stocking up on cheap coins. :)
A 51% attack is usually what is bantered about by people who don’t really understand the complexity in successfully pulling one off, in fact usually by people who would actually struggle [i]pulling one off[/i] [citation needed] :D
-
[quote name=“UKMark” post=“2449” timestamp=“1368264525”]
A 51% attack is usually what is bantered about by people who don’t really understand the complexity in successfully pulling one off, in fact usually by people who would actually struggle [i]pulling one off[/i] [citation needed] :D
[/quote] ;D -
Great news bush! Looking forward for this getting pushed out.
-
Sounds good to me, and if I’m reading into it correctly then it should change difficulty 4x as fast, but won’t ever rise or fall 40% more than current. Even two ‘fast’ round would only raise it; (start+40%)+40% which makes it a 106% overall maximum rise from the first round to third. Albeing my math is correct.
But I am curious of one thing, if it’s forked what will the difficulty of the first 504 blocks be?
-
The current difficulty would stay the same so we would have to keep pushing through it to get 504 block from the last difficulty adjust. At that point the difficulty will drop 40%. That will make it roughly as profitable to mine as Bitcoin. It will not bring the miners back that only chase the most profitable coins.
Those like myself who support Feathercoin can continue mining the coins with the lowered difficulty and see the rewards. The smaller adjust stops us from being hopped on and then abandoned. I’ve used Freicoin as an example of a coin that went through this. It recently was the most popular to mine and has now been left very unprofitable and will face a very long wait to get back.
We do not want to continue with a problem that could come back in the future. Like Litecoin had to be faster than Bitcoin we have to be faster than Litecoin.
-
So next re-target at 32760? 100 blocks away?
By my estimation at the current hash rate that’s nearly 3 days? :o
Or have i got it all wrong?
-
Remember that the hard fork means that everyone has to update their client, this includes pool and services. Three days is not a great deal of time to get everyone to prepare properly for a hard fork.
-
Fair enough. So what are you doing now to announce/promote the fork?
I can hold out for a while longer but i would be greatly reassured if I see you announce something official not only to the community here but across bitcointalk etc.
-
[quote name=“UKMark” post=“2449” timestamp=“1368264525”]
Great news bush! In the meantime, I’m stocking up on cheap coins. :)A 51% attack is usually what is bantered about by people who don’t really understand the complexity in successfully pulling one off, in fact usually by people who would actually struggle [i]pulling one off[/i] [citation needed] :D
[/quote]Nice! Bought some myself last night at the bottom of that valley :)
-
[quote name=“Nutnut” post=“2532” timestamp=“1368281144”]
Fair enough. So what are you doing now to announce/promote the fork?I can hold out for a while longer but i would be greatly reassured if I see you announce something official not only to the community here but across bitcointalk etc.
[/quote]As soon as I can I will announce the update version across the forums and contact all pools and services to update their daemons. We have to engage with everyone to make this as seamless a transition as possible.
-
Sweet im ready! :o
-
[quote name=“Bushstar” post=“2538” timestamp=“1368282210”]
[quote author=Nutnut link=topic=363.msg2532#msg2532 date=1368281144]
Fair enough. So what are you doing now to announce/promote the fork?I can hold out for a while longer but i would be greatly reassured if I see you announce something official not only to the community here but across bitcointalk etc.
[/quote]As soon as I can I will announce the update version across the forums and contact all pools and services to update their daemons. We have to engage with everyone to make this as seamless a transition as possible.
[/quote]WeMineFTC.com is ready to upgrade w/e you want :) Just letus know :)
-
I’ll upgrade as well. I have a feeling litecoin is about to get the same treatment. The price will drop if it stays below BTC profitability for too long.
Bushstar, can you move the difficulty code into a library? It would make it much easier for people to upgrade.
-
[b]Here’s how Freicoin is handling it …[/b]
[url=https://bitcointalk.org/index.php?topic=202250.0]https://bitcointalk.org/index.php?topic=202250.0[/url]
Freicoin - Difficulty Adjustment Algorithm updated [HARD-FORK @ block #28476]
-
Add the new difficulty adjustment algorithm, which replaces the simple
average over 2016 blocks with a faster-acting 144-tap Parks and
McClellan FIR filter, and adjustments every 9 blocks with a gain of
0.1025 and limiter of 1.055. -
Prepare for deployment of difficulty adjustment filter to production
network by adding a threshold block after which the new difficulty
adjustment algorithm takes over, for both mainnet and testnet. -
Added Python simulator of new difficulty adjustment algorithm.
-
Fixed two related bugs in the freicoin “accounts” system. First, the
‘move’ RPC command now generates AccountingEntry records with the
current reference height rather than refheight=0. Second, the
‘listaccounts’ RPC command properly time-value adjusts AccountingEntry
records. -
Fix unwanted transaction de-prioritization. Now calculates both inputs
and outputs of a transaction based on the transaction’s reference
height, as opposed to the current block height, which was previously
being used for the inputs. This was resulting in smaller (or even
negative) fees for the purposes of priority calculation, thereby
resulting in transactions that had trouble getting on the block chain. -
Change nVersion on Freicoin Foundation addresses to testnet format, so
that budgets validate correctly. This enables mining on testnet. -
Modified output of ‘getblocktemplate’ RPC command to include a ‘budget’
array specifying budgetary requirements.
-