Bitcoin Forum
May 21, 2024, 08:56:55 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Proof of Work  (Read 882 times)
antonimasso (OP)
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
December 23, 2014, 08:06:38 AM
 #1

Hello,

I'm having a hard time trying to find what is exactly being hashed ( plus the nonce ) to find the string with enough 0's.
I've tried the previous tx hash, the current and previous Merkle root, but no luck.

Does anyone know?

Thanks
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
December 23, 2014, 08:42:41 AM
 #2

A little intro into PoW can be found in the wiki [1], more can be found in the whitepaper[2] and the dev guide [3].
In short: you hash the header [4] which includes the nounce as well as the merkle root hash (thus a different set of transactions result in a different blockhash even if the nonce is the same) the previous blocks hash etc. (see [4] for details)


[1] https://en.bitcoin.it/wiki/Proof_of_work
[2] https://bitcoin.org/bitcoin.pdf   -  chapter 4
[3] https://bitcoin.org/en/developer-guide#proof-of-work
[4] https://bitcoin.org/en/developer-reference#block-headers

Im not really here, its just your imagination.
antonimasso (OP)
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
December 23, 2014, 09:01:15 AM
 #3

Thanks for the reply.
There is one piece of information from the block header I don't know where to get it from. It says the target threshold is needed, but does not say what it is. Is it the current difficulty?

Buffer Overflow
Legendary
*
Offline Offline

Activity: 1652
Merit: 1015



View Profile
December 23, 2014, 09:23:27 AM
 #4

The block header will be exactly 80 bytes in length.
You need to hash the header in binary format, not text format.

antonimasso (OP)
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
December 23, 2014, 09:27:33 AM
 #5

Yes, but to build the header I need to know the nBits and I don't know where to find that value.
domob
Legendary
*
Offline Offline

Activity: 1135
Merit: 1166


View Profile WWW
December 23, 2014, 09:35:22 AM
 #6

Yes, but to build the header I need to know the nBits and I don't know where to find that value.
It is a representation of the difficulty in a particular format.  You can look at the code to find out, or probably there are also guides/docs somewhere about it.

Use your Namecoin identity as OpenID: https://nameid.org/
Donations: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS | GPG 0xA7330737
antonimasso (OP)
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
December 23, 2014, 09:59:18 AM
 #7

Ok, thanks I'll try to write a tutorial with the information given here.
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!