Damus
Reivan Stokes · 47w
As you have shared in your photo, If you found a block and submit it to the bitcoin network through your node (independent from the template you are using), there is no possible way for that pool to s...
Kortik ๐Ÿ‡ฆ๐Ÿ‡ฒ profile picture
If the pool server is able to reject a miners template even if you created it yourself, how are we decentralizing mining or template creation at all?

1. StratumV2 pools custom miner template is sent to the pool server: https://github.com/stratum-mining/stratum/blob/904ac8efcedb4a7a8c92b49b252aa7cd170a4e2c/roles/jd-client/src/lib/upstream_sv2/upstream.rs#L252C41-L307C6
2. Rejection message the miner receives when the pool server rejects their template: https://github.com/stratum-mining/stratum/blob/main/protocols/v2/subprotocols/mining/src/set_custom_mining_job.rs
3. DATUM custom miner template is sent to the pool server: https://github.com/OCEAN-xyz/datum_gateway/blob/4fdcfad570d9120737e574395286dcabb4f8f748/src/datum_protocol.c#L451
4. Rejection message the miner receives when the pool server rejects their template: https://github.com/OCEAN-xyz/datum_gateway/blob/4fdcfad570d9120737e574395286dcabb4f8f748/src/datum_protocol.h#L146-L166

what's 'exactly decentralized there?
They have the power to do whatever they want with your template. Its a client-server relationship, the pool server has complete discretion over who mines in their pool. They can set any condition they want or they can be forced to set conditions by regulators. Decentralized?
Reivan Stokes · 46w
I see that you send the block to the server and validate it but only to calculate and coordinate the payout for the next blocks, once you find a block you submit it directly to your own node (see submitblock function). You need to run a personal node when running DATUM, if you found a valid block ...