Introduced by Matt Corallo in 2018
Allowed miners to construct their own block templates
Wasn't implemented by any major pools or firmwares
Inspired Job Negotiation in Stratum V2
For most of Bitcoin’s history to this point, pool operators have been in control of which transactions end up in the blocks that get mined. Pools provide miners with work (job assignments) and the miners submit the completed work back to the pools. This has made miners somewhat dependent on pools to act honestly and fairly.
In order to address this mining pool centralization issue, a new mining protocol was specified by then Chaincode Labs (now Square Crypto) engineer, Matt Corallo. Matt first proposed Betterhash in 2018 as an attempt to help modernize the mining protocol.
BetterHash mining protocol superseded the Getblocktemplate protocol and brought along a host of quality improvements for miners. One of the largest improvements was the ability for pools to accept work from miners who constructed their own block templates.
Its intent was to shift the power back to the miners by giving them control in choosing their own transaction sets rather than receiving block templates from the mining pools. This enables more decentralization by making transaction censorship on uneconomic block construction by mining pools more obvious to actual miners.
However, BetterHash had some flaws which made it difficult to implement for pools, so it ultimately never advanced beyond the specification phase.
Matt decided to team up with Pavel Moravec and Jan Capek from Braiins (Slush Pool) to release a new protocol called Stratum V2. This new protocol from Braiins uses BetterHash as a basis and expands upon it further by offering more efficiency and security to miners and pool operators. This will also help drive adoption of the protocol, as Slush Pool will be implementing it and promoting it to its existing miner base.