Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: antonimasso on December 23, 2014, 08:06:38 AM



Title: Proof of Work
Post by: antonimasso on December 23, 2014, 08:06:38 AM
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


Title: Re: Proof of Work
Post by: shorena on December 23, 2014, 08:42:41 AM
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


Title: Re: Proof of Work
Post by: antonimasso on December 23, 2014, 09:01:15 AM
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?



Title: Re: Proof of Work
Post by: Buffer Overflow on December 23, 2014, 09:23:27 AM
The block header will be exactly 80 bytes in length.
You need to hash the header in binary format, not text format.


Title: Re: Proof of Work
Post by: antonimasso on December 23, 2014, 09:27:33 AM
Yes, but to build the header I need to know the nBits and I don't know where to find that value.


Title: Re: Proof of Work
Post by: domob on December 23, 2014, 09:35:22 AM
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.


Title: Re: Proof of Work
Post by: antonimasso on December 23, 2014, 09:59:18 AM
Ok, thanks I'll try to write a tutorial with the information given here.