Bitcoin developer Matt Corallo recently proposed two new mining protocols in order to “potentially drastically [increase] effective mining decentralization.” Corallo posted his proposal to GitHub repositories, and according to the post’s abstract, Bitcoin’s current mining landscape has aspects that could lead to centralization.
The abstract notes that Stratum is the most commonly used Bitcoin mining protocol, but adds there is no proper documentation to help miners implement it. Moreover, it states that the way Stratum is currently deployed sees mining pool operators having to create and send block templates to their clients.
At present, there isn’t a “diverse body of miners constructing block templates”, according to Corallo, and this ends up compromising the “network’s censorship resistance,” which could happen because mining pool operators could exploit their monopoly and control over how block templates are distributed to miners, and also manipulate how upgrades are performed to the mining protocol.
Corallo’s post reads:
“The cause for concern around these centralizing forces are further exacerbated by the lack of a cryptographically authenticated connection between the server and client, a vector for temporal attacks (e.g. MiTM) that allow malicious parties to silently gain control of hashpower until the pool operator and/or other miners intervene.”
BetterHash Mining Protocol
In addition to the potential problems Corallo and his colleagues outlined, miners purportedly rely heavily on Bitcoin Core APIs to operate and maintain their nodes. This places a lot of the responsibility on pool operators who have to deal “with nontrivial implementation complexities.”
Per the developer, these “deficiencies” can be addressed by processing pool payouts and work-information through two different conduits. With this approach, mining work related data currently handled by getblocktemplate and Stratum, the current Bitcoin mining protocols, would be managed by a new “work-carrying” protocol. The newly proposed payout algorithm would reportedly facilitate communication between the mining pool and clients.
The post further explains the benefits of this new method:
“The segregation of these functions [work information and payouts] provide pool participants with the ability to construct block templates with transactions they (or another pool of their choice) have selected while the pool oversees the distribution of payouts. Prior to this proposal, miners wishing to build their own templates would have to solo mine or join p2pool, both of which have high payout variance.”
By using the new segregated channels implementation called BetterHash, Corallo et. al claim miners would be able to minimize their “payout variance” and create block templates independently. This could, theoretically, make the Bitcoin protocol less prone to centralization.