Bitcoin Forum
May 02, 2024, 05:42:43 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
"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.
1714671763
Hero Member
*
Offline Offline

Posts: 1714671763

View Profile Personal Message (Offline)

Ignore
1714671763
Reply with quote  #2

1714671763
Report to moderator
1714671763
Hero Member
*
Offline Offline

Posts: 1714671763

View Profile Personal Message (Offline)

Ignore
1714671763
Reply with quote  #2

1714671763
Report to moderator
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


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: 1161


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!