Page 1 of 1

Programming Lightning Workshop @ Presidio Bitcoin

A 1-day in-person workshop where participants dive into coding Lightning transactions from scratch, leveraging Socratic questioning, diagrams, and small-group discussions to gain a deeper understanding.

https://storage.tally.so/3117cc5b-0aa5-4c92-ae5e-a1789c103a4e/istockphoto-1218878867-612x612.jpg
Hi, I'm Austin and I'm a Spiral Grantee working on Programming Lightning. What is Programming Lightning? Programming Lightning is a Replit-based workshop designed to teach students how the Lightning Network works. Inspired by Programming Bitcoin, the workshop includes coding exercises throughout the course to reinforce concepts and provide hands-on experience. We start the workshop by gently introducing the concept of a naive "payment channel" (i.e., sending "off-chain" payments via a series of text/email messages). We identify all of the security issues with this "payment channel" and begin solving them one-by-one. Along the way, we leverage the socratic method to build our intuition for each step, asking question such as “what problem is this step solving?”, “what security issues still remain”?, etc. This workshop makes heavy use of diagrams, which hopefully helps visual learners (like me!). Since the entire workshop takes place in Replit, each participant will be able to seamlessly run a bitcoin node within their Replit environment, allowing them to simulate broadcasting their own Lightning network transactions without the hassle of setting up a bitcoin node. What will you learn after attending this workshop? Participants will gain an intuitive understanding of how Lightning channels work, including an introduction (and optional deep dive) to Lightning channel keys, Hashed Timelock Contracts (HTLCs), and the process of revoking old channel states. We'll cover important topics such as: why does Lightning have asymmetric commitment transactions?, why do HTLCs make Lightning payments atomic?, why do we need second-stage HTLC transactions?, etc. Since the workshop is also a free, self-paced course, participants will be able to return to the workshop and refresh these concepts whenever they'd like. Prerequisites To get the most out of the workshop, you should have a conceptual understanding of Bitcoin Script, transactions, and elliptic curve cryptography. You don’t need to be an expert, but we'll build on these concepts quickly, so it's important that you have a foundation to work upon. A good benchmark to see if you're ready would be your understanding of:
1. Pay-To-Witness-Script-Hash (P2WSH): If you understand how this works, you should be in a good place to grasp everything in this course.
2. Elliptic Curve Cryptography: If you understand the process of deriving public keys from private keys and adding public keys together, you'll be in good shape! Again, you don't have to be an expert, but you should have some understanding of these concepts.
If you’d like to brush up beforehand, here are a few excellent resources: - Script (Free): https://learnmeabitcoin.com/technical/script/ - Transactions (Free): https://learnmeabitcoin.com/technical/transaction/ - Transactions + Script ($119): https://www.udemy.com/course/base58-bitcoin-transactions-one/ - Elliptic Curve Cryptography (Free): https://learnmeabitcoin.com/technical/cryptography/elliptic-curve/
You should also have some programming experience. While the exercises are written in Rust, they’ve been simplified so that you can complete them even if you have a general background in another programming language (e.g., Python, JavaScript, etc.). Where will this take place? We'll host this event at Presidio Bitcoin, a Bitcoin co-working and event space in San Fransisco. It's got beautiful views, which you'll see if you attend the workshop :)
What if you get hungry? Don't worry - we'll break for lunch in the middle of the day! Some food (likely, pizza) and drinks (mostly water + coffee) will be provided. Once we select a date, I'll reach out to selected participants and inquire about any food allergies.

Full Name

Email Address

Please provide links to at least one social media account (Ex: Twitter, LinkedIn, GitHub).

Please select all weekend dates that you will be available to attend in-person at Presidio Bitcoin from 10am - 5pm.

Please select all weekend dates that you will be available to attend in-person at Presidio Bitcoin from 10am - 5pm.

What is your level of expertise with (Rust) coding?

What is your level of expertise with (Rust) coding?
A
B
C
D

What is your level of expertise with Bitcoin Script and Transactions?

What is your level of expertise with Bitcoin Script and Transactions?
A
B
C

(Optional) - If you have any other questions or comments, please feel free to write them here. I'll do my best to review and respond accordingly.