Author

Topic: Solo mining and extranonce handling (Read 140 times)

member
Activity: 100
Merit: 29
March 21, 2021, 05:09:42 AM
#3
Thanks @mikeywith for your helpful and informative feedback.
legendary
Activity: 2394
Merit: 6581
be constructive or S.T.F.U
March 20, 2021, 06:55:38 PM
#2
As a real world example: What has higher probability? Winning in a single lotto drawing when buying 30 tickets - or winning in one of 3 lottery drawings when buying 10 tickets for each?

In this example, your chances are exactly the same, I have explained to the folks who do group rentals to solo mine that say 10ph for 24 hours has the exact same chances of 20ph for 12 hours and therefore, but well, this might not be as simple to understand as I think.

So the actual question with solo mining now is, if I start multiple cgminer instances mining with the same btc address, will they do the same work redundantly?

They won't.

I believe that most pools will modify extranonce1 and send a different template to each individual mining instance connected to the pool, the miner itself will need to modify extranonce2 only, so if you mine to a solo pool you shouldn't worry about the extra nonce at all if however you mine directly without a pool then your node will (at least should) pass a different template to each mining instance, in all cases I believe there is no need to use a different bitcoin address.
member
Activity: 100
Merit: 29
March 20, 2021, 07:56:43 AM
#1
Probably an academic bf question, but since I now started to scratch my head about this I would like to come to a conclusion:

If I understood correctly, the extranonce is provided by bitcoind via stratum. So it does not matter whether using a solo pool (with direct stratum connection) or mining directly on one's own bitcoind. If that's the case, that would imply that there is a 1:1 relationship between btc address and the extranonce value(s).

I browsed through the ckpool code and looked at the difference between clients and workers, with the latter being the stratum instance (irrespective of the count of workers, as being bound to the same btc address)

So the actual question with solo mining now is, if I start multiple cgminer instances mining with the same btc address, will they do the same work redundantly? Does it make a difference - or not -, if each instance uses a seperate worker (which still relates to the same btc address)?

The conclusion would be to use a seperate btc address per cgminer instance, or better, combine all ASICs in a single cgminer instance.

For general pool mining, this is not relevant ig, but for solo mining this might well be relevant.

In the end, I may ofc be utterly wrong here Grin

Let me know your thoughts.

UPDATE: Forget the above. Digging further, I learnt that each miner instance generates its own copy of the coinbase transaction (to include the applied extranonce) when starting to mine a new block. So the extranonce is not important here, but I take it as outcome:

When solo mining, always use all available hashing power for the very same miner instance with a single btc address!

As a real world example: What has higher probability? Winning in a single lotto drawing when buying 30 tickets - or winning in one of 3 lottery drawings when buying 10 tickets for each?

I will take this as personal guidance unless somebody steps up and proves me that this is pure bs.  Grin
Jump to: