A detailed post about four crucial Bitcoin (BTC) security improvements was released on May 28, 2020. It emphasizes the importance of blockchain software testing on multiple platforms.
Four upgrades to the main build
Mr. Ford outlined that work on security in Bitcoin Core isn't only about constant bug disclosing and fixing. For the protocol of the flagship cryptocurrency, the advancement of its main build is inevitable.
According to Mr. Ford, for sophisticated systems like Bitcoin Core:
a well-functioning build system is vitally important. It controls the version, and features of C++ that we can use, our dependencies, and how they are configured, as well as the hardening and security features that are applied to our binaries.
First of all, Mr. Ford re-organized the 'Check Symbols' and 'Check Security' rules. Previously, these functions blocked the security self-checks by the system. Although this bug didn't significantly affect the system, it managed to sit, unnoticed, in the codebase for nearly 4 years.
Then, one of the security techniques of Bitcoin Core, Address Space Layout Randomization (ASLR) was rescheduled in Windows-based releases.
Cross-platform testing is sinequanon
Also, one of the API features looked differently in macOS and BSD systems. Mr. Ford uses this as a textbook example of a subtle build time failure that can have a non-obvious effect elsewhere in the binary.
Finally, new flags were added to Apple command line tools releases.
To conclude, Michael Ford highlighted the importance of cross-platform testing for the proper functioning of complex systems.
When working with such systems, no one should rely only on the documentation, he admitted.