Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

49 prevent pools from forming #53

Merged
merged 2 commits into from
Jul 5, 2024

Conversation

bitcoin-pow
Copy link
Owner

@bitcoin-pow bitcoin-pow commented Jul 5, 2024

Since the mining loop was never signed, it was possible for a mining pool to write its own software such
that it communicates with its users to do a majority of the mining work and then submits back to the pool
owner for the final block signature before block submission. To prevent this from occurring, a new
mining algorithm was created. The algorithm is a two step approach as follows:

  1. Mining using utxos just as legacy mining.

  2. Mine using a new 64 bit nonce and combine with the block signature to create some mud. Throw the mud thru
    a sha256 hash function and check if the hash meets a new threshold.

The validator will check to make sure that the signature in (1) matches the signature in (2) that was used
to sign the work and that both parts meet the thresholds for acceptance. Since the signatures must match,
the private key must be shared between (1) and (2). Sharing private keys will eliminate mining pools because all
trust is now lost.

The other attempt at pool formation will be to have the users only perform (1) and then send back to the pool for the
pool to finish doing (2). This will fail because the amount of work to do (1) is about 1% of the total work and the
remaining 99% of the work is in (2). This means that users would send work back to the pool and sit idle for 99% of
the block time on average waiting for new work. Users have no benefit of using a pool and the pool will not form,
it they do form, they will be very unhealty pools that do not offer benefit to the users nor the pool owner.

@bitcoin-pow bitcoin-pow linked an issue Jul 5, 2024 that may be closed by this pull request
@bitcoin-pow bitcoin-pow merged commit 8a58468 into 26.x_btcw Jul 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Prevent pools from forming
2 participants