Last updated: 24 October 2020
I’m a Bitcoin Core contributor and protocol researcher. Here is what I have been working on and my future plans. See also my articles and GitHub.

Overview

Bitcoin Core activity 2019-2020

  1. Among the more active contributors in code review and commits since beginning to contribute in March 2019.
  2. #19 all-time of the Bitcoin Core contributors with 190 commits merged into Bitcoin Core and a primary focus on code review.
  3. Invited to join the Bitcoin and Bitcoin Core teams in November 2019 after 7 months of contributing.
  4. Recipient of a Square Crypto 2020 generalist Bitcoin Core developer grant.
  5. Invited to CoreDev in March 2020 in San Francisco.
  6. Joined the Bitcoin Optech team in May 2020.

What i have been working on

  1. Contributing to Bitcoin Core via code review, testing, bug discovery, fixes, features, and verifying gitian signatures for each release.
  2. Contributing to the Bitcoin Core PR Review Club with John Newbery, regularly hosting meetings, and creating and co-running the BitcoinCorePRs twitter account.
  3. Writing and review for Bitcoin Optech.

Future work

  1. Continuing and deeper code review, notably of the difficult and important PRs. This is probably the most-needed work and bottleneck in Bitcoin Core development.
  2. Working to strengthen Bitcoin Core's decentralization, censorship resistance, and privacy.
  3. Working to improve Bitcoin Core's robustness: finding and fixing bugs and regressions and improving test coverage.
  4. Improving the Bitcoin Core P2P network, wallet, and RPC/CLI interfaces.
  5. Investing in developer and industry education via the Bitcoin Core PR Review Club and continued writing and review for Bitcoin Optech.
  6. Researching or implementing improvements to the Bitcoin protocol.

Background

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 at https://github.com/jonatack/bitcoin-development, which was recommended to other developers in this Bitcoin Magazine September 2019 article by Michael Folkson and has become an educational resource.

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 quickly became an active reviewer and contributor to:

In early June 2019, thanks to John Newbery and Adam Jonas, I was invited to attend the Chaincode Labs summer residency Bitcoin seminars. I spent 2 weeks in the Chaincode Labs office in Manhattan learning about Bitcoin and meeting developers and the summer residents — an amazing experience.


Future work in detail

I prioritise my time to Bitcoin roughly as follows:

Robustness > Privacy > Features > Scaling > UI

Robustness and privacy/censorship resistance are therefore my highest priorities.

Goals

  1. 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.

  2. Increasing Bitcoin Core's robustness: finding and fixing regressions and bugs, and adding missing test coverage or improving it. Robustness can also mean working on performance, modularity, or multiprocess.
  3. 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.
  4. Investing in developer and industry education and awareness of code review via the Bitcoin Core PR Review Club and continued writing and review for Bitcoin Optech.

Feel free to reach out for more details or to chat.

Best
Jon

Jon Atack
Bitcoin Core contributor and protocol researcher