Some context
As far as I understand there are two ways in which an individual (or a company) can mine Bitcoin:
- Solo: if one has enough hashrate to secure a block often enough to pay for the electricity bills, or one is just a hobbyist playing Bitcoin lottery, that's usually a person who controls very low hashrates and its willing to go mine at a loss.
- Or through a mining pool: somewhere in between the previous two cases, a person that needs to secure a revenue for every kWh of energy it consumes but with a hashrate too low to produce a block in a reasonable amount of time.
When is solo mining trustless?
Mining solo through your own bitcoin full node is the ideal way to contribute to the decentralization of the consensus and strength of the network.
But I've seen there are alternative solo mining configurations, in which the miner equipment can be pointed to other people's server. solo.ckpool.org
is one example and
another example is public-pool.io
to which nerd miners are connecting to.
In this case I see room for bad behavior from the pool operator that could be sending
block templates to the miners in which the coinbase transaction pays to some bitcoin address that's not the solo miner address.
Unless there is a way to verify on the miner side that the hardware is actually
working on the block with the correct coinbase destination address every time
a block template is received.
Pool mining is completely based on trust
On the other hand, as far as I understand, pool mining is fully based on trusting the pool operator not to run away with the Bitcoin reward, because the coinbase address is controlled by the pool operator and not the single miners.
It has happened recently that F2Pool mined a block with a 20BTC fee on one transaction, and that money didn't go to the miners but it was refunded to the company to made that transaction. It wouldn't have happened if there was some kind of smart contract in the coinbase lock script that bind the reward to the miners instead of giving it all to the pool address.
Another possible situation is that a pool gets coerced by the local government to request KYC from participant miners (eg. Foundry USA) or the miner share doesn't get paid.
Wrapping up
I would like to ask this community:
Are there mining pools that do not require trust?
Is there any protocol that pool operators could use to make mining trustless?
Secondary questions, just for debating the implications of this issue with respect to Bitcoin mission:
Why is it that 90% of the hashrate is concentrated on trust-based pools?
Why is it that such an important aspect of the Bitcoin protocol (mining) has been neglected to the point that a mid-size miner has to connect to a Pool that either requires KYC or can steal the reward at will?