By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.
Mining Software

Hashrate Robbery: Stratum V2 Fixes This (and More)

Why hashrate hijacking is such a big problem for miners and how it's solved with the improved security of Stratum V2.

Published on Apr 18, 2020
START READING
Published on Apr 18, 2020

Table of Contents

Bitcoin’s resilience to change is one of its most important features in becoming a trusted store of value. At the same time, however, it makes patience a necessary virtue for Bitcoiners when key upgrades such as Schnorr and Taproot take years and years to implement safely.

When it comes to mining, things are a bit different. Change doesn’t happen overnight, but it’s also true that miners who don’t adapt and keep a finger on the pulse of the industry are likely to get left behind sooner or later.

Consider that Bitcoin’s total network hashrate has increased by nearly 200% in the past year alone. Ultimately, that means that everybody in the mining industry is on the lookout for an advantage over their competition. Or, at the very least, a way to keep up.

Image for post
Bitcoin's total network hashrate in the past year.

So, why are we telling you this?

Well, the reality is that mining is probably the least understood area of the Bitcoin ecosystem. After publishing the Stratum V2 documentation and specification, we saw that general Bitcoiners took it completely differently than actual miners.

While the former camp was almost entirely focused on the decentralization improvements from work selection, the miners were focused on everything else. And this is why we want to share some insights from within the mining industry.

You see, work selection is an extremely important part of Stratum V2, and one that can improve Bitcoin’s fundamentals in the coming years. But it’s not going to drive adoption in the short term. Rather, it’s features such as hashrate hijacking prevention and significant efficiency improvements that can incentivize adoption to occur throughout the mining industry.

In this article, we’ll explain what those features are in greater depth and why they matter to the people who matter, the miners.

A Bitcoin miner's perspective

Image for post

When Braiins Pool (formerly Slush Pool) mined its first block in 2010, most mining was happening on the personal computers of enthusiasts in North America and Europe. For context, a single new-generation ASIC today has roughly 700x more hashing power than the entire network did back then.

The technology has come a long way. At the same time, the business side of the mining industry has gone from nonexistent to ultra-competitive.

Today’s miners are typically focused much more on their bottom line (i.e. net profit) than on Bitcoin’s fundamentals. That’s not to say that there aren’t any ideologically-driven miners out there who care deeply about Bitcoin’s success — there are still many. However, the point is that the people running large mining farms with hundreds of petahash can’t be expected to switch to Stratum V2 and choose their own work merely because it improves decentralization.

If Stratum V2 doesn’t impact a miner’s bottom line, it’s probable that miners aren’t going to switch to it. With that in mind, we know that there are two ways for a business to raise its bottom line:

  1. Increase revenue
  2. Decrease costs

It’s possible that some entrepreneurial miners will think of new business cases that are enabled by Stratum V2, but in the majority of cases, it will be decreasing costs that incentivizes miners and pools to switch. So let’s talk about why even the most business-oriented and least ideologically-driven miners out there would start using Stratum V2 in their operations.

Hashrate hijacking is a problem

Stratum V1 has a major security flaw: it’s vulnerable to man-in-the-middle (MITM) attacks. The worst of these attacks is hashrate hijacking, in which a malicious third party is able to steal a miner’s proof of work before it reaches their target pool, thereby taking credit for the work and earning the payout for themselves instead.

To make matters worse for miners, an attacker can steal their hashrate completely undetected. If the attacker is smart and stealthy, they might steal only 1% or 2% — enough to impact the miner’s bottom line, but not enough for the miner to be sure that they are being attacked rather than underperforming expectations for some other reason.

Image for post
Attack vectors for stratum protocol

The good news: Stratum V2 fixes this. Connections between miners and pools in V2 are encrypted with a scheme known as authenticated encryption with associated data (AEAD), which protects the integrity of the data transfers.

Image for post
Stratum V2 security improvements

Currently, we are aware of miners from China, Kazakhstan, Russia, and Europe who strongly suspect that they are having hashrate hijacked. Considering that we only have contact with a small percentage of the miners in the global community, it’s possible that this problem is far bigger than anybody realizes.

