Pages:
Author

Topic: Nxt source code flaw reports - page 6. (Read 113312 times)

newbie
Activity: 7
Merit: 0
February 23, 2014, 07:14:30 PM
The block hash is excluded from generation signature.

Code:
    block.payloadHash = digest.digest();

    // ???

    block.generationSignature = Crypto.sign(Block.getLastBlock().generationSignature, secretPhrase);

Flaw: Blocks can be mutated after the fact, by the account which generated the block.
legendary
Activity: 2142
Merit: 1009
Newbie
February 23, 2014, 05:57:30 PM
The block payload hash and generation signature excluded from the block signature.

Code:
			byte[] data = block.getBytes();
byte[] data2 = new byte[data.length - 64];
System.arraycopy(data, 0, data2, 0, data2.length);
block.blockSignature = Crypto.sign(data2, secretPhrase);

These bytes shouldn't be excluded from the generation signature or the block signature.

The code above, surrounding code, and relevant code in verifyBlockSignature() and verifyGenerationSignature() is fatally flawed.

No, only placeholder for block signature is excluded.
newbie
Activity: 7
Merit: 0
February 23, 2014, 05:53:15 PM
The block payload hash and generation signature excluded from the block signature.

Code:
			byte[] data = block.getBytes();
byte[] data2 = new byte[data.length - 64];
System.arraycopy(data, 0, data2, 0, data2.length);
block.blockSignature = Crypto.sign(data2, secretPhrase);

These bytes shouldn't be excluded from the generation signature or the block signature.

The code above, surrounding code, and relevant code in verifyBlockSignature() and verifyGenerationSignature() is fatally flawed.
legendary
Activity: 1498
Merit: 1000
February 21, 2014, 12:34:43 PM

Critical flaw description:
Code:
Only 64 bits of the previous block hash are used. This gives ability to inject blocks with another set of transactions.

SHA256-hash:
Code:
888f278c773d39b8334a651d84ee78871bd0e5d45e09be8fdb190ba1b2969530

You are telling me BCNxt solved tx malleability?

No. But malleability is not a problem for Nxt, it can be easily solved by any Java coder.

Is this bug going to be fixed in Nxt?

Right now Nxt uses Java long (64 bits) to encode the previous block hash. 
Why don't YOU fix it? After all YOU are the code GURU Tongue

Because it can't be fixed for Nxt without destroying the entire block chain.   
Why do you care? You have your own blockchain without this bug Wink
Let it crash & burn!
legendary
Activity: 868
Merit: 1000
Cryptotalk.org - Get paid for every post!
February 21, 2014, 12:15:01 PM

Critical flaw description:
Code:
Only 64 bits of the previous block hash are used. This gives ability to inject blocks with another set of transactions.

SHA256-hash:
Code:
888f278c773d39b8334a651d84ee78871bd0e5d45e09be8fdb190ba1b2969530

You are telling me BCNxt solved tx malleability?

No. But malleability is not a problem for Nxt, it can be easily solved by any Java coder.

Is this bug going to be fixed in Nxt?

Right now Nxt uses Java long (64 bits) to encode the previous block hash. 
Why don't YOU fix it? After all YOU are the code GURU Tongue

Because it can't be fixed for Nxt without destroying the entire block chain.   
legendary
Activity: 1498
Merit: 1000
February 21, 2014, 12:03:29 PM

Critical flaw description:
Code:
Only 64 bits of the previous block hash are used. This gives ability to inject blocks with another set of transactions.

SHA256-hash:
Code:
888f278c773d39b8334a651d84ee78871bd0e5d45e09be8fdb190ba1b2969530

You are telling me BCNxt solved tx malleability?

No. But malleability is not a problem for Nxt, it can be easily solved by any Java coder.

Is this bug going to be fixed in Nxt?

Right now Nxt uses Java long (64 bits) to encode the previous block hash. 
Why don't YOU fix it? After all YOU are the code GURU Tongue
legendary
Activity: 868
Merit: 1000
Cryptotalk.org - Get paid for every post!
February 21, 2014, 10:25:44 AM

Critical flaw description:
Code:
Only 64 bits of the previous block hash are used. This gives ability to inject blocks with another set of transactions.

SHA256-hash:
Code:
888f278c773d39b8334a651d84ee78871bd0e5d45e09be8fdb190ba1b2969530

You are telling me BCNxt solved tx malleability?

No. But malleability is not a problem for Nxt, it can be easily solved by any Java coder.

Is this bug going to be fixed in Nxt?

Right now Nxt uses Java long (64 bits) to encode the previous block hash. 

legendary
Activity: 2142
Merit: 1009
Newbie
February 20, 2014, 02:59:00 AM

Critical flaw description:
Code:
Only 64 bits of the previous block hash are used. This gives ability to inject blocks with another set of transactions.

