Highlights from a discussion about bitcoin mining protocols and the future of Stratum V1 and V2 at the Bitcoin 2022 conference.
Mining protocols and the future of Stratum took the stage during this year’s seminal bitcoin conference hosted in Miami by Bitcoin Magazine.
Braiins co-founder Jan Čapek and other mining friends spoke to the broader bitcoin community about the upcoming Stratum protocol upgrade and why this matters for the security of the network. This article condenses some of the key takeaways from this discussion as Stratum V2 development continues.
Watch the full panel discussion about mining protocols below.
Mining protocol is simply a set of rules that defines the communications between miners, their pools, and the underlying bitcoin protocol. In 2021, the first and still current version Stratum was as ASIC mining hardware was about to be added to the network and previous protocols were not able to handle such a huge hashrate jump.
But now some of the issues with Stratum V1 need to be addressed, which is why V2 is being developed. What are those issues?
The current Stratum protocol uses a message format called JSON-RPC, which is human readable format. That means data flows between miner and pool are unencrypted and prone to hijacking. Man-in-the-middle attacks of this information and hashrate can be very hard to detect since a smart attacker will likely steal only a little bit of miners bitcoin hashrate using infected internet routers that scan for Stratum traffic.
Stratum V2 will have completely removed this attack surface for intercepting the communication between miners and their pool. Hashrate hijacking will be impossible since V2 introduces encrypted communication and relay authentication. Also, switching the protocol from human readable text to binary significantly reduces the size of the relayed data packets.
In the current mining environment, individual miners don't choose what transactions they want to mine. That is up to pool operators, which introduces an element of centralization to the mining process. As a result, pools can choose to not accept some kind of transaction or work done by a miner for any reason.
With Stratum V2, miners will have a tool to combat this censorship threat. The updated protocol will give the miner an option to select their own transactions by running their own full node and creating their own block templates locally.
Stratum V2 will also benefit the general health of the network by reducing the number of empty blocks. Right after a block is found, miners will have the option to mine alternative blocks with lower fee transactions instead of having to work on an empty block template as is the case today.
Stratum V1 was revolutionary for its time in the mining sector. The protocol introduced a communication feedback loop to accommodate the growth in the computational load of the bitcoin network. V1 also made it easy for miners to connect to the Stratum server, debug things and visually verify that everything is running properly.
But the biggest inefficiency in Stratum V1 is its human readable format. Not only does this introduce privacy concerns as discussed previously, but every single message from a miner to their pool contains a string “mining.submit” which amounts to a terabytes of data and bandwidth.
Because Stratum V2 is a binary protocol, the bandwidth savings will be enormous, which will have especially noticeable effects for miners operating in distant, rural locations.
Adoption won’t be easy, and the team has been developing and testing the binary protocol for years without any problems. Braiins decided to not implement Stratum V1 into the Braiins OS and only adding a small translation component between V1 and V2, so the computing would happen locally on the same node, meaning the added latency is negligible.
Stratum V2 is an evolutionary step, where the original concept is kept and upgraded to work better. It's really time to upgrade now considering the hashrate grew a million times in the last 10 years. Customers buying mining hardware should demand ASIC's manufacturers full transparency, access to the machines and be able to run alternative firmware easily. And pool customers should push for adopting Stratum V2, as it is a clear improving step for security and privacy.
Having other independent implementations is crucial and benefits the community and the whole ecosystem. They can look at what Braiins did with the Stratum reference implementation, make it better and make it real.
Final Thought: the mining community will be hugely effective in pushing Stratum adoption, spreading the message and helping to push this implementation on manufacturers and pools.
Bitcoin mining software company: Braiins Pool, Braiins OS+ & Stratum V2.
By miners, for miners.