1

I understand that each miner is working on a different block. Correct me if I'm wrong but this is because the first transaction in a block basically contains my wallet address so I can receive the bonus of solving the block. Obviously everyone wants to receive the bonus so that first transaction will be pointing to everyone's separate wallet addresses.

Assume that I have two computers solo mining with both pointing to my wallet address, wouldn't this mean my computers are solving the same block? Continuing with this train of thought, wouldn't that mean that my slower computer is basically useless because it would be generating the same hashes as my faster computer?

Now how does this apply to pooled mining? In a pooled community, is everyone solving the same block which has the first transaction pointing to the pool owner who then distributes the coins?

2 Answers 2

2

Regarding pools: when working for a pool, the computer who solves the block doesn't credit its owner directly - it rather credits the pool's bitcoin address. The pool manager then tallies how much work each of the pooled miners delivered for the block, and proceeds to pay them proportionally to it - minus the fee the pool takes, of course.

The only exception is a P2Pool, which work with no centralized pool manager. In these type of pools, each of the peers in the pool ensure they're appropriately credited for their work when a candidate block solution arises.

As far as I know, you can configure your 2 solo-mining computers to either use each their own address or one for both. And no: even if both were using their own addresses and working independently, the processing power of the slower one is not completely wasted. Solving a block is highly random, there's not much chance both would be trying the exact same nonces in sequence. Rather, they'd each try a different set of nonces to solve the block. Obviously, in the long run the faster one will find answers more frequently than the slower one.

2

I think you have a misunderstanding about how solo mining works. You don't keep using the same address. You generate an ephemeral address and, if you mine a block, you keep its private key and then start using a new address.

If both miners are getting work from the same node, then the node will never assign both miners the same work. If both miners are getting work from different nodes, then they will get different ephemeral addresses.

(If I recall correctly, at one time addresses were reused for mining. But this could cause a very serious problem even with only one miner -- two coinbase transactions in two different blocks could have the same transaction ID!)

3
  • 1
    Note for ya David (and others in the future): For those who know python (or at least use a config file) you set up a mining server like slush0's example stratum-mining-server. You can use the same wallet over and over again with that. I know this might not be quite what you were thinking, but its possible. It's in the coinbaser section of slush0's code i believe. (just a little extra info for those in the future wondering. As you said already you were correct that the same address is used more than once by some pools.
    – Joe White
    Jan 6, 2014 at 10:39
  • Hmm I never knew about the ephemeral address. What do you mean by "node"? Is that just the next closest computer who's mining on the network?
    – Aust
    Jan 6, 2014 at 17:13
  • @Aust The "node" is the computer that is part of the Bitcoin network that is providing information to your miner(s). If you are solo mining, you control it. If you are pool mining, your pool operator does. Jan 6, 2014 at 17:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.