Bitcoin Forum

Other => Beginners & Help => Topic started by: Tobin on June 16, 2011, 09:46:25 AM



Title: What exactly is a "share"
Post by: Tobin on June 16, 2011, 09:46:25 AM
Hi, I am a Newbie  ::). I would be glad if someone could help me.

I already have searched but could not find the answer to the following question: What amount of work is a "share" when mining and how can I find out the expected number of shares I am going to calculate in one hour given a mining speed of n MH/s? Does this depends on the pool?

Thanks in advance.


Title: Re: What exactly is a "share"
Post by: waterproofdog on June 16, 2011, 09:52:29 AM
Hi, I am also a newbie but ive been intrested in this.

I found on this page: https://en.bitcoin.it/wiki/Cpu_Miner (https://en.bitcoin.it/wiki/Cpu_Miner)

Quote
If a block hash with at least 32 consecutive zero bits is found, the block data containing the guessed nonce value is sent back to the server. If used in Pooled Mining mode, this block is called a "share" because the server is supposed to credit the registered user's account, according to the number of shares that user has contributed, and eventually transfer an amount of bitcoins to the registered user's address.

I'm not sure how you can calculate the amount of hashes per second from it though.


Title: Re: What exactly is a "share"
Post by: Tobin on June 16, 2011, 10:20:32 AM
Okay, if this is correct, the propability of finding such a hash is
(2^224) / (2^256) ~= 2.32830644 10^-10

1 MH/s are 1000000 hashes per second, hence the estimated number of blocks in one minute is
E(n)/m = (2^224) / (2^256) * n * 10^6 * 60

For n=100 (100 MH/s) we thus expect 1.39698386 shares per minute, resp. 83.8190317 shares per hour.

Is this correct?


Title: Re: What exactly is a "share"
Post by: Buzzard on June 16, 2011, 10:32:52 AM
Hi, I am a Newbie  ::). I would be glad if someone could help me.

I already have searched but could not find the answer to the following question: What amount of work is a "share" when mining and how can I find out the expected number of shares I am going to calculate in one hour given a mining speed of n MH/s? Does this depends on the pool?

Thanks in advance.

Done some reading myself, and what I've gathered....

You start working in a pool. 
The pool's server sends your miner a simple piece to work on. 
Your piece, when completed, gains you 1 share. (repeat with new piece)
When the block is solved, all the completed shares get equal parts of the BTC reward.
Share pool is cleared, start new block.

Now as for the number of shares....  We're 'Brute Forcing' the answers.  We could get lucky and hit the magic number in 30 seconds, or 3 hours.
With Slush's pool ( http://mining.bitcoin.cz ) there's a nice estimate window on the Account page for the current block, to go along with all the other interesting numbers.


Title: Re: What exactly is a "share"
Post by: Pieter Wuille on June 16, 2011, 10:49:26 AM
Shares are how pools keep track of how much work every miner did.

The work they send you are valid and real bitcoin data. As defined by the miner algorithm, your system will report back any nonces it finds that make the integer value of the resulting double sha256 hash low enough.

To be a real block, the hash (when written in hexadecimal) must currently be lower than:

  0000000000001321850000000000000000000000000000000000000000000000

When you're mining in a pool, the servers asks you to not only report real blocks (as those are very rare), but also to report almost-blocks, whose hash value is only below:

  0000000100000000000000000000000000000000000000000000000000000000

These almost-blocks are called shares, and are significantly easier to find, but most importantly, they also include the real blocks, which is were pools get there income to distribute from.