Following last fall’s successful program, Chaincode Labs is hosting another residency program in January/February 2018. This year we’re holding two sessions, each lasting two weeks.

Session A (January 29th — February 9th) is appropriate for developers who already work on Bitcoin or Bitcoin applications and who want an opportunity to dive deep into protocol design, adversarial thinking, threat models and security considerations with long-standing Bitcoin Core developers. We will also discuss Bitcoin’s most pressing challenges: scaling, fungibility and privacy. Topics covered:

Categorization of threat models: centralization pressures, consensus issues, user protection, privacy and fungibility

Mining: history, pools, mining centralization pressures, mining games

Soft forks: approaches and history, Flag day upgrades, IsSuperMajority signaling, BIP9 signaling, BIP148 UASF, BIP91, etc

Hard forks: history, current research, consensus and network considerations

Consensus approaches: proof-of-work, proof-of-stake, other models

Fungibility and scalability: trade-offs for different approaches, chain analysis, fungibility technologies, signature aggregation, key aggregation

Smart contracts and trustless systems: lightning, tumblebit, sidechains, discreet log contracts and scriptless scripts

Session B (February 12th — February 23rd 2018) is appropriate for software developers with an interest in Bitcoin technologies and who want to contribute to Bitcoin Core or other open source Bitcoin projects, but who have not yet done so. We will cover aspects such as:

The history and philosophy of Bitcoin and the Bitcoin Core project, the BIP process, important BIPs

Contributing to Bitcoin Core: examples of PRs and code reviews

The architecture of Bitcoin Core

Bitcoin consensus and transactions

The P2P network

A history of chain forks and failures

SegWit: rationale, history, design, activation

Payment channels and lightning

Candidates who are able to dedicate four weeks to working on Bitcoin may apply to both sessions.

Expect both sessions to be very hands-on. We’ll spend about half the time on talks covering the topics above, not to mention great conversation over lunch. Primarily, though, you’ll learn by doing — either by carrying out independent research and investigating systems you find interesting in the space, or by contributing to Bitcoin Core or related projects while collaborating with established Bitcoin Core developers. Talks will primarily be led by Matt and John, with input from Alex, Suhas and Russ. There may also be guest speakers over the four weeks.

Wednesday Night meetups

To extend participation to those who live in the New York area but are not able to dedicate two or four weeks to attending the Residency program, we are also opening our doors to a small number of participants on Wednesday evenings in the weeks leading up to the Residency. We’ll go over some of the material from the Residency program and be on hand to help with your Bitcoin Core PR or related project.

If you’ve wanted to contribute to Bitcoin Core or are working on an open-source Bitcoin project and want some guidance from established Bitcoin Core contributors in an informal setting, this is a great opportunity.

Applying

If either of these programs sound interesting to you, please visit the Residency Website, where you can find full details on applying.