Last week, Bitcoin Developer Marco Falke logged his 1,752nd commit to the Bitcoin Core codebase, passing W. J. van der Laan to become the project’s most prolific Core Dev in terms of individual changes submitted.
Falke, who has been a full-time Bitcoin Core repository maintainer since 2016, is quick to point out that many of his commits are minor tweaks that can be easily merged into the codebase, and that this milestone does not make him Bitcoin’s most important or enterprising contributor. But, after all, Bitcoin is code, and the work that Falke does every day as a code maintainer — reviewing contributions to ensure that they improve the protocol, maintaining network continuity, and organizing the code so that developers can easily work with it — is critical.
“I believe the majority of my contributions are smaller improvements, each of which is exciting for its own reasons,” Falke told us. “I’ve mostly kept improving my testing and devoting time to quality assurance and review.”
Falke’s contributions to Bitcoin’s testing infrastructure, which he identified early on as an inefficiency in the project that he was passionate about improving, have probably been the most significant. Bitcoin’s test environment is used to evaluate potential code changes, allowing developers to peer review each other’s work and spot potential issues. Falke has spent much of his career working to improve the test environment and make the process more efficient.
“When I realized how important Bitcoin Core was, I realized that the testing infrastructure for Bitcoin Core was woefully inadequate, and I was motivated to improve it,” said Falke, who began “lurking” on the Bitcoin project in 2014 and began contributing code the following year. “For example, back then, most functional tests were either superficial or completely broken, incapable of detecting any issues at all. I started by fixing the obvious bugs in the tests and rewriting the test framework to use modern Python 3, rather than the deprecated Python 2 at the time.”
Falke was based in New York City until last year, where he worked full-time for Bitcoin research and development firm Chaincode Labs. But now, thanks to an open-source developer grant from cryptocurrency exchange OKCoin, he works remotely from an undisclosed location, a revenue source he claims makes it much easier for developers to work on open-source projects like Bitcoin Core.
“Aside from my work, I enjoy getting (mostly) regular and adequate sleep, because my brain will refuse to work if I go more than a few days without getting at least eight hours of sleep,” Falke added. “I also try to exercise at least every other day to give my brain more time to recover and to keep the rest of my body stimulated through sport.”
It should come as no surprise that Bitcoin’s most active maintainer, who is also one of the project’s quality assurance leaders, considers the project’s notorious resistance to change to be one of its most distinguishing characteristics.
Falke said of Bitcoin Core as a software project, “One major difference is the level of scrutiny.” “Any change to Bitcoin Core must go through a code review process. Changes that affect critical areas (such as consensus or networking code) or are deemed riskier must be reviewed by multiple people… This is a good thing for Bitcoin, because users don’t want the consensus rules to change at random.”
Bitcoin, as the world’s most important open-source software project, is a trailblazer in a number of ways. Another important feature of the Bitcoin project, according to Falke, is the ability for users to verify new code releases (which are provided as “compiled release binaries,” or compiled versions of the application for computers to read and implement) and protect against malware injection. Core Devs provide “reproducible builds,” software compilations that serve as instructions to verify new code, to help users authenticate the new releases — something Falke believes should be a standard way to ship releases in the world of open-source software, but isn’t.
Finally, Falke emphasized Bitcoin’s extensive “fuzz testing,” a quality assurance technique that aids in the detection of code errors that could otherwise lead to security breaches or other issues.
He added, “Bitcoin Core is also extensively fuzz tested, which isn’t yet the norm for the average open-source project.” “While I am pleased with the overall state of our testing infrastructure, I believe that fuzz tests are still a low-hanging fruit for improvement.”
Falke also sees education as a major need in the Bitcoin developer community, which he tries to address as much as possible.
Falke is clearly happy to maintain the network and keep it running for the rest of us as someone whose work is in the daily nurturing of Bitcoin Core, which is now leading its history in the number of successful changes made to the code.