[BIP Proposal] BetterHash Mining Protocol Replacements



Summary:

The Bitcoin Core is currently working on a new proposal to replace the existing `getblocktemplate` protocol with something more performant and robust for consensus changes. The new protocol will be able to keep the same `CTransactionRef` in the Bitcoin Core making lots of validation things much faster. It will also move more block-switching logic inside of the work provider, allowing Bitcoin Core to better optimize work switching. Additionally, it provides the ability for a pool to accept work which the users of the pool selected the transactions for.Clients "inspecting and modifying the transactions" is not supported, but there are enough features available via the Bitcoin Core for clients to generate the exact block they want. Transactions are exposed over the work protocol primarily so that clients can generate weak blocks to be sent to the pool for efficient client -> pool block relay.The proposal has already gone through several rounds of feedback and aims to provide a more secure and simpler-to-implement replacement for Stratum. It will be better-defined and provide VENDOR_MESSAGEs for extensibility instead of conflicting specifications from various different vendors.The latest version of the full BIP draft can be found on GitHub, along with implementations of the work-generation part and pool/proxy parts. The whole stack has managed to mine numerous testnet blocks on several different types of hardware.


Updated on: 2023-05-20T16:59:32.914717+00:00