Join Nostr
2026-05-19 22:07:03 UTC
in reply to

SatsAndSports on Nostr: I think I have an idea to discourage this. It's not entirely novel, but I think it ...

I think I have an idea to discourage this. It's not entirely novel, but I think it can be done as a soft fork (I've heard others suggest it would require a hard fork).

Alongside the existing requirement that the hash of the header be smaller than the current 'target', I would add a new requirement to include a signature of a message - signed by the coinbase output's key - where that signature begins with four zero bytes.

The controller of the coinbase - i.e. the pool operator - might be tempted to share the private key with the 'hashers' in order for the hashers to compute the signature locally. But of course the controller won't want to share the private key, and instead the hashers will submit their shares to the controller such that the controller will compute the signature and check if they have achieved a full block.

With this, the hashers don't know if their 'mining share' is a 'full block' and therefore they don't know which shares to withhold.

Unfortunately, we would also need to softfork a new signature scheme with deterministic signatures, which also means a new curve. "BLS signatures — Boneh–Lynn–Shacham — often used over pairing-friendly curves such as BLS12-381."

Also, this signature would need to be passed 'out of band', i.e. it's an extension to the relay protocol. But it's a soft fork because nodes don't need to be upgraded. Non-upgraded nodes might be "confused" because they would see an *apparent* drop in difficulty