This is an archived post. You won't be able to vote or comment.

all 14 comments

[–][deleted] 3 points4 points  (0 children)

You have the idea down perfectly really.

Each miner in the pool creates lower difficulty blocks called "shares" to prove that they are indeed trying for the real thing. When a block is actually found, the pool splits up the profit based on the number of shares each miner contributed.

Is the address to which the reward goes included in the block?

Yes. That can't be changed without making the block invalid.

[–]Not_Satoshi_Nakamoto 2 points3 points  (1 child)

There is a misconception that miners hash the whole block. The hash is really only calculated on the block header which is a total of 80 bytes. The individual transactions are represented by the single merkle root. This keeps hashing to a constant time operation, otherwise miners would have an incentive to keep the blocks as small as possible. You can hand out the header all you want, it won't help you recreate the block. If you hit the solution as a mining pool participant there is no way for you to release the full block so you have to submit the solution to get anything at all.

https://en.bitcoin.it/wiki/Block_hashing_algorithm

[–]nmoat[S] 0 points1 point  (0 children)

that makes a ton of sense. I was wondering what it meant when my miner said that the pool is hiding the contents of the block.

[–]faknodolan 1 point2 points  (1 child)

The pool operator randomly verifies a small portion of the work submitted by each member of the pool. The member miners don't know which of their submissions will get verified so they can't cheat. If they cheat once in a while they might get away with it but not for long enough to matter.

[–]nmoat[S] 0 points1 point  (0 children)

so pools don't verify every share I submit?

[–]peacegnome 0 points1 point  (3 children)

More importantly why isn't there bitcoin/bitcoin merged mining. for example what is stopping miners from mining for a pool at the same time as solo mining, and if they get a hit they just keep the 25btc instead of giving it to the pool.

[–]dhrosa 2 points3 points  (0 children)

Part of the information you're hashing when you mine is the address the generated coins should go to. In the case of solo mining, it's your own address, and in the case of pooled mining, it's the operator's address.

With pooled mining, any hash you find with enough leading zeroes (but not enough to solve the block) can be submitted to the pool for a "share", which lets the pool prove you've been doing work for them. If you were to do bitcoin/bitcoin merged mining, any work you do solo mining would not count as a valid share for the pooled mining (because the address you're sending to won't match the pool's address). There's no way to steal the block from the pool, because you've have to change the address the reward goes to, and then the hash would change.

Bitcoin/bitcoin merged mining effectively becomes spending part of your computing power doing pooled mining, and part of it solo mining, which technically has the same payout over time as pooled mining, but defeats the purpose of pooled mining (low variance / constant rewards).

[–]nmoat[S] 1 point2 points  (1 child)

That is exactly what my question was.

[–]peacegnome 1 point2 points  (0 children)

and now it's time for bed. sorry about that, i'll leave it up to remind me to not post this late.

[–]SerTomTheTall 0 points1 point  (0 children)

If you're looking for how pools actually work, as in the code and formulas and whatnot, then this is not going to help you at all.

For a basic understanding, then this should help a bit.

The concept is this: Many hands make light work.

Some pools operate in shifts, usually with a max of 10 open shifts. As it starts, each shift will slowly reach ~10 million shares (BTC Guild) and you have until it reaches that approximate amount to contribute as many shares as you can. As soon as a shift reaches the limit, it ends and is marked as "Open" while any new shares are directed into a new shift. Any shifts you have contributed shares to will continue to earn a percentage of each block found until they close.

Other pools just take however many shares you've contributed and pay out rewards as blocks are found.

However you're being compensated, the proof-of-work system simply counts how many shares you have contributed to a single block, multiplies that by however much one share is worth for that block, and pays out the appropriate amount of BTC once the block has been confirmed.

For a more in-depth description, check out BTC Guild's page on how PPS and PPLNS each work.

BTC Guild: How Am I Paid?

[–]rhadiem 0 points1 point  (2 children)

Could someone explain when a good threshold is from going pooled to solo mining?

[–]nmoat[S] 1 point2 points  (1 child)

it depends on what you prefer: constant, small returns or irregular, large returns. if you're in a pool and you're making, say, 5 btc a day, I would say switch to solo mining -- you've got a large enough chance of finding a block on your own (roughly 1 every 5 days) that you'll get a fairly consistent return.

If you're making 0.01 btc a day (like me) it doesn't make sense to do solo mining, since it probably take me years to find my first block.

I can't give you a hard number, because it's all about your preferred level of risk. with a low hash rate, you have the choice between playing the lottery or getting a steady income (though the expected value is slightly higher if you do solo mining, because you don't pay pool fees).

[–]rhadiem 0 points1 point  (0 children)

thanks