Bitcoin Forum
November 19, 2017, 05:19:29 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Target difficulty value, enough bits in nonce?  (Read 1475 times)
forgotmypassword6x
Newbie
*
Offline Offline

Activity: 8


View Profile
April 19, 2011, 07:59:06 PM
 #1

What is the format of the target difficulty?

e.g. looking at a recent block

http://blockexplorer.com/block/0000000000009e3acd91fa2a9b330b7172ef039997b1207274553e4e3dab468e

The first 12 chars are 0, suggesting the current difficulty is first 6bytes 0 = 48 bits (maybe up to 3 more hidden in high order bits of that 9).

The block header has:
Difficulty?: 92 347.590952 ("Bits"?: 1b00b5ac)

how do I go from that difficulty value to the # of bits?


On the other hand, the nonce field is only 32 bits, so for most block headers, there is likely *no* nonce that hashes to first 48 bits zero, and the only reason a valid nonce is because something else in the header is changing to add more entropy (like added transactions changing the merkle root)

I'm hoping this is wrong, as this would be a really dumb bug and should be fixed immediately if it's the case (by making the nonce atleast the maximum difficulty ever, say 128 bits).  What am I missing?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1511068769
Hero Member
*
Offline Offline

Posts: 1511068769

View Profile Personal Message (Offline)

Ignore
1511068769
Reply with quote  #2

1511068769
Report to moderator
1511068769
Hero Member
*
Offline Offline

Posts: 1511068769

View Profile Personal Message (Offline)

Ignore
1511068769
Reply with quote  #2

1511068769
Report to moderator
1511068769
Hero Member
*
Offline Offline

Posts: 1511068769

View Profile Personal Message (Offline)

Ignore
1511068769
Reply with quote  #2

1511068769
Report to moderator
theymos
Administrator
Legendary
*
expert
Offline Offline

Activity: 2842


View Profile
April 19, 2011, 08:08:37 PM
 #2

The scriptSig of the generation input is changed when the nonce overflows, which changes the Merkle root.

"Bits" expands to a 256-bit target number, which the hash must be below. Current target:
http://blockexplorer.com/q/hextarget

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
Pieter Wuille
Legendary
*
qt
Offline Offline

Activity: 1050


View Profile WWW
April 20, 2011, 08:24:33 AM
 #3

And there is another nonce inside the coinbase transaction, which is updated every time the nonce in the header overflows. Furthermore there is added entropy using the timestamp, and the public key of the miner.

aka sipa, core dev team

Tips and donations: 1KwDYMJMS4xq3ZEWYfdBRwYG2fHwhZsipa
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!