Bitcoin Forum
June 03, 2024, 02:25:45 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Vulnerability found that affects privacy of OLD miners, including Satoshi  (Read 1272 times)
Sergio_Demian_Lerner (OP)
Hero Member
*****
expert
Offline Offline

Activity: 554
Merit: 648


View Profile WWW
April 17, 2013, 11:15:51 AM
Last edit: April 17, 2013, 11:59:43 AM by Sergio_Demian_Lerner
 #1

Check the thread https://bitcointalk.org/index.php?topic=178629.0 or my blog http://bitslog.wordpress.com/2013/04/17/the-well-deserved-fortune-of-satoshi-nakamoto/.

The loss of anonymity can give Bitcoin economists and historians a great opportunity to compute interesting metrics about mining in general and the role of Satoshi in the project inception years.

The vulnerability relies on the use of the extraNonce field. The extraNonce fields increments every time the nonce fields (which is 32 bits) overflows, so it's a slow realtime clock, until the application is restarted, in which case it goes back to 1.

I haven't checked all versions of the Satoshi client, but I believe  all are affected by the vulnerability.
 
GMaxwell have carefully analyzed each version and found that only the oldest ones were vulnerable, but not after October 2010 (e.g. v0.3.14) .

Best regards, Sergio.
Rampion
Legendary
*
Offline Offline

Activity: 1148
Merit: 1018


View Profile
April 17, 2013, 11:19:35 AM
 #2

Sergio: you are brilliant.

Thanks for your work!

gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4200
Merit: 8439



View Profile WWW
April 17, 2013, 11:41:32 AM
Last edit: April 17, 2013, 11:54:45 AM by gmaxwell
 #3

I haven't checked all versions of the Satoshi client, but I believe  all are affected by the vulnerability.
When you say you haven't checked 'all versions' you mean to say 'any versions except one really old one'?

Currently it's reset on every block:
Code:
    if (hashPrevBlock != pblock->hashPrevBlock)
    {
        nExtraNonce = 0;
        hashPrevBlock = pblock->hashPrevBlock;
    }

I don't mind correcting you because that took all of two seconds ... but ... really?  "vulnerability"?

What is your motivation in not spending two seconds to actually look before claiming that "all are affected by the vulnerability"?

Even back in October 2010 (e.g. v0.3.14):
Code:
            if (nNewTime != pblock->nTime && bnExtraNonce > 10)
                bnExtraNonce = 0;
It also spent some time with the wrap at 0x7f.

Sergio_Demian_Lerner (OP)
Hero Member
*****
expert
Offline Offline

Activity: 554
Merit: 648


View Profile WWW
April 17, 2013, 11:55:51 AM
 #4

Great GMaxwell!

Now we see your work with mine work can be complemented.

It didn't understood the "if (hashPrevBlock != pblock->hashPrevBlock)" line of code, so I thought the counter only reset on orphan blocks..
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4200
Merit: 8439



View Profile WWW
April 17, 2013, 12:16:52 PM
 #5

so I thought the counter only reset on orphan blocks..
Why did you claim it was only reset on restart?
🏰 TradeFortress 🏰
Bitcoin Veteran
VIP
Legendary
*
Offline Offline

Activity: 1316
Merit: 1043

👻


View Profile
April 17, 2013, 12:20:43 PM
 #6

Nice find Sergio. Quite old vulnerability through
Sergio_Demian_Lerner (OP)
Hero Member
*****
expert
Offline Offline

Activity: 554
Merit: 648


View Profile WWW
April 17, 2013, 01:37:52 PM
 #7

so I thought the counter only reset on orphan blocks..
Why did you claim it was only reset on restart?

Because I know nothing about Bitcoin.

If you paid me a salary I would spend time checking every word I said. Because I'm not being paid, I use vague words so people that work on Bitcoin AS A JOB can go and check all the infinite ramifications of my words, and they should, because their money is at stake and I'm a human being that can be mistaken.
 
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4200
Merit: 8439



View Profile WWW
April 17, 2013, 04:04:40 PM
 #8

I hereby grant you exactly the salary I receive for working on Bitcoin. Tongue
Pages: [1]
  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!