Entering Summer 2023

My gap semester has officially ended, and Summer of Bitcoin starts this upcoming Monday, May 15th 2023. I figure this would be a good time to reflect on my semester, and think about how I want to approach the summer.

What I did this semester

I got comfortable with contributing. Became more confident learning in public. Learned about many different areas of the codebase. Was even helpful in small ways.

I got comfortable with reviewing. I usually would give a one-off review, asking questions to understand the code and sharing anything notable I could find.

Learned a lot about Rust. Partly what’s possible and used in various areas of rust-lightning, but also more core programming and basic stuff through cryptopals. Definitely learned a lot about cryptography from cryptopals as well.

Learned a lot about Bitcoin. Came to understand important fundamentals of banking, as well as important aspects of the trust model of a full node, how mobile bitcoin/LN wallets work, more about scripting, transactions, the mempool, taproot, and much more.

Learned a lot about lightning. Important concepts have really set in as I’ve had to reason about them, and of course as I’ve seen how they actually manifest in code in a lightning implementation. I’ve also just explored so much of the BOLTs that I never had before.

What I want to do this summer

Execute well on my Summer of Bitcoin projects. After submitting my proposal I realized there are several things I didn’t account for regarding implementing watchtower support. I definitely want to do this and custom HTLC TLVs well. Sounds like SoB appreciates contributions to their blog so I might try and write a couple posts as well.

Continue to work on rust-lightning PRs. Lots of things I can still learn and help out with.

Revisit PRs as they progress instead of just giving one off reviews. I want to get closer to being a regular reviewer.

Get involved more with protocol development. Maybe read more of the mailing list, review the taproot PRs, pay attention more to open BOLT PR discussion, dedicate more time to open exploration.

Build some more stuff with Rust. Cryptopals was fun, but they were one-off challenges. I want to understand what it’s like to build and maintain a system for longer. I’ll probably try to build at least some sort of web app for fun. Maybe will use it as an excuse to play around with integrating lightning and/or nostr.

Finish the rest of the cryptopals sets. Review and polish past ones. Maybe do a writeup.

Do some reading, mainly on some economics. Economics will help me understand Bitcoin more in that context, but generally it’s just something I’m interested in understanding better.