In a mining pool, all miners are working on the same exact block with the same exact coinbase.
Are you sure about this?
I heard that newer version of stratum allow each miner some kind of flexibiliity
there are only so many nonces, and (timestamp) extra-nonce
an average asic can run through these in seconds.
a pool needs to adjust coinbase data(extra-extra-nonce) to give more varied work over the ~many minutes of a block solve session. and do this for each asic.
a pool of say 13,000 asics will have 13,000 'new work' with different coinbase every few seconds, meaning over the average ~10min blocksolve session thats probably about 4million different 'work' with different coinbase extra-extra-nonce
each asic gets a basic template of their owners blockheader including owners
address. so that there is some variance to the work they all do as a pool
EG if all asics didnt have one of the outputs different from other asics and the OP_Return started at 1 to a <large number> for all asics. they would all be doing the same work as each other at the same time(waste of time).
ckpool example:
COINBASE (Newly generated coins)
38HRDQeecdfQnCyrnLEtKJGnEsrLG3XUCt 6.14274623 BTC
1PKN98VN2z5gwSGZvGKS2bj8aADZBkyhkZ 0.12536216 BTC
OP_RETURN
?x?x?x?x?x?x?x?x?x 0.00000000 BTC
and each few seconds. the pool
changes op return for more variance to work on
in other pools, its the
same thing, all thats different is the payout
COINBASE (Newly generated coins) 1PKN98VN2z5gwSGZvGKS2bj8aADZBkyhkZ 6.26810839 BTC
OP_RETURN
?x?x?x?x?x?x?x?x?x 0.00000000 BTC
OP_RETURN
?x?x?x?x?x?x?x?x?x 0.00000000 BTC
in pools that pay out to a pool owner only(later shared). their 'variance' in this example is instead of using a asics address as one output they use a random op return per asic(like an asic ID, unique to each asic). and then another op return as a an extra-extra-nonce to give that asic more work every few seconds
some pools just have one op return(small pools) and allot 1-> xtrillion to one asic. and then xtrillion -> x*xtrillion to another asic, within the range of the limit of how much entropy the op return allows(large number)
and if the pools asics work through all this variance then the pool can do different tricks by changing the transaction arrangements(order)
but in all cases. its not the asic or its user making these coinbase adjustments or blockheader hashs to then give the asic work to churn through. its the pool that is making these header/coinbase adjustments,
all thats different between usual pools and ck pool is the payout. ck gets 2% fee. and pays rest to one user. other pool gets 100% and pays out to all users
but they all work based on the data management done by the pool