Furthermore, the mere risk of hashrate hijacking is a strong business incentive for operators to switch to Stratum V2 and start encrypting their communications. The fact that hashrate hijacking can occur undetected over a long time period makes it a problem worth solving for everybody, regardless of whether they think it’s happening to them right now or not.

Efficiency improvements bring down overhead costs

Running a public pool service with a global consumer base is not a cheap task. It requires staffing a qualified development team and maintaining geographically distributed servers in close proximity to as many mining operations as possible.

Every day at Braiins Pool, we process millions of data transfers across tens of thousands of individual physical connections. Stratum V2 decreases both the size and quantity of those data transfers. In other words, it makes running a pool service easier and more affordable too. That’s certainly an incentive motivating us to develop the protocol, and we hope it incentivizes other pools to adopt it as well.

As for the actual miners, efficiency improvements may not be as strong of an incentive for some as for others. Many miners pay flat rates for hosting their machines which include the costs of internet infrastructure and data used to communicate with pools. There are numerous others, however, located in extremely remote places where data is costly and bandwidth speeds are limited. For them, the switch to binary and other efficiency improvements can create a substantial improvement.

Moreover, Stratum V2’s multiplexing feature makes it possible for miners to mine multiple coins on a single connection as well as doing zero-time backend switching. In other words, miners can more efficiently implement use cases like coin switching to increase profit (e.g. Bitcoin, Bitcoin Cash, and Bitcoin SV) or even send hashrate to multiple pools at once on a single connection.

Finally, a simplified mining mode for ASICs called header-only mining gives miners the option to avoid merkle path handling, simplifying firmware and making work validation lighter for pools. Header-only mining makes it easier to manage large operations, streamlines future protocol upgrades, and results in lower hashrate variance for miners.

All of this adds up to three things for end miners:

  1. Less complexity to set up and run a mining operation
  2. Lower costs for internet infrastructure and better performance in remote locations
  3. Enabling more complex use cases that can increase revenue and/or lower costs

Full implementation in BOSminer makes switching to Stratum V2 easy

There’s a famous movie line from Field of Dreams, “If you build it, they will come.” This is NOT our approach to Stratum V2 adoption.

Designing and publishing the protocol is not enough to achieve meaningful adoption on its own, and we know it. Fortunately, we at Braiins do more than solely operating Braiins Pool. We also develop firmware for ASICs. And because of that, we can develop a full implementation of Stratum V2 in our BOSminer software component, which will be free and open-source for the entire Bitcoin mining community.

In addition, we’ve developed translation proxies for V2 -> V1 and vice versa, meaning that miners can use V2 while mining on a pool that doesn’t support it and that pools can implement V2 without forcing their miners to use it.

Image for post
Stratum V2 translation proxy

This means that miners who want to use V2 in their operations won’t have to jump through tons of hoops and in-house development to do so. Instead, they’ll be able to simply replace CGminer with BOSminer on their machines and they’re ready to go.

By drastically minimizing the cost to switch to Stratum V2, we believe that the incentives described in the sections above are enough to attract a group of early adopters. If the early adopters have a better experience as a result, the rest of the industry will follow.

There’s still a lot of work to do

We’ve been in the mining industry longer than anybody, so we know its pain points and problems well. Stratum V2 was designed to solve as many of those issues as possible, and we’re confident that it will make life easier for just about everybody. To recap, V2 adoption will be driven by:

  • Hashrate hijacking prevention
  • Efficiency improvements that lower overhead costs
  • Ease of switching thanks to full implementations that are open-source and available to everybody.

Still, it’s important to point out that the specification is not yet finalized, and Stratum V2 isn’t a finished product. So on that note, it’s time to get back to coding.

KonferenceWebXWhereWhenConfirmed
Cell
CellCellCell
Cell
CellCellCell
Cell
CellCellCell
Cell
CellCellCell
Cell
CellCellCell
Cell
CellCellCell
Cell
CellCellCell

You can view the changelog also in our documentation.
See the full changelog
No items found.

Get notified when we release new update

By subscribing you are agreeing to our Privacy Policy
Wohoo! You're subscribed, we'll be in touch soon.
Something went wrong. Please try again.
Share now

