Braiins OS: An Open Source Alternative to Bitcoin Mining Firmware
Braiins OS wants to redefine open-source mining software.
The project, an offshoot of Satoshi Labs (the company behind Slush Pool and Trezor), recently rolled out the initial release of its ASIC miner firmware. The operating system is advertised as “the very first fully open-source, Linux-based system for cryptocurrency embedded devices,” an alternative to the factory-default firmware that comes with most popular mining hardware.
Upon visiting the project’s website, visitors are greeted with a clear message, a mantra that resonates with its related industry’s ethos: “Take back control.”
Rethinking Open Source in an Open Source Space
Further down on its website, the project invites community members to “[say] goodbye to backdoors, closed systems and hidden features.” This promise of transparency is an implicit reference to the contrasting opacity of its biggest competitor’s mining software.
Bitmain advertises its software as open source. But Jan Čapek, CEO of braiins, the company behind the eponymous OS and Slush Pool, explained to BitcoinLinux that too many features of Bitmain’s code are covertly closed off, making it impossible to provide a proper software image — a record of the state of the mining system at a given time.
Essentially, Čapek indicates that a few key components are missing to make Bitmain’s code full open source, such as the FPGA code. Without these pieces, users cannot parse together a full image of the mining client.
“The problem is that most of the people out there are not able to build a complete S9 image as it is not quite obvious that all the components are provided by Bitmain. To build a complete system you need the first stage bootloader (sometimes called SPL), u-boot, Linux kernel, Linux system (buildroot/openwrt?), FPGA bitstream (+ sources) and cgminer sources. So, there is quite more things that are to be reviewed that are still closed source and open quite a few questions,” he said, “For example, why is the FPGA code still closed?”
Even without these closed systems, other softwares may include “backdoors” or “hidden features” — a practice that braiins OS rejects as well.
In Bitmain’s case, there was a backdoor baked into the code.
Known as Antbleed, the feature was introduced in July of 2016, and it gave Bitmain the ability to remotely shutdown most of its active Antminer hardware, most notably the S9. Bitmain claimed that the backdoor was there so that it could police stolen or hijacked hardware, telling BitcoinLinux that the company “never intended to use this feature on any Antminer without authorization from its owner.”
Regardless of its purposes, stated or otherwise, Antbleed was the primary motivation behind braiins OS, Čapek said.
A Bid For Transparency, Flexibility
Braiins OS’s initial release leverages OpenWrt, “a generic embedded Linux distribution that allows [it] a great deal of flexibility,” Čapek said, and its central meta project is open to developers on GitHub.
Per Čapek’s earlier statement, the software offers a more complete, customizable kit than the factory defaults that companies like Bitmain provide with their hardware. “None of the manufacturers provide an easy, documented or central way of building an image and running it on their hardware,” he said in our interview, chalking this up to “probably [a] lack of transparency.”
As an alternative, braiins OS “can be used to build the entire firmware image,” he continued. This includes a tool to configure and run this firmware for specified hardware, something its competitors currently don’t offer.
For its rollout, braiins OS will only be compatible with the Antminer S9 and DragonMint TI, as those are the most commonly used mining rigs currently in use. Going forward, the team plans to open up integration for other devices as well, including the Whatsminer M10.
The project will also look to integrate with more mining pools as it gains traction among developers. Currently, “Slush Pool is one of the few pools that supports the version rolling extension of stratum protocol (BIP310),” Čapek said.
This is in part due to caution. Čapek told us that braiins OS didn’t want to have too many different images installed for the rollout “just in case there were any serious issues with transitions from factory firmware.” Seeing as this is “an alpha release,” he continued, “massive deployment was not desirable.”
In the meantime, the team looks forward to the community enriching its project, and Čapek indicated that they’ll be taking notes on developer activity in order to improve the project in future releases.
“Currently, we are already gathering feedback from the community. The next release with regards to S9 will bring additional features like per hashboard frequency and voltage configuration.”
This article originally appeared on BitcoinLinux.