Bitcoin Core activity 2019-2021
- Among the more active Bitcoin Core developers since beginning to contribute in March 2019.
- #13 all-time of the Bitcoin Core contributors with 460 commits merged into Bitcoin Core and a primary focus on code review.
- Invited to join the Bitcoin and Bitcoin Core teams in November 2019 after 7 months of contributing.
- Recipient in March 2020 of one of the first Square Crypto Bitcoin Core developer grants, renewed in 2021.
- Invited to CoreDev in March 2020 in San Francisco.
- Joined the Bitcoin Optech team in May 2020.
- Recipient in July 2021 of the first Strike Bitcoin developer grant from the proceeds of the Indy 500 Bitcoin racing car run by Ed Carpenter Racing.
- Recipient in August 2021 of the first Compass Mining Bitcoin developer grant organised via the Human Rights Foundation.
What i have been working on
- Contributing to Bitcoin Core via review, features, bug discovery, fixes, testing and improving test coverage, and verifying gitian signatures for each release.
- Contributing to the Bitcoin Core PR Review Club and creating and co-running the BitcoinCorePRs twitter account.
- Writing and review for Bitcoin Optech.
- Working to strengthen Bitcoin Core's decentralization, censorship resistance, and privacy.
- Continuing and deeper code review, notably of the more difficult and important PRs. This is probably the most-needed work and bottleneck in Bitcoin Core development.
- Working to improve Bitcoin Core's robustness: finding and fixing bugs and regressions and improving the correctness of the code and test coverage.
- Researching or implementing improvements to the Bitcoin protocol.
I began programming at age 9 in BASIC and assembly language. From age 14 to 18, I wrote several professional games in assembly for Atari and Commodore computers that were internationally published and widely known.
I studied Computer Science at Harvey Mudd College in Claremont, California (USA), Business Administration and French at Oregon State University, followed by an MBA at INSEAD in Fontainebleau, France. In addition to software engineering, I have 2 years of marketing brand management experience in mass consumer products at L'Oréal from their world headquarters in Paris. I speak English, French, German, and some Russian.
Over the past decade I have been a freelance software engineer for large companies and an open source contributor (Ruby on Rails Top 100) and library author/maintainer, notably of Ransack, the leading Ruby search engine, but also of Kraken Ruby Client, an API client for the Kraken cryptocurrency exchange featured in the Kraken API documentation.
In March 2019, I started learning to contribute to Bitcoin Core, beginning with studying the repository and the social process and technical details of contributing to the project. I've been compiling and curating this knowledge here and at https://github.com/jonatack/bitcoin-development, which was recommended to other developers in this Bitcoin Magazine September 2019 article by Michael Folkson.
It became clear that what is most needed and useful, and paradoxically the least done by new contributors, is review and testing of PRs and issues. More than 350 pull requests and 500 issues are open at any given moment in Bitcoin Core waiting for experienced review and testing, and the amount continues to increase. The maintainers need help!
I prioritise my time to Bitcoin roughly as follows:
Decentralization > Robustness > Privacy > Features > Scaling > UI
Decentralization, censorship resistance, robustness, and privacy are therefore my highest priorities.
Dedicating time to review of the important, critical
PRs that often sit for months without enough review to be
merged and have to go through multiple painful rebases, which
blocks vital progress and demotivates experienced long-term
contributors from working on Bitcoin Core.
The number one bottleneck in Bitcoin Core is experienced review of difficult PRs. As Steve Lee of Square Crypto once wrote to me: "If literally all a developer did was review hard but important PRs it'd be incredibly valuable."
The idea is to unblock these critical PRs not only by reviewing them, but also coordinating with the maintainers and other contributors to ensure timely review where it is most needed and difficult.
- Increasing Bitcoin Core's robustness: finding and fixing regressions and bugs, improving the code, and adding missing test coverage or improving it.
- Strengthening Bitcoin Core's decentralization, censorship resistance and privacy by working on the peer-to-peer network privacy and resistance to surveillance and attacks: researching and proposing improvements, and collaborating with and testing work by fellow developers and researchers.
Feel free to reach out for more details or to chat.