Bitcoin Forum
May 10, 2024, 04:37:58 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Warning: One or more bitcointalk.org users have reported that they believe that the creator of this topic displays some red flags which make them high-risk. (Login to see the detailed trust ratings.) While the bitcointalk.org administration does not verify such claims, you should proceed with extreme caution.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 »
  Print  
Author Topic: Nxt source code flaw reports  (Read 113306 times)
jl777
Legendary
*
Offline Offline

Activity: 1176
Merit: 1132


View Profile WWW
January 10, 2014, 06:20:52 PM
 #821

http://wiki.nxtcrypto.org/wiki/Whitepaper:Nxt has the outline of the NXT Whitepaper

It has a lot of holes, especially the technical details about how exactly the NXT protocol works at the detailed low level.

I am sure that the regulars on this thread can quickly beef up the missing details and do a much better job than what is there now. Much better.

I also think there are a few missing sections.

Often when I am stumped on a deep technical problem (like finding these injected flaws), I find that switching to english and writing out how it works clarifies things in my mind. Maybe you will get a flash of insight as you describe in detail in the whitepaper wiki.

Please help. I think the wiki magically calculates everybody's contribution and there seems to be some sort of significant bounty attached to this. This way, even if you don't find injected flaw, you can at least get part of whitepaper bounty.

James

http://www.digitalcatallaxy.com/report2015.html
100+ page annual report for SuperNET
1715359078
Hero Member
*
Offline Offline

Posts: 1715359078

View Profile Personal Message (Offline)

Ignore
1715359078
Reply with quote  #2

1715359078
Report to moderator
1715359078
Hero Member
*
Offline Offline

Posts: 1715359078

View Profile Personal Message (Offline)

Ignore
1715359078
Reply with quote  #2

1715359078
Report to moderator
1715359078
Hero Member
*
Offline Offline

Posts: 1715359078

View Profile Personal Message (Offline)

Ignore
1715359078
Reply with quote  #2

1715359078
Report to moderator
"You Asked For Change, We Gave You Coins" -- casascius
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715359078
Hero Member
*
Offline Offline

Posts: 1715359078

View Profile Personal Message (Offline)

Ignore
1715359078
Reply with quote  #2

1715359078
Report to moderator
1715359078
Hero Member
*
Offline Offline

Posts: 1715359078

View Profile Personal Message (Offline)

Ignore
1715359078
Reply with quote  #2

1715359078
Report to moderator
ricot
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 10, 2014, 06:34:28 PM
 #822

So by design the founders have the ability to increase their forging chances 73-fold???
Then this currency is dead Sad

They don't have this ability. Use math and u'll see why.

I already pointed out an attack using multiple accounts to increase forging because you only had to predict one forge before the money becomes valid. If it becomes valid right away, you don't even need to predict anything.
You can see before creating your block, which of the other founder's accounts will have the best chance at forging the next, and send the money there in the block that you are forging.
Should I do the calculations for you again that I already did?

Why aren't all accounts equal? (Bare the genesis account, of course)
Come-from-Beyond (OP)
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 10, 2014, 06:56:43 PM
 #823

Should I do the calculations for you again that I already did?

No need. We analyze the code without TF. With TF most of these problems disappear.


Why aren't all accounts equal? (Bare the genesis account, of course)

We needed special accounts coz in the beginning someone had to forge blocks. In ~5K blocks we r switching to next phase of TF when all the accounts r equal.
ricot
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 10, 2014, 07:34:12 PM
 #824

In ~5K blocks we r switching to next phase of TF when all the accounts r equal.

That's what I wanted to hear Smiley
ZeroTheGreat
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
January 10, 2014, 07:56:07 PM
Last edit: January 10, 2014, 08:21:25 PM by ZeroTheGreat
 #825

