"the miner fetches the transactions from the pool and thus fills the work pool locally on the miner.",..
?
I thought the pool created the current block header using transactions from the MemPool, not the miner... I thought the miner only spun through the hashing for the current unique black header/nonce/extra nonce range given to them by the pool ?
In practice, miners & mining pools aren't actually building blocks & they never touch the mempool nor build/verify any transaction besides the coinbase - bitcoind handles all that. Handling Fees, signatures, etc is the job of bitcoind. By the time the pool process received the getblocktemplate() response - the block is already built & verified - besides the coinbase.
What pools do is keep track of miner stats, handle their networking & if a share reaches the target - tell bitcoind about it, which is done via the stratum protocol, which bitcoind has 0 idea about & is much more resource intensive than block verification/construction.
I agree bitcoind on a full node handles collecting transactions and forming the base work block in form of the GBT (GetBlockTemplate) data which is pulled by the pool, But I was under the impression that the pool software had to construct the block header using GBT to be worked on by the miners in the pool, and on CKpool specifically this is a unique block header for each different payout address (miner) because it is included in the header, this facilitates CK's unique function of not receiving the block reward and allowing it to be paid directly to the miner wallet by the network and only gets paid his 2% directly.
Thats my understanding...
I was hoping to get a better feel for what is actually sent back and forth between the pool software and the miners... there is little online that actually describes the protocol and the data structures, acknowledgements - how does the pool know the miner needs more data ? does it do a pull request or something? If a miner finds a block how does it tell the pool?
You know just some mild curiosity about just what the hell is going on in there ... beyond "Yup it works, look away before it sees you and stops working" 🤨
Thanks