Bitcoin Core contributor and guest writer for BitMEX Research, Michael Ford, recently published a report about the build system improvements for Bitcoin, while also expanding on his involvement in removing third-party software dependencies such as OpenSSL. The report, analyzing results from tests conducted by Ford, showed that the number of packages built in Bitcoin Core 0.19.99 is down by 44% since version 0.13.2, with a 42% drop in build time since the peak, down to 135 seconds.
“This work has improved the security of the software, by reducing the attack surface and improved software performance.”
The build system, according to Ford, is one of the less glamorous, yet important components of the Bitcoin Core codebase. He explained that it controls how the code is configured and compiled, how one interacts with dependencies and, “helps us build completely reproducible binaries, which many Bitcoin users run.”
Ford also spoke about the removal of BIP70 support from Bitcoin Core, something that had been “on the cards” for a long time and contained security vulnerabilities, privacy issues, and incompatibilities between implementations.
“BIP70 was also one of the last portions of the codebase that required OpenSSL, thus blocking its removal.”
The Bitcoin Core developer also mentioned how dependency reductions had been made for the macOS platform, specifically adding that macOS binaries had been built using the latest codebase link against six less dynamic libraries — DiskArbitration, Security, SystemConfiguration, OpenGL, AGL, and CFNetwork.
Further, security improvements were made to the macOS platform, improvements such as dynamic library checking as part of the build process and adding ‘Position Independent Executables’ and ‘NOUNDEFS’ to the security check script.
Subscribe to our Newsletter