I can't answer all the questions, coz this may reveal the flaw. Sorry.
Quote
4546: if (Block.getLastBlock().height - blocks.get(commonBlockId).height < 720) {
Should be >= 720, right? Other way network'll die with peers being stucked in second half of the first day: no next blocks'es requests. As I understood.

Upd: corrected line number.
gimre
Legendary
*
Offline Offline

Activity: 866
Merit: 1002



View Profile WWW
January 10, 2014, 07:59:38 PM
 #826

I can't answer all the questions, coz this may reveal the flaw. Sorry.
Quote
4633: if (Block.getLastBlock().height - blocks.get(commonBlockId).height < 720) {
Should be >= 720, right? Other way network'll die with peers being stucked in second half of the first day: no next blocks'es requests. As I understood.

Certainly NOT. This is there to make sure we won't change "older" blocks

NemusExMāchinā
Catapult docs: https://docs.symbol.dev
github: https://github.com/symbol
ZeroTheGreat
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
January 10, 2014, 08:24:05 PM
 #827

If we look at line 4633 (I was wrong about number in previous post):
Quote
if (!futureBlocks.isEmpty() && Block.getLastBlock().height - blocks.get(commonBlockId).height < 720) {
It seems like prohibiting deep reorg condition before "synchronized".

But 4546...
Come-from-Beyond (OP)
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 10, 2014, 08:58:23 PM
 #828

If we look at line 4633 (I was wrong about number in previous post):
Quote
if (!futureBlocks.isEmpty() && Block.getLastBlock().height - blocks.get(commonBlockId).height < 720) {
It seems like prohibiting deep reorg condition before "synchronized".

But 4546...

The same, this limits depth to 720 blocks.
ZeroTheGreat
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
January 10, 2014, 09:07:09 PM
 #829

So what's the reason? There was some deleted code?

Maybe Smiley
Stopping of generating blocks from height 20001 cos signatures'll stay unverified by condition?
Quote
1250:      boolean verifyGenerationSignature() {
1251:         
1252:         try {
1253:            
1254:            if (getLastBlock().height <= 20000) {
Why was answered undirect answer? It doesn't seem like a serious flaw.
Come-from-Beyond (OP)
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 10, 2014, 09:16:23 PM
 #830

So what's the reason? There was some deleted code?

Maybe Smiley
Stopping of generating blocks from height 20001 cos signatures'll stay unverified by condition?
Quote
1250:      boolean verifyGenerationSignature() {
1251:         
1252:         try {
1253:            
1254:            if (getLastBlock().height <= 20000) {
Why was answered undirect answer? It doesn't seem like a serious flaw.

Well, I can't answer some questions that r close to the injected flaws. But sometimes I don't answer the other questions so u can't find a pattern. Wink
ZeroTheGreat
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
January 10, 2014, 09:20:16 PM
 #831

I see )
gimre
Legendary
*
Offline Offline

Activity: 866
Merit: 1002



View Profile WWW
January 10, 2014, 10:04:57 PM
 #832

So what's the reason? There was some deleted code?

Maybe Smiley
Stopping of generating blocks from height 20001 cos signatures'll stay unverified by condition?
Quote
1250:      boolean verifyGenerationSignature() {
1251:         
1252:         try {
1253:            
1254:            if (getLastBlock().height <= 20000) {
Why was answered undirect answer? It doesn't seem like a serious flaw.

there is else block below. This (split into if<=20000) was probably done when alias system was added to the code

NemusExMāchinā
Catapult docs: https://docs.symbol.dev
github: https://github.com/symbol
ricot
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 10, 2014, 11:22:39 PM
 #833

I just posted a proposal to fix the account number typo-problem over at the official forums:
https://forums.nxtcrypto.org/viewtopic.php?f=17&t=524 <- making NXT account numbers awesome!

What do you think about that?
aorith
Member
**
Offline Offline

Activity: 84
Merit: 10



View Profile
January 10, 2014, 11:28:33 PM
 #834

I just posted a proposal to fix the account number typo-problem over at the official forums:
https://forums.nxtcrypto.org/viewtopic.php?f=17&t=524 <- making NXT account numbers awesome!

What do you think about that?

Looks good, waiting to see the code!

BTC: 1Pc2BrecisYLZ2FSFEgCn16ogTHjopqEey  LTC: LM1XBHF8Ccv2vdgh3kqCqPaGkWGhzRMxjw
NXT: 3946500435546198781
ricot
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 10, 2014, 11:36:58 PM
 #835

Looks good, waiting to see the code!

Just updated the original post at nxtcrypto. Smiley
opticalcarrier
Full Member
***
Offline Offline

Activity: 238
Merit: 100



View Profile
January 11, 2014, 12:41:29 AM
 #836

I just posted a proposal to fix the account number typo-problem over at the official forums:
https://forums.nxtcrypto.org/viewtopic.php?f=17&t=524 <- making NXT account numbers awesome!

What do you think about that?

thanks for posting that there.  I went to the alt-client forum there and asked all the devs there who have done their own client to implement this.

lol think of the possibilities of vanity accounts with alphanumeric!  actually, probably not many.  the forward error correction would most likely prohibit most words from being used
msin
Legendary
*
Offline Offline

Activity: 1470
Merit: 1004


View Profile
January 11, 2014, 02:35:33 AM
 #837

Nice work ricot, sounds like a great option.
getfun12345
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
January 11, 2014, 04:36:56 AM
 #838

The API "broadcastTransaction"  doesn't check the transaction is valid.
If attacker send a transaction with large size, the transaction will be broadcasted to all peers, and the network will stuck.
Come-from-Beyond (OP)
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
January 11, 2014, 07:10:57 AM
 #839

The API "broadcastTransaction"  doesn't check the transaction is valid.
If attacker send a transaction with large size, the transaction will be broadcasted to all peers, and the network will stuck.

It won't be broadcasted to all peers. Peers validate transactions.
getfun12345
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
January 11, 2014, 07:15:58 AM
 #840

The API "broadcastTransaction"  doesn't check the transaction is valid.
If attacker send a transaction with large size, the transaction will be broadcasted to all peers, and the network will stuck.

It won't be broadcasted to all peers. Peers validate transactions.

But the public node who received this huge transaction, will busy to broadcasting it, can't do anything else.
The attacker can cause more damage by using less data. Depends on the peers connected to this public node.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!