On July 24th, 2019, we unveiled our plans for a major BTC mining upgrade at the Mining Disrupt Conference.
Our efforts may not be as exciting as the moon landing, but their impact in the crypto world should still be pretty epic.
The upgrade features a fully transparent mining stack, including mining software and a new mining protocol — Stratum V2.
See below to find out how you can help shape this effort!
To prevent hash rate hijacking, selected protocol messages are cryptographically signed by the upstream pool, allowing clients to authenticate security-critical upstream data.
Furthermore, the mining software itself is written in the ‘memory-safety-first’ Rust language. When it comes to security, we are taking no shortcuts.
Featuring a fully binary format and different data distribution patterns. This saves “a bit” of network bandwidth (meaning up to 2-3x times in comparison with Stratum V1) and decreases latencies.
Improved efficiency reduces hash rate variance by allowing higher submission rates and reducing the stale share submission rate.
While the protocol base is lightweight and strict, our goal is also to make it very extensible. Miners can pick their own jobs, or they can choose to perform simple header-only mining instead, working on jobs provided by a pool.
It will also be easier to create a protocol extension for transferring mining telemetry data, making the monitoring part of a mining operation much more streamlined.
We were inspired by the BetterHash proposal to give users the option of freely selecting their own transaction set. By providing a custom job selection mechanism, we’ve integrated the idea into Stratum V2.
At the same time, the protocol gives mining pools the choice of whether or not to accept externally negotiated mining jobs, all while ensuring that mining rewards will be fair and that security is not sacrificed.
First off, it's already up and running. We currently have a working prototype of the mining software (bOSminer) with Stratum V2 protocol support. It is written in the ‘memory-safety-first’ Rust language. Plus there is a Stratum V2->V1 transparent proxy enabling communication with pools that only support Stratum V1 (requires version rolling for now).
Yep, we know–you want to play with it too. Just let us put some final touches on the prototype and it will be released soon!
Are you an industrial miner, creator of mining software/hardware, or simply someone who knows a lot about this topic?
To meet your needs, we really want to hear your insights and suggestions about the full mining stack! This may be just one small release of the software, but we think it’ll be one giant leap forward in Bitcoin mining.JOIN THE INITIATIVE
Currently, we are formalizing the specification and aim to release it to the public in August. We plan to propose it as a BIP draft eventually. Or shoot us a message, if you want to learn more beforehand.
Really soon! :) At first, we will only release source code for development purposes, with the supported devices being Antminer S9 and the good old Block Erupter (yep, it is really slow but tiny and comfortable for testing).
Spread the message! Tell people about the importance of mining and the fact that more open and decentralized mining makes Bitcoin stronger and more censorship-resistant.