0

Me and my friend decided to try to mine cryptocurrencies using somewhat old (few years old) unused but somewhat decent gaming PC. We decided to create or join a mining pool to double our processing power.

Since, the coin reward in mining pool is gonna be divided by members of a pool.

I wonder, if there is a possibility for two or more nodes in mining pool to mine a block using the same nonce?

I am guessing that this is not an efficient strategy to pool mine. It would create a sub-optimal strategy to pool mine, because if two or more nodes that are supposed to work together, are gonna waste power to calculate a block using a used (calculated) nonce- that is already used (calculated) by your friend in the pool.

This would even decrease the doubling (multiplication) of computing power.

In fact, there would not be any different that non-pooled miners (all competing to calculate the valid hash). Except that pooled-miners need to split the rewarded coins, while the non-pooled miners would keep all their rewarded coins. Am I correct? Or do they (competing miners) even coordinate and mark used (calculated) nonce across the network?

I am sorry, if I haven't completely understood the details yet.

In pool mining softwares, do they prevent this (calculate using same calculated-nonce) from occurring in general, like do they (the mining software) coordinate the nodes to mine using different nonces? Is there a protocol (rules) to prevent this from happening in bitcoin or any other cryptos in general? Or will it be just implementation dependent? If so, how to find mining software that could coordinate pool mining in an efficient way?

I am still quite new in cryptocurrencies in general, I am sorry if there are any mistakes in my understanding, I am greatly thankful if you could correct them.

3
  • anyway, i found this: investopedia.com/tech/how-do-mining-pools-work so it seems that the answer to the question is no.. but i'm not sure too, since i am not expert.
    – tek27
    Commented Apr 26, 2021 at 4:10
  • 1
    Are these miners both trying to mine the same block or different blocks? In the latter case there's no duplication of effort in both using the same nonce.
    – WillO
    Commented May 28, 2021 at 1:52
  • I am uncertain if it's still relevant, but mining pools create different block templates for each miner, they may change coinbase content by adding entropy to its sigScript, or even change the order of transactions inside it. Mining with the same nonce is not a problem, actually, this always happens since the nonce space is small. But you're still mining a different block. Commented Jan 20, 2022 at 20:17

3 Answers 3

2

In pool mining softwares, do they prevent this (calculate using same calculated-nonce) from occurring in general, like do they (the mining software) coordinate the nodes to mine using different nonces? Is there a protocol (rules) to prevent this from happening in bitcoin or any other cryptos in general? Or will it be just implementation dependent? If so, how to find mining software that could coordinate pool mining in an efficient way?

No. That's not how pool mining works, or could work.

Realistic mining hardware tries every possible nonce in a tiny fraction of a second. There would be no point in trying to micro-manage which clients try which nonces.

Instead, every client is trying to find a nonce for a different block. And, in realistic cases, a single client may be trying to find nonces for many different possible blocks at the same time.

There are only 4 billion possible nonces for a given block and realistic, modern mining hardware tests trillions of nonces per second. Trying to micro-manage which nonces clients attempt would be absurdly inefficient. It makes much more sense to attempt to mine large numbers of possible blocks at the same time and allow the mining hardware to try every nonce for every possible block, as it was designed to do.

0

You are correct: it would be suboptimal for a mining pool to allow two or more miners to hash the same set of transactions (root hash), timestamp, nonce, etc. To avoid this redundancy, theoretically you can design a pool app that provides different sets of timestamps, transactions, or nonce ranges to different miners. In practice, what is provided to different miners is different extranonce, which is used in generating the coinbase transaction, which is part of the full set of transactions to be added to a block. This effectively means different miners get different sets of transactions to mine, and so they can iterate through the same space (2^32 possibilities) of nonces while not being redundant.

-1

As I understand this. The nonce is the response to the mining hardware. Nodes process transactions AND this is not mining. The mining produces the nonce the core adds transactions and distributes them (according to block level).

This is an artifact of early bitcoin development from pre-2010 release of "theory technology". You would have a hard time finding any information on this now a days. Good luck @ the onion.

Your Answer

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

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