Slush Pool Interview Part 1 – Braiins OS, Stratum v2, and Bitcoin Security Risks We had the pleasure of chatting with the Braiins team (company behind Slush Pool) on the day following the Global Mining Leaders Summit. Slush Pool were pioneers in the mining pool business putting together the first Bitcoin mining pool. Their mining pool operations have mined over 1 million bitcoin since inception. John Lee Quigley was joined by Jan Čapek, Pavel Moravec, Edward Evenson, and Ondrej Seifert from Slush Pool for a discussion about the latest mining technologies launched by the company, key risks to the Bitcoin network, and consensus models. Of course, mining was covered and what forces will shape the future of where hash rate resides. This will be a two-part interview series. The first part covers Braiins OS, Stratum v2, and key risks to the Bitcoin network. The first part of this interview builds upon many of the concepts covered in our recent interview with Matt Corallo. Here are some of the key takeaways from part 1 of our discussion with Slush Pool: What is Braiins OS and what is the incentive for miners to use it?Stratum v1 versus Stratum v2 – What is the current stage of Stratum v2 and what are the key issues it addresses with Stratum v1?Key risks to the Bitcoin network – BGP hijacking, political collusion, firmware which can be remotely controlled. Braiins and BraiinsOS John Lee Quigley (JLQ) – Braiins was announced this year. What is the structure between Braiins and Slush Pool? Jan Čapek (JC) – We had been operating Slush Pool using the Braiins company since 2013 but we kept it under the radar. It was early in the industry and there was a lot of hacks and DDoS attacks. We were a bit paranoid. The industry has become much more professional since that point. Institutions started investing money in mining and we had to have an entity that they could talk to. Slush Pool is a project under the Braiins brand. We are building a portfolio of projects such as Braiins OS, Slush Pool, and hopefully many more to come. JLQ – What is Braiins OS? JC – Braiins OS is an open-source initiative to have a software package that can run on mining devices. It specifically focuses on mining devices for Bitcoin. The software was CGMiner when we launched it. We are currently working on an alternative called bOSminer which is a written implementation in the Rust language. Pavel Moravec (PM) – Braiins OS is an open-source software stack for miners. It can be used for driving the hardware and for connecting to other infrastructure. It’s a complete open-source mining software stack. JLQ – What are the efficiency gains for miners that adopt Braiins OS? What would their incentive be to adopt this infrastructure? JC – You can audit it, it’s transparent, and it is going to use all the features of the device as well as not having any hidden features. This is the major thing we are addressing. Secondly, the quality of the software on current miners is not at an industry-standard level. Mining farms require specific things to manage their miners but they cannot tailor the firmware to their needs. They have to twist their management software around what the manufacturer gives them and if they run different types of hardware from different manufacturers, they have to redo all of this work. Our idea is to unify this approach, providing a single point that would have a standard interface and support multiple hardware machines. It’s a fully transparent software stack with no hidden features. At some point, we can address efficiency. But generally, you have a hardware that can do certain hashes per second. This is not a magic piece of software that allows the physical hardware to do more. You can do some tuning and you can adjust your frequencies as other firmware can do but it doesn’t do more than the physical capabilities of the hardware allow. We don’t want to mislead people. You gain the quality and you gain easier integration into your mining farm. JLQ – The way I envision it is a backend infrastructure and the mining farms have their frontend which lets them easily manage the hardware they are operating. Is that correct? PM – Not really. There is typically one more software layer. There are three layers of software needed for running bigger farms – firmware on the machines, a management system, and the pool software. These three are almost always necessary. We are addressing the first and the third while making life easier for writers of the second layer. Stratum v2 JLQ – The next technology I want to ask about next is Stratum v2. We talked to Matt Corallo earlier in the year regarding mining protocols and the downsides Stratum. First of all, can you give some background to Stratum v2? PM – Stratum v1 is a really old protocol. Stratum v2 addresses a lot of issues with Stratum v1. There was never a good time to change the protocol because it is widely spread and millions of machines are running the protocol. We thought about Stratum v2 for a long time but we now believe it is the correct time to address all the issues with Stratum v1 which are mainly efficiency, the security of the protocol, and a lack of features. Stratum v1 was also never well specified. If you want to support something with the protocol, you would typically go with an extension to Stratum v1 which can become very messy. Stratum v2 is cleaning the space with all the various arbitrary extensions and it allows the introduction of well-defined vendor-specific extensions for the protocol. Security and efficiency are the biggest new features. For pools, it requires less bandwidth to transmit the same amount of data. One really interesting feature relevant to the whole Bitcoin ecosystem is the fact that Stratum v2 allows miners to cooperate on transaction selection, and choose their own blocks to mine so that the pool is not always the entity that decides what blocks are being built upon and what transactions are being chosen. This is more than a technical feature. It is far-reaching to the whole ecosystem because of the issues with mining centralization. JC – This nicely plays with Braiins OS because for a new protocol, the basic problem is how you are going to deploy it. How are you going to make the manufacturers adopt it? With Braiins OS, you have a vehicle to show that Stratum v2 is the reference implementation. It already supports the protocol and anybody can use it. They can take the code and do whatever they want with it. The new Braiins OS mining software, the bOSminer, will only support Stratum v2. JLQ – What kind of adoption are you seeing on Braiins OS and Stratum v2? PM – We believe it will be adopted. There is no reason for anybody in the industry to not adopt it. It will help pools decrease resource requirements when running machines. From the miners perspective, it will give them more political power. We are in a position where we can provide the complete software stack for everybody to adopt it. We can have miners running Stratum v2, we can have the endpoint on the pool running Stratum v2, and we will also provide a proxy for translation between Stratum v1 to Stratum v2. If somebody has Stratum v1 machines and wants to connect to a Stratum v2 pool or vice-versa, this is possible. There should not be any large obstacle to adoption. So far, the response from all over the mining industry has been good. There is also no lock-in to the protocol. JC – When we were developing the spec, we were discussing details with Matt Corallo. We had him on board for a couple of weeks to work with us on the protocol and he is listed as one of the co-authors. BetterHash gave us the impulse to work on a protocol that would fulfil the requirements of a pool operator. BetterHash was built from the miner’s perspective. Designing a protocol when you know the operations behind a pool is different. All the issues that BetterHash had have been addressed with Stratum v2. One specific issue was data efficiency, and we tweaked this to the very minimum. Pools and farms are going to significantly reduce overhead on data costs. Currently, we’re talking with other experts from the industry to review the security of the protocol. For example, Peter Todd has been looking at the security of the protocol. It will also be published as a draft so that anybody can have their inputs. Edward Evenson (EE) – It may be worth noting that some miners are already using Braiins OS. JC – I don’t know the exact numbers but we have roughly hundreds of thousands of Braiins OS deployed. The switch to the new protocol for those specific units will be extremely simple. For other hardware, they can use the proxy to get the benefits of Stratum v2. One great feature of the protocol is the data efficiency of the communication between the farm and the pool. PM – It should also be noted that we don’t claim the current draft of the protocol is the final version. We are quickly headed towards publishing the draft and we would love to see the response from any industry partner who could improve the protocol. We don’t believe there is any major issue with the draft but we are ready to change it if there is reasonable input. Risks to the Bitcoin Network JLQ – How big of a risk to you see it to the Bitcoin network that Stratum v1 is currently used as the dominant protocol, providing all of the decision-making power to pools? JC – We consider the transaction selection feature as a censorship countermeasure that people can use if they feel censorship is happening. But we would assume in the majority of cases, miners would still rely on the pool for selecting transactions. The issue with Stratum v1 is if there was censorship, we have no way to prevent it. With the new protocol, the miner has the option to select their transactions. You don’t have to because it demands extra requirements for your infrastructure. We are happy to have this option as a countermeasure but we are not forcing anybody to use it. Otherwise, adoption would be really difficult. PM – Currently, we don’t see a lot of issues with transaction censorship. But the reason we want to have this feature is so we don’t ever face a situation where there is transaction censorship. The feature is a precaution. From an external perspective, it puts mining as an industry into a better light. There is a lot of issues raised regarding mining centralization and pools having too much power. Having this infrastructure negating this makes the discussion around mining a lot easier. My expectation is almost nobody would use the transaction selection feature but everybody could use it if it is important. JLQ – What about BGP hijacking? Matt Corallo certainly felt that this is a huge risk to the Bitcoin network with Stratum v1 as the dominant protocol. JC – I agree with him. It is a risk. We have addressed it with the new protocol. The only cases of BGP hijacking have been on altcoin mining pools. That doesn’t mean it can’t happen on Bitcoin. It’s doable. The question is how it could be executed at a massive scale. It would likely need to be a tight collaboration of governments. We want to prevent this. But in reality, it doesn’t happen because it requires a lot of knowledge such as where the farms are located, what their IP ranges are, and more. PM – Once you have either proper encryption or signing as part of the protocol, it disincentives an attacker to attempt BGP hijacking. Although there is not a lot of cases, we can still address it and prevent it in the future. JLQ – Do you see any other risks to the Bitcoin network? JC – If governments globally were to collude, they can’t shut down Bitcoin, but they can make it illegal to use. We’re not completely switched over to Bitcoin. You need to face the fiat world. There are ways around it if fiat onramps and offramps were shut down but it’s not feasible for every user and it is also costly. This is an attack surface. But what calms me down is that governments globally can never synchronise on what they are doing as they always feel another government is trying to cheat them. They can’t trust each other so they’re holding each other hostage. The probability of them colluding is there but it requires a lot of trust between them which doesn’t exist. Attacking the Bitcoin network from a technical standpoint is not very probable. Another issue I was considering a few years was if there was a magic switch in mining hardware which changes the proof-of-work or shuts down the hardware remotely. For example, Antbleed. There was a backdoor in Antminer S9s which was calling home to Bitmain servers allowing them to remotely control the machine. It was a management feature but it was not opt-in. It was enabled by default and it could technically let Bitmain shut down the machines and it was also open to others exploiting it. This feature was extremely dangerous as people didn’t know about it. This comes back to the transparency issue and the benefit of having open-source firmware. At the time Antbleed was discovered, it could have shut down 40% of the bitcoin network or more. What to Expect in Part 2 The team at MinerUpdate will be keeping in touch with Slush Pool regarding updates with Stratum v2 and other exciting technologies they will be working on. As always, we will keep our readers informed with the most important developments taking place in the world of mining. Here is a preview of the topics covered in the final part of this two-part interview series: Will the block subsidy diminishing be an issue in the future for Bitcoin security?Proof-of-work versus proof-of-stake.The future of the mining pool business modelMining in China versus mining elsewhere. Slush Pool Interview – Part 2.