Nite69



Offline



Activity: 477

Merit: 500







Sr. MemberActivity: 477Merit: 500 Regarding Auroracoin TW exploit (Fix included) April 01, 2014, 02:40:53 PM

Last edit: April 05, 2014, 05:55:00 AM by Nite69 #1



The exploit BCX has found in KGW implememtation is real and, I believe, he is most likely attacking with the exploit just now. However, we have also found a fix to it which will close the case. BCX has confirmed that the fix, when effective, will prevent using the exploit.



Since we are in a kind of stalemate we have agreed to settle down. Continuing this battle is worthless and would only cause harm to all participants. The fix is not yet effective and it is quite likely much damage would be caused if attack would get to the end. Also we all have achieved what we were after; BCX has made his point clear and the coin will be fixed. From the beginning, no one, not even BCX has wanted to destroy the coin.



BCX, do you agree? Is this an agreement?



EDIT: Here is the fix, feel free to update your coins. just change the hard fork block number



Code: diff --git a/src/main.cpp b/src/main.cpp

index fd881d1..7687d3a 100644

--- a/src/main.cpp

+++ b/src/main.cpp

@@ -886,7 +886,7 @@ unsigned int static GravityWell(const CBlockIndex* pindexLast, const CBlock *pbl

double EventHorizonDeviationSlow;



if (BlockLastSolved == NULL || BlockLastSolved->nHeight == 0 || (uint64)BlockLastSolved->nHeight < PastBlocksMin) { return bnProofOfWorkLimit.GetCompact

-

+ int64 LatestBlockTime = BlockLastSolved->GetBlockTime();

for (unsigned int i = 1; BlockReading && BlockReading->nHeight > 0; i++) {

if (PastBlocksMax > 0 && i > PastBlocksMax) { break; }

PastBlocksMass++;

@@ -895,10 +895,14 @@ unsigned int static GravityWell(const CBlockIndex* pindexLast, const CBlock *pbl

else { PastDifficultyAverage = ((CBigNum().SetCompact(BlockReading->nBits) - PastDifficultyAveragePrev) / i) + PastDifficultyAvera

PastDifficultyAveragePrev = PastDifficultyAverage;



- PastRateActualSeconds = BlockLastSolved->GetBlockTime() - BlockReading->GetBlockTime();

+ if (LatestBlockTime < BlockReading->GetBlockTime()) {

+ if (BlockReading->nHeight > XXXXX) // HARD Fork block number

+ LatestBlockTime = BlockReading->GetBlockTime();

+ }

+ PastRateActualSeconds = LatestBlockTime - BlockReading->GetBlockTime();

PastRateTargetSeconds = TargetBlocksSpacingSeconds * PastBlocksMass;

PastRateAdjustmentRatio = double(1);

- if (PastRateActualSeconds < 0) { PastRateActualSeconds = 0; }

+ if (BlockReading->nHeight > XXXXX) { // HARD Fork block number

+ if (PastRateActualSeconds < 1) { PastRateActualSeconds = 1; }

+ } else {

+ if (PastRateActualSeconds < 0) { PastRateActualSeconds = 0; }

+ }

if (PastRateActualSeconds != 0 && PastRateTargetSeconds != 0) {

PastRateAdjustmentRatio = double(PastRateTargetSeconds) / double(PastRateActualSeconds);

}





Edit2: small modification for the fix

Edit3: added a missing an opening curly bracket, ty Cannacoin! It is April Fools day today, but this is no april fool trick. I believe BCX stands behind his words, even on April Fools day.The exploit BCX has found in KGW implememtation is real and, I believe, he is most likely attacking with the exploit just now. However, we have also found a fix to it which will close the case. BCX has confirmed that the fix, when effective, will prevent using the exploit.Since we are in a kind of stalemate we have agreed to settle down. Continuing this battle is worthless and would only cause harm to all participants. The fix is not yet effective and it is quite likely much damage would be caused if attack would get to the end. Also we all have achieved what we were after; BCX has made his point clear and the coin will be fixed. From the beginning, no one, not even BCX has wanted to destroy the coin.BCX, do you agree? Is this an agreement?EDIT: Here is the fix, feel free to update your coins. just change the hard fork block numberEdit2: small modification for the fixEdit3: added a missing an opening curly bracket, ty Cannacoin! Sync: ShiSKnx4W6zrp69YEFQyWk5TkpnfKLA8wx

Bitcoin: 17gNvfoD2FDqTfESUxNEmTukGbGVAiJhXp

Litecoin: LhbDew4s9wbV8xeNkrdFcLK5u78APSGLrR

AuroraCoin: AXVoGgYtSVkPv96JLL7CiwcyVvPxXHXRK9

lphelps



Offline



Activity: 92

Merit: 10







MemberActivity: 92Merit: 10 Re: Regarding Auroracoin TW exploit April 01, 2014, 03:30:31 PM #2 why is this even fucking being discussed in such detail over AUR?!? What is it with AUR that is attracting so much attention on whether or not it will be hacked and crashed?!?



I see no other discussions about this regarding other alt-coins.



It's almost as if because of the nature of AUR, there are certain individuals that are hellbent in destroying it before it gains any kind of popularity.



Just leave it the fuck alone and let it die on it's own if it's a scam. Why the hell is there a concerted effort in trying to make it crash and burn???

illodin



Offline



Activity: 966

Merit: 1003







Hero MemberActivity: 966Merit: 1003 Re: Regarding Auroracoin TW exploit April 01, 2014, 04:10:21 PM #3 Every coin that uses KGW should apply the fix as well asap right?



Any idea if digishield or dgw (version2) are susceptible to the same exploit?

balduro



Offline



Activity: 76

Merit: 10







MemberActivity: 76Merit: 10 Re: Regarding Auroracoin TW exploit April 01, 2014, 06:04:51 PM #4 Quote from: illodin on April 01, 2014, 04:10:21 PM Every coin that uses KGW should apply the fix as well asap right?



Any idea if digishield or dgw (version2) are susceptible to the same exploit?



Every coin using 1 block retargeting should take note. BCX has correctly identified an attack vector that an attacker (like himself) with enough resources could exploit. We will indeed have to make appropriate changes in light of this. Every coin using 1 block retargeting should take note. BCX has correctly identified an attack vector that an attacker (like himself) with enough resources could exploit. We will indeed have to make appropriate changes in light of this.

Nite69



Offline



Activity: 477

Merit: 500







Sr. MemberActivity: 477Merit: 500 Re: Regarding Auroracoin TW exploit April 01, 2014, 06:18:18 PM

Last edit: April 02, 2014, 01:29:51 PM by Nite69 #5 Quote from: illodin on April 01, 2014, 04:10:21 PM Every coin that uses KGW should apply the fix as well asap right?

Yes, I think so.

Quote from: illodin on April 01, 2014, 04:10:21 PM

Any idea if digishield or dgw (version2) are susceptible to the same exploit?

Have not yet dig too deeply on it, but:

Digishield: not the same, but possibly similar. KGW counts a lot of blocks to calculate adjustment, digishield only one, so it quite different. In KGW, attacker can 'jump over' the block in the future, which is not possible with only 1 block. Not yet sure, but there might be another TW exploit: Can you generate 2 blocks with dT less than 2xtarget so difficulty won't rise? If you generate block with dT 0, you get diff +25%, if I calculated correctly. next question: can you generate a block with -25% difficulty with less than 2*timespan? I think you get only -12.5% with 2 blocks time, so this hole is not open :-). But not sure if there are others.

Edit: this is dogecoin digishiel, don't know others..



DGW: possibly, quick peek reveals no fix, but it might be there, have to make deeper look at it to be sure.

Yes, I think so.Have not yet dig too deeply on it, but:Digishield: not the same, but possibly similar. KGW counts a lot of blocks to calculate adjustment, digishield only one, so it quite different. In KGW, attacker can 'jump over' the block in the future, which is not possible with only 1 block. Not yet sure, but there might be another TW exploit: Can you generate 2 blocks with dT less than 2xtarget so difficulty won't rise? If you generate block with dT 0, you get diff +25%, if I calculated correctly. next question: can you generate a block with -25% difficulty with less than 2*timespan? I think you get only -12.5% with 2 blocks time, so this hole is not open :-). But not sure if there are others.Edit: this is dogecoin digishiel, don't know others..DGW: possibly, quick peek reveals no fix, but it might be there, have to make deeper look at it to be sure. Sync: ShiSKnx4W6zrp69YEFQyWk5TkpnfKLA8wx

Bitcoin: 17gNvfoD2FDqTfESUxNEmTukGbGVAiJhXp

Litecoin: LhbDew4s9wbV8xeNkrdFcLK5u78APSGLrR

AuroraCoin: AXVoGgYtSVkPv96JLL7CiwcyVvPxXHXRK9

markm



Offline



Activity: 2604

Merit: 1038









LegendaryActivity: 2604Merit: 1038 Re: Regarding Auroracoin TW exploit April 01, 2014, 06:18:59 PM #6 A particularly cute aspect of the attack is that it seems the higher the difficulty of the legitimate blockchain the more leverage (effective multiplying of hash power) the attacker enjoys.



That is not to say that a higher difficulty blockchain is easier to attack, necessarily, but merely that the fraction of the main chain's hashpower the attacker needs seems likely to shrink as the difficulty of the main chain grows.



Just how much the attack can lower the effective difficulty the attacker can enjoy would also effect this ratio though. If the attacker cannot keep the difficulty on their attack chain really really low they would not get as much advantage as they could if they could keep it minimised/minimal.



The advantage seems to be due to the chance of a hash being lucky enough to get into the blockchain.



The attacker makes more blocks, of lower difficulty, than the main chain.



The lower difficulty means each hash has a higher chance of getting a block thus getting into the chain thus counting toward the total "work" of the chain.



The higher the difficulty of the main chain blocks, the less chance any particular individual hash anyone does on it will get a block thus get into the chain, so less of the hashes it does count as "work" for purposes of checking which chain has the most "work".



-MarkM-



Free website hosting with PHP, MySQL etc: Browser-launched Crossfire client now online (select CrossCiv server for Galactic Milieu) Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/

WompRat



Offline



Activity: 232

Merit: 100







Full MemberActivity: 232Merit: 100 Re: Regarding Auroracoin TW exploit April 01, 2014, 06:59:13 PM #8 Yeah, congratulations to all on settling this with a bit of maturity and dignity. It is a little bit of an anti climax though - maybe we can have a poll on who to hate on next.

LTEX



Offline



Activity: 1014

Merit: 1000





cryptotrader.nl







LegendaryActivity: 1014Merit: 1000cryptotrader.nl Re: Regarding Auroracoin TW exploit April 01, 2014, 07:42:50 PM #12 Quote from: BitcoinEXpress on April 01, 2014, 06:34:44 PM

Yes per our agreement I will pull back the exploit and allow a fix.

I am most definitely a person of my word. The conditions that solve for a solution have been met.



Why does Nite69 say "allow" a fix?



As explained by Nite69 I am gaining on the chain with a current running KGW TW. In order to prevent me from gaining and over taking the current AUR blockchain AUR needs 25X my mining power at a minimum, something the miners have proven they have little interest in doing. As such, it is just a matter of time before the TW catches up and is in full implementation.



In order to deploy the "fix" a new client will need to be released and another hard fork implemented. If the TW exploit isn't pulled back before the hard fork, it will instantly catch up at the next hard fork due to diff swings and be in full full implementation. So either way I win, fix it or don't fix it.



Nite69 is very correct, I have no real desire to destroy AUR as initially I was only going to run a test for a few hundred blocks. The concesion by the AUR development is sufficient for me. Understand this is enabled by KGW and was not a vulnerability till KGW was implemented. All coins that deploy KGW are vulnerable.





~BCX~







In all fairness, despite all clashes we had over this, I have to acknowledge you are being sensible and mature in the end. For that I thank you! In all fairness, despite all clashes we had over this, I have to acknowledge you are being sensible and mature in the end. For that I thank you! A fool will just look at the finger, even if it points to paradise!

Nite69



Offline



Activity: 477

Merit: 500







Sr. MemberActivity: 477Merit: 500 Re: Regarding Auroracoin TW exploit April 01, 2014, 08:46:28 PM #15 Quote from: BitcoinEXpress on April 01, 2014, 06:34:44 PM Yes per our agreement I will pull back the exploit and allow a fix.

I am most definitely a person of my word. The conditions that solve for a solution have been met.



Why does Nite69 say "allow" a fix?



As explained by Nite69 I am gaining on the chain with a current running KGW TW. In order to prevent me from gaining and over taking the current AUR blockchain AUR needs 25X my mining power at a minimum, something the miners have proven they have little interest in doing. As such, it is just a matter of time before the TW catches up and is in full implementation.



In order to deploy the "fix" a new client will need to be released and another hard fork implemented. If the TW exploit isn't pulled back before the hard fork, it will instantly catch up at the next hard fork due to diff swings and be in full full implementation. So either way I win, fix it or don't fix it.



Nite69 is very correct, I have no real desire to destroy AUR as initially I was only going to run a test for a few hundred blocks. The concesion by the AUR development is sufficient for me. Understand this is enabled by KGW and was not a vulnerability till KGW was implemented. All coins that deploy KGW are vulnerable.





~BCX~



BCX, in the tecnical point of view; you are perfectly right. The algorithm implementation calculating the difficulty adjustments allow you to use your hashing power to generate a competing blockchain which would win the official blockchain. There is no doubt of that.



But the technical point of view is not the only one. The foundation of all cryptocurrencies is an agreement of all nodes to follow certain rules, which ends up in the possibility to agree about the generation and transaction of the currencies. The implementation of that agreement is the algorithms behind the currency.



This is also one protetion of the coins; if majority of the nodes agrees not to choose a hostile chain, they really can do it, they can reject it, regardless of the hashing power behind it. Technically this rejection would be accomplished by publishing a checkpoint from the official chain and all nodes accepting it. I'm not sure if it would have happened on this case, but I want to believe so. If this community values the coin enought, they will also protect it against all threats.



There is also no doubt, that a succesfull attack like that would in any case cause a lot of damage. But my opinion is, it likely would not have destroyed the coin.



However, this case also emphasizes the importance of the strength of the algorithms behind the coin. Those algorithms are the agreement and they should be tested all the time. In the end, these tests only strenghten the agreements and also the coin and increase trust to it. So however asshole you are BCX, you are an asshole in a good way, thank you!

BCX, in the tecnical point of view; you are perfectly right. The algorithm implementation calculating the difficulty adjustments allow you to use your hashing power to generate a competing blockchain which would win the official blockchain. There is no doubt of that.But the technical point of view is not the only one. The foundation of all cryptocurrencies isof all nodes to follow certain rules, which ends up in the possibility to agree about the generation and transaction of the currencies. The implementation of that agreement is the algorithms behind the currency.This is also one protetion of the coins; if majority of the nodes agrees not to choose a hostile chain, they really can do it, they can reject it, regardless of the hashing power behind it. Technically this rejection would be accomplished by publishing a checkpoint from the official chain and all nodes accepting it. I'm not sure if it would have happened on this case, but I want to believe so. If this community values the coin enought, they will also protect it against all threats.There is also no doubt, that a succesfull attack like that would in any case cause a lot of damage. But my opinion is, it likely would not have destroyed the coin.However, this case also emphasizes the importance of the strength of the algorithms behind the coin. Those algorithms are the agreement and they should be tested all the time. In the end, these tests only strenghten the agreements and also the coin and increase trust to it. So however asshole you are BCX, you are an asshole in a good way, thank you! Sync: ShiSKnx4W6zrp69YEFQyWk5TkpnfKLA8wx

Bitcoin: 17gNvfoD2FDqTfESUxNEmTukGbGVAiJhXp

Litecoin: LhbDew4s9wbV8xeNkrdFcLK5u78APSGLrR

AuroraCoin: AXVoGgYtSVkPv96JLL7CiwcyVvPxXHXRK9

Bimmerhead



Offline



Activity: 1274

Merit: 1000







LegendaryActivity: 1274Merit: 1000 Re: Regarding Auroracoin TW exploit April 01, 2014, 11:32:18 PM #18 Quote from: BitcoinEXpress on April 01, 2014, 07:38:36 PM

Of note also, it appears that Balduro is actually delivering the Air Drop as promised. I cannot 100% verify that yet and the method he used screams scam. However I am not above admitting mistakes and it is certainly appearing that Balduro has made the all time mother of implementing the right idea with the wrong execution!



More to come on this as I dig deeper.





~BCX~



Well I didn't see that one coming. Kudos to BCX for being the man and admitting his error. Well I didn't see that one coming. Kudos to BCX for being the man and admitting his error.

s4w3d0ff



Offline



Activity: 322

Merit: 250





Spray and Pray







Sr. MemberActivity: 322Merit: 250Spray and Pray Re: Regarding Auroracoin TW exploit April 01, 2014, 11:58:18 PM #19 Quote from: Nite69 on April 01, 2014, 08:46:28 PM Quote from: BitcoinEXpress on April 01, 2014, 06:34:44 PM Yes per our agreement I will pull back the exploit and allow a fix.

I am most definitely a person of my word. The conditions that solve for a solution have been met.



Why does Nite69 say "allow" a fix?



As explained by Nite69 I am gaining on the chain with a current running KGW TW. In order to prevent me from gaining and over taking the current AUR blockchain AUR needs 25X my mining power at a minimum, something the miners have proven they have little interest in doing. As such, it is just a matter of time before the TW catches up and is in full implementation.



In order to deploy the "fix" a new client will need to be released and another hard fork implemented. If the TW exploit isn't pulled back before the hard fork, it will instantly catch up at the next hard fork due to diff swings and be in full full implementation. So either way I win, fix it or don't fix it.



Nite69 is very correct, I have no real desire to destroy AUR as initially I was only going to run a test for a few hundred blocks. The concesion by the AUR development is sufficient for me. Understand this is enabled by KGW and was not a vulnerability till KGW was implemented. All coins that deploy KGW are vulnerable.





~BCX~



BCX, in the tecnical point of view; you are perfectly right. The algorithm implementation calculating the difficulty adjustments allow you to use your hashing power to generate a competing blockchain which would win the official blockchain. There is no doubt of that.



But the technical point of view is not the only one. The foundation of all cryptocurrencies is an agreement of all nodes to follow certain rules, which ends up in the possibility to agree about the generation and transaction of the currencies. The implementation of that agreement is the algorithms behind the currency.



This is also one protetion of the coins; if majority of the nodes agrees not to choose a hostile chain, they really can do it, they can reject it, regardless of the hashing power behind it. Technically this rejection would be accomplished by publishing a checkpoint from the official chain and all nodes accepting it. I'm not sure if it would have happened on this case, but I want to believe so. If this community values the coin enought, they will also protect it against all threats.



There is also no doubt, that a succesfull attack like that would in any case cause a lot of damage. But my opinion is, it likely would not have destroyed the coin.



However, this case also emphasizes the importance of the strength of the algorithms behind the coin. Those algorithms are the agreement and they should be tested all the time. In the end, these tests only strenghten the agreements and also the coin and increase trust to it. So however asshole you are BCX, you are an asshole in a good way, thank you!



BCX, in the tecnical point of view; you are perfectly right. The algorithm implementation calculating the difficulty adjustments allow you to use your hashing power to generate a competing blockchain which would win the official blockchain. There is no doubt of that.But the technical point of view is not the only one. The foundation of all cryptocurrencies isof all nodes to follow certain rules, which ends up in the possibility to agree about the generation and transaction of the currencies. The implementation of that agreement is the algorithms behind the currency.This is also one protetion of the coins; if majority of the nodes agrees not to choose a hostile chain, they really can do it, they can reject it, regardless of the hashing power behind it. Technically this rejection would be accomplished by publishing a checkpoint from the official chain and all nodes accepting it. I'm not sure if it would have happened on this case, but I want to believe so. If this community values the coin enought, they will also protect it against all threats.There is also no doubt, that a succesfull attack like that would in any case cause a lot of damage. But my opinion is, it likely would not have destroyed the coin.However, this case also emphasizes the importance of the strength of the algorithms behind the coin. Those algorithms are the agreement and they should be tested all the time. In the end, these tests only strenghten the agreements and also the coin and increase trust to it. So however asshole you are BCX, you are an asshole in a good way, thank you!

This has been a well known exploit ever since KGW was starting to get popular, I was lucky with my coin and was notified of this exploit early so that I could make a hasty update and stop it from happening. I am surprised that NO ONE in the AUR knew about the exploit and/or said anything until BCX implemented the TW. Even Darkcoin saw it coming and made a supposed "fix". This has been a well known exploit ever since KGW was starting to get popular, I was lucky with my coin and was notified of this exploit early so that I could make a hasty update and stop it from happening. I am surprised that NO ONE in the AUR knew about the exploit and/or said anything until BCX implemented the TW. Even Darkcoin saw it coming and made a supposed "fix".

|⚒| BTC:15D8VaZco22GTLVrFMAehXyif6EGf8GMYV|⚒| Cryptographic Anomaly |⚒|