About Braiins

Bitcoin mining software company: Braiins Pool, Braiins OS & Stratum V2.

By miners, for miners.

Hashrate Robbery: Stratum V2 Fixes This (and More)

Mining Software

Published

18.4.2020

Why hashrate hijacking is such a big problem for miners and how it's solved with the improved security of Stratum V2.

Table of Contents

Bitcoin’s resilience to change is one of its most important features in becoming a trusted store of value. At the same time, however, it makes patience a necessary virtue for Bitcoiners when key upgrades such as Schnorr and Taproot take years and years to implement safely.

When it comes to mining, things are a bit different. Change doesn’t happen overnight, but it’s also true that miners who don’t adapt and keep a finger on the pulse of the industry are likely to get left behind sooner or later.

Consider that Bitcoin’s total network hashrate has increased by nearly 200% in the past year alone. Ultimately, that means that everybody in the mining industry is on the lookout for an advantage over their competition. Or, at the very least, a way to keep up.

Image for post
Bitcoin's total network hashrate in the past year.

So, why are we telling you this?

Well, the reality is that mining is probably the least understood area of the Bitcoin ecosystem. After publishing the Stratum V2 documentation and specification, we saw that general Bitcoiners took it completely differently than actual miners.

While the former camp was almost entirely focused on the decentralization improvements from work selection, the miners were focused on everything else. And this is why we want to share some insights from within the mining industry.

You see, work selection is an extremely important part of Stratum V2, and one that can improve Bitcoin’s fundamentals in the coming years. But it’s not going to drive adoption in the short term. Rather, it’s features such as hashrate hijacking prevention and significant efficiency improvements that can incentivize adoption to occur throughout the mining industry.

In this article, we’ll explain what those features are in greater depth and why they matter to the people who matter, the miners.

A Bitcoin miner's perspective

Image for post

When Braiins Pool (formerly Slush Pool) mined its first block in 2010, most mining was happening on the personal computers of enthusiasts in North America and Europe. For context, a single new-generation ASIC today has roughly 700x more hashing power than the entire network did back then.

The technology has come a long way. At the same time, the business side of the mining industry has gone from nonexistent to ultra-competitive.

Today’s miners are typically focused much more on their bottom line (i.e. net profit) than on Bitcoin’s fundamentals. That’s not to say that there aren’t any ideologically-driven miners out there who care deeply about Bitcoin’s success — there are still many. However, the point is that the people running large mining farms with hundreds of petahash can’t be expected to switch to Stratum V2 and choose their own work merely because it improves decentralization.

If Stratum V2 doesn’t impact a miner’s bottom line, it’s probable that miners aren’t going to switch to it. With that in mind, we know that there are two ways for a business to raise its bottom line:

  1. Increase revenue
  2. Decrease costs

It’s possible that some entrepreneurial miners will think of new business cases that are enabled by Stratum V2, but in the majority of cases, it will be decreasing costs that incentivizes miners and pools to switch. So let’s talk about why even the most business-oriented and least ideologically-driven miners out there would start using Stratum V2 in their operations.

Hashrate hijacking is a problem

Stratum V1 has a major security flaw: it’s vulnerable to man-in-the-middle (MITM) attacks. The worst of these attacks is hashrate hijacking, in which a malicious third party is able to steal a miner’s proof of work before it reaches their target pool, thereby taking credit for the work and earning the payout for themselves instead.

To make matters worse for miners, an attacker can steal their hashrate completely undetected. If the attacker is smart and stealthy, they might steal only 1% or 2% — enough to impact the miner’s bottom line, but not enough for the miner to be sure that they are being attacked rather than underperforming expectations for some other reason.

Image for post
Attack vectors for stratum protocol

The good news: Stratum V2 fixes this. Connections between miners and pools in V2 are encrypted with a scheme known as authenticated encryption with associated data (AEAD), which protects the integrity of the data transfers.

Image for post
Stratum V2 security improvements

Currently, we are aware of miners from China, Kazakhstan, Russia, and Europe who strongly suspect that they are having hashrate hijacked. Considering that we only have contact with a small percentage of the miners in the global community, it’s possible that this problem is far bigger than anybody realizes.

