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
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.