SHA256-hash:
Code:
888f278c773d39b8334a651d84ee78871bd0e5d45e09be8fdb190ba1b2969530

You are telling me BCNxt solved tx malleability?

No. But malleability is not a problem for Nxt, it can be easily solved by any Java coder.
hero member
Activity: 924
Merit: 1001
Unlimited Free Crypto
February 19, 2014, 10:34:43 PM

Critical flaw description:
Code:
Only 64 bits of the previous block hash are used. This gives ability to inject blocks with another set of transactions.

SHA256-hash:
Code:
888f278c773d39b8334a651d84ee78871bd0e5d45e09be8fdb190ba1b2969530

You are telling me BCNxt solved tx malleability?
hero member
Activity: 731
Merit: 503
Libertas a calumnia
February 19, 2014, 02:55:58 PM
TY very much, smaragda
hero member
Activity: 731
Merit: 503
Libertas a calumnia
February 19, 2014, 01:52:20 PM
Hello,
I see that two of the bounties have already been claimed, is it possible to know which flaws where without having to read all the thread? Smiley

Thanks
legendary
Activity: 2142
Merit: 1009
Newbie
February 17, 2014, 10:08:49 AM
Just as a random gander because it seems too simple ... The fatal flaw couldn't be that the genesis block is hardcoded into the source? Right?

That is, I say the fatal flaw is that the NXT genesis block is hardcoded into the source, so copycoins could theoretically connect to a nxt node and think the next legit block is that second block in the NXT chain, and then end up trying to download the entire Nxt chain instead of starting a new one for a separate coin.

I think the chance is slim that this is the correct answer, but hey, just in case it really is that simple.

No, a copycoin won't download Nxt blockchain if it has another genesis.
member
Activity: 95
Merit: 10
That guy, you know, with the face
February 17, 2014, 10:01:28 AM
Just as a random gander because it seems too simple ... The fatal flaw couldn't be that the genesis block is hardcoded into the source? Right?

That is, I say the fatal flaw is that the NXT genesis block is hardcoded into the source, so copycoins could theoretically connect to a nxt node and think the next legit block is that second block in the NXT chain, and then end up trying to download the entire Nxt chain instead of starting a new one for a separate coin.

I think the chance is slim that this is the correct answer, but hey, just in case it really is that simple.
hero member
Activity: 910
Merit: 1000
February 15, 2014, 12:56:21 PM
Nice.
hero member
Activity: 687
Merit: 500
February 14, 2014, 01:49:34 PM
I am busy coding other stuff at the moment.
hero member
Activity: 910
Merit: 1000
February 14, 2014, 10:37:21 AM
Come on, guys. Find the flaw!
member
Activity: 95
Merit: 10
That guy, you know, with the face
February 09, 2014, 01:43:46 AM
Jeeps ... only took me 8 days to finally get to the end of this thread, kudos to the many more experienced java coders than me that trudged through that beast of a file.

Even so it seems that the fatal flaw has not been found, I might not be able to get in much time to really tear into the logic in the code, with recent snow days I had a little time to delve into it, but I'll try in what time I can find anyhow.

Smaragda, gimre, ricot, ImmortAlex, doctorevil et al. (sorry if I forgot all your names >_<) awesome stuff!

Also curious as to why this thread has been silent for days... O.o
full member
Activity: 224
Merit: 100
February 07, 2014, 10:18:24 PM
100K reward should go to him

https://nextcoin.org/index.php/topic,3884

Indeed, he got a bounty of 10 btc though. The priority whos getting bountys or not isnt the most logical one. This was a HUGE bug and deserved a lot more attention. Instead they arguing about who getting a part of the 10M nxt and they can give some guy 250k for client. The priorites arent clear. There does not seem to exist any form of true leadership or core team. End of discussion.

"If we have nothing else to do, we can always vote on something."

Regards
j0b

As far as I know, there was no reward at all, but c-f-b decided to reward him 10 BTC anyways. Plus, there is still the 100k bounty for the the fatal flaw...
full member
Activity: 137
Merit: 100
February 07, 2014, 04:05:43 PM
100K reward should go to him

https://nextcoin.org/index.php/topic,3884

Indeed, he got a bounty of 10 btc though. The priority whos getting bountys or not isnt the most logical one. This was a HUGE bug and deserved a lot more attention. Instead they arguing about who getting a part of the 10M nxt and they can give some guy 250k for client. The priorites arent clear. There does not seem to exist any form of true leadership or core team. End of discussion.

"If we have nothing else to do, we can always vote on something."

Regards
j0b
hero member
Activity: 644
Merit: 500
February 07, 2014, 03:51:25 PM
100K reward should go to him

https://nextcoin.org/index.php/topic,3884
Pages:
Jump to: