Bitcoin Forum

Bitcoin => Mining => Topic started by: drawingthesun on April 19, 2013, 07:47:18 AM



Title: How are hashes progressed?
Post by: drawingthesun on April 19, 2013, 07:47:18 AM
This is a proof of work quesion.

As I understand the algorithm, the past hash found is used to create the new hash,  but a nounce is added on the end.

Questions..

Is this nounce the thing that is changed to create a different hash?
The hashes are run until a hash with the correct amount of zeros is found, then the process starts again...

However, how does the hash get incremented? If you looked over the millions of hashes your GPU produces every second, are they all the same with a slight difference?


Title: Re: How are hashes progressed?
Post by: Dexter770221 on April 19, 2013, 08:01:51 AM
... are they all the same with a slight difference?
Yes, only last 4 bytes (32 bits) are incremented locally by GPU. That's little over 4 billion (2^32) hashes. If your GPU can do 500MH/s then all possible hashes will be checked in little more than 8 seconds and then mining software should throw next "work" for GPU. In one "work" unit you may find few nonces that will have proper value (share) but there'e possibility that there will be none. Luck, variance, but overall it should be 1:1.


Title: Re: How are hashes progressed?
Post by: drawingthesun on April 19, 2013, 08:06:26 AM
... are they all the same with a slight difference?
Yes, only last 4 bytes (32 bits) are incremented locally by GPU. That's little over 4 billion (2^32) hashes. If your GPU can do 500MH/s then all possible hashes will be checked in little more than 8 seconds and then mining software should throw next "work" for GPU. In one "work" unit you may find few nonces that will have proper value (share) but there'e possibility that there will be none. Luck, variance, but overall it should be 1:1.

How is one "work unit" different from another "work unit"?

So for every 500MH/s you get 1 "work unit" every 8 seconds, how are these different from each other?