Hi all,
Digi with 25% max adjustmentI have been reading the changes committed by ny2cafuse (
https://github.com/nlgcoin/guldencoin/pull/7)
Sadly, the 25% filter was not actually changing the required difficulty. In fact: it would cause major and non-resolving chain-splits.
The max 25% adjustment rule is in a function that is used to detect "ddos" blocks. This is a simple and quick check to see if a block can be taken seriously, before the full checks are done, which are using a lot more resources. This protects the network from ddos attacks.
How changing the max adjustment to 25% would cause a chainsplit, step by step:
Say two miners (A and B) would mine a block at the same time and broadcast it to the network. Half the network gets block from A first, other half gets block from B first. The group that got block A will now perform an anti ddos check on the block from B, because B was later and therefore is considered to be a split. Lets assume that the digishield changed the difficulty over 25%. This means group A will completely ignore block B. In the meanwhile, group B has more miners and mines blocks B2 and B3; they now have the larger chain: "B>B2>B3". But since group A won't accept block B, they will never get this chain and won't resolve the split. The miners in group A won't either, they'll continue mining as if nothing ever happened. The same applies for group B: group B will never accept block A because it has > 25% difficulty change, so IF group A gets the longer chain (which would normally resolve the split), it won't be accepted by group B because group B will never accept block A.
The normal max adjustment is 400%, which will allow even the most extreme diff changes by digi or dgw3.
TL;DR: the change to 25% doesn't do what was expected and will only introduce chain splits.
What now?I will now continue with the simulator, doing the items listed in the previously posted TODO list.
This will give us more insight in how the change to digi will affect the chain.
It's important that we know what we are doing before we're making these changes.
We are very close. But remember: it's done when we have a proven correct solution that won't mess up the chain and will solve our problems.
If testing can be done with Digishield in the simulator so soon, there where also discussions on changing parameters in DGW3 2 months ago orso that could do a lot if I am correct. If the simulator can really simulate small and big waves that soon, then take some time for good testing different parameters and blocktimes. Just my thoughts. 1 or 2 weeks more Clever, I can live with that.
You're making an excellent point here: yes we can try DGW3 with alternative settings in the simulator. We can even change formula's (not just the settings/parameters for the formula's).
"How can I help?"If you're a coder then you can help out with the code, please do!
We're on github:
https://github.com/nlgcoin/guldencoinhttps://github.com/GeertJohan/diffsimPlease contact me if you'd like to help with code.
We do accept pull requests.
"But I'm not a coder..."Thats okay.. You might not be able to help with the more technical aspects of Guldencoin but that is just a very small part of what we're doing here.
For instance: contact merchants, introduce your friends to Guldencoin (remember: they can get 100 free NLG! Who doesn't like free stuff!?)
Or write an article about Guldecoin. Comment on large news websites on topics related to Guldencoin. etc. etc.
Better even: think out of the box. The things I've just listed have been listed before, and although they are very very important, it's also good to have new and innovative usage and promotion of Guldencoin..
Gulden New Year!Lets work together towards a future where Guldencoin is widely accepted in The Netherlands and beyond!
Everything we're doing are small steps towards that goal, and as long as everyone keeps making these small steps: we'll reach that goal in 2015.
Cheers!