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.
- 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:
- History and philosophy of Bitcoin and the Bitcoin Core project, the BIP process, important
- Contributing to Bitcoin Core: examples of PRs and code rev
- The architecture of Bitcoin
- Bitcoin consensus and transact
- The P2P net
- A history of chain forks and fail
- SegWit: rationale, history, design, activa
- Payment channels and light
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.