Furthermore, the mere risk of hashrate hijacking is a strong business incentive for operators to switch to Stratum V2 and start encrypting their communications. The fact that hashrate hijacking can occur undetected over a long time period makes it a problem worth solving for everybody, regardless of whether they think it’s happening to them right now or not.

Efficiency improvements bring down overhead costs

Running a public pool service with a global consumer base is not a cheap task. It requires staffing a qualified development team and maintaining geographically distributed servers in close proximity to as many mining operations as possible.

Every day at Braiins Pool, we process millions of data transfers across tens of thousands of individual physical connections. Stratum V2 decreases both the size and quantity of those data transfers. In other words, it makes running a pool service easier and more affordable too. That’s certainly an incentive motivating us to develop the protocol, and we hope it incentivizes other pools to adopt it as well.

As for the actual miners, efficiency improvements may not be as strong of an incentive for some as for others. Many miners pay flat rates for hosting their machines which include the costs of internet infrastructure and data used to communicate with pools. There are numerous others, however, located in extremely remote places where data is costly and bandwidth speeds are limited. For them, the switch to binary and other efficiency improvements can create a substantial improvement.

Moreover, Stratum V2’s multiplexing feature makes it possible for miners to mine multiple coins on a single connection as well as doing zero-time backend switching. In other words, miners can more efficiently implement use cases like coin switching to increase profit (e.g. Bitcoin, Bitcoin Cash, and Bitcoin SV) or even send hashrate to multiple pools at once on a single connection.

Finally, a simplified mining mode for ASICs called header-only mining gives miners the option to avoid merkle path handling, simplifying firmware and making work validation lighter for pools. Header-only mining makes it easier to manage large operations, streamlines future protocol upgrades, and results in lower hashrate variance for miners.

All of this adds up to three things for end miners:

  1. Less complexity to set up and run a mining operation
  2. Lower costs for internet infrastructure and better performance in remote locations
  3. Enabling more complex use cases that can increase revenue and/or lower costs

Full implementation in BOSminer makes switching to Stratum V2 easy

There’s a famous movie line from Field of Dreams, “If you build it, they will come.” This is NOT our approach to Stratum V2 adoption.

Designing and publishing the protocol is not enough to achieve meaningful adoption on its own, and we know it. Fortunately, we at Braiins do more than solely operating Braiins Pool. We also develop firmware for ASICs. And because of that, we can develop a full implementation of Stratum V2 in our BOSminer software component, which will be free and open-source for the entire Bitcoin mining community.

In addition, we’ve developed translation proxies for V2 -> V1 and vice versa, meaning that miners can use V2 while mining on a pool that doesn’t support it and that pools can implement V2 without forcing their miners to use it.

Image for post
Stratum V2 translation proxy

This means that miners who want to use V2 in their operations won’t have to jump through tons of hoops and in-house development to do so. Instead, they’ll be able to simply replace CGminer with BOSminer on their machines and they’re ready to go.

By drastically minimizing the cost to switch to Stratum V2, we believe that the incentives described in the sections above are enough to attract a group of early adopters. If the early adopters have a better experience as a result, the rest of the industry will follow.

There’s still a lot of work to do

We’ve been in the mining industry longer than anybody, so we know its pain points and problems well. Stratum V2 was designed to solve as many of those issues as possible, and we’re confident that it will make life easier for just about everybody. To recap, V2 adoption will be driven by:

  • Hashrate hijacking prevention
  • Efficiency improvements that lower overhead costs
  • Ease of switching thanks to full implementations that are open-source and available to everybody.

Still, it’s important to point out that the specification is not yet finalized, and Stratum V2 isn’t a finished product. So on that note, it’s time to get back to coding.

on social media

Be the first to know!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

BECOME A PUBLISHED AUTHOR

Browse books

Share article

Be the first to know!

Get updates about our new mining content, product updates & more.
Thank you! Your submission has been received!

Read Privacy Policy.

Oops! Something went wrong while submitting the form.
We apologize but our blog is available only in English, Spanish and Russian.