An open API service indexing awesome lists of open source software.

https://github.com/chaincodelabs/lightning-curriculum

Lightning Network Protocol Development Curriculum
https://github.com/chaincodelabs/lightning-curriculum

bitcoin lightning-network

Last synced: about 1 year ago
JSON representation

Lightning Network Protocol Development Curriculum

Awesome Lists containing this project

README

          

# Lightning Network Curriculum

## What Is This?

While planning the [Chaincode Residency](https://residency.chaincode.com/), we put considerable effort into finding the best resources and creating a curriculum around Lightning protocol development. You can find all of our published materials on our [resources page](https://residency.chaincode.com/resources.html#resources).

Lightning is still a nascent technology, and so we expect maintenance of this document to be an ongoing task. We could use your help. Please **consider opening a pull-request** to keep this document relevant.

There are two portions to this curriculum:

1. [Study Groups](https://github.com/chaincodelabs/study-groups#lightning) designed to provide bite-sized grouped subjects that you can either complete bookclub style or alone.
2. [Lightning Syllabus](##lightning-syllabus) a collection of resources grouped by subjects.

## Lightning Syllabus

| Subjects | Topics | Sub-topics | Sources |
|--------------------------|----------------------------------------------------------|-----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| What is Lightning? | | | [The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments](http://lightning.network/lightning-network-paper.pdf), [What is the Lightning Network and how can it help Bitcoin scale?](https://coincenter.org/entry/what-is-the-lightning-network), [The Lightning Network Evolving Bitcoin into a layered system](https://medium.com/scalar-capital/the-lightning-network-cf836329626b), [Understanding the Lightning Network, Part 1: Building a Bidirectional Bitcoin Payment Channel](https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-building-a-bidirectional-payment-channel-1464710791/), [Understanding the Lightning Network, Part 2: Creating the Network](https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-creating-the-network-1465326903/), [Understanding the Lightning Network, Part 3: Completing the Puzzle and Closing the Channel](https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-completing-the-puzzle-and-closing-the-channel-1466178980/), [Reaching The Ground With Lightning](https://github.com/ElementsProject/lightning/blob/master/doc/deployable-lightning.pdf), [Scaling Bitcoin to Billions of Transactions Per Day, 2015](https://www.youtube.com/watch?v=8zVzw912wPo), [Lightning Network Deep Dive with Laolu "Roasbeef" Osuntokun](https://www.youtube.com/watch?v=b_szGaaPPFk), [The #Bitcoin #Lightning Spec](https://medium.com/@rusty_lightning/the-bitcoin-lightning-spec-part-1-8-a7720fb1b4da), [Lightning Network Glossary](https://en.bitcoin.it/wiki/Lightning_Network) |
| What is Lightning? | Introduction | Lightning Layers | [How the Lightning Layers Fit Together](https://diyhpl.us/wiki/transcripts/scalingbitcoin/tel-aviv-2019/edgedevplusplus/lightning-network-routing/), [A Lightning Application Design Perspective](https://www.youtube.com/watch?v=1R5DNUcCYRg) |
| What is Lightning? | Introduction | History of LN | [History of the Lightning Network](https://www.youtube.com/watch?v=HauP9F16mUM), [The Future of Bitcoin: What Lightning Could Look Like](https://bitcoinmagazine.com/articles/future-bitcoin-what-lightning-could-look/), [The History of Lightning: From Brainstorm to Beta](https://bitcoinmagazine.com/articles/history-lightning-brainstorm-beta/) |
| What is Lightning? | Lightning ≈ Bitcoin | | [Lightning ≈ Bitcoin](https://www.youtube.com/watch?v=8lMLo-7yF5k) |
| What is Lightning? | Lightning ≈ Bitcoin | Revisting tx malleability | [SF Bitcoin Devs Seminar: Transaction Malleability: Threats and Solutions](https://www.youtube.com/watch?v=jyDE-aFqJTs) |
| How Layers fit together | Overview | | [How the layers of Lightning Fit Together Seminar Video](https://youtu.be/krux2v0jt4E) |
| How Layers fit together | Update | | [The Update Layer Seminar Video](https://youtu.be/SoFlRCNdqDg) |
| How Layers fit together | Transfer | | [The Transfer Layer Seminar Video](https://youtu.be/CGE8I8L7BAc) |
| How Layers fit together | Multihop | | [The Multihop Layer Seminar Video](https://youtu.be/P7I-C0_sijg) |
| How Layers fit together | Others | | [The Base an Transport Layers Seminar Video](https://youtu.be/wyri7cc83kQ) |
| Transfer | Payment channel | General Concept | [Payment Channel Overview](https://bitcoinmagazine.com/technical/understanding-the-lightning-network-part-building-a-bidirectional-payment-channel-1464710791) |
| Transfer | Payment channel | Public channel | [Do the channel balances get publicly announced in real-time on Lightning Network?](https://bitcoin.stackexchange.com/questions/80130/in-lightning-network-is-the-balance-publicly-anounced-in-realtime), [The open_channel Message](https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#the-open_channel-message) |
| Transfer | Payment channel | Imbalance measure and proactive channel rebalancing | [Imbalance measure and proactive channel rebalancing video](https://youtu.be/KQX_cSenxNI), [Imbalance measure and proactive channel rebalancing algorithm paper](https://arxiv.org/abs/1912.09555) |
| Transfer | Payment channel | Exhausted channels | |
| Transfer | Payment channel | Channel reserve | [open_channel Message Rationale](https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#rationale) |
| Transfer | Transactions | BOLT | [BOLT #3: Bitcoin Transaction and Script Formats](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md) |
| Transfer | Transactions | Funding Transaction | [Funding Transactions as a Generalized Design Pattern for Offchain Protocols](https://zmnscpxj.github.io/offchain/generalized.html), [Funding Transaction Output](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md#funding-transaction-output), [The funding_created Message](https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#the-funding_created-message) |
| Transfer | Transactions | Commitment Transaction | [Commitment transactions - wiki](https://en.wikipedia.org/wiki/Lightning_Network#Commitment_transactions), [Commitment Transaction - Bolt#3](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md#commitment-transaction) |
| Transfer | Transactions | Closing Transaction | [Closing a Channel in Lighting Network](https://bitcoin.stackexchange.com/questions/80394/closing-a-channel-in-lightning-network), [Closing Transaction](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md#closing-transaction) |
| Transfer | Transactions | Penalty Transaction | [Revoked Transaction Close Handling](https://github.com/lightningnetwork/lightning-rfc/blob/master/05-onchain.md#revoked-transaction-close-handling) |
| Transfer | Transactions | Mutual Close | [Distinguishing mutual and unilateral channel closing in the Bitcoin blockchain](https://medium.com/coinmonks/distinguishing-mutual-and-unilateral-channel-closing-in-the-bitcoin-blockchain-ec2e0e7d71f4), [Mutual Close Handling](https://github.com/lightningnetwork/lightning-rfc/blob/master/05-onchain.md#mutual-close-handling) |
| Transfer | Transactions | Unilateral Close | [Unilateral Close Handling: Local Commitment Transaction](https://github.com/lightningnetwork/lightning-rfc/blob/master/05-onchain.md#unilateral-close-handling-local) | | | commitment-transaction |
| Transfer | Transactions | Fee negotiation | [BOLT #2: Peer Protocol for Channel Management](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#closing-negotiation-closing_signed) | | closing_signed |
| Transfer | HTLC | Overview | [What Are Hashed Timelock Contracts (HTLCs)? Application In Lightning Network & Payment Channels](https://hackernoon.com/what-are-hashed-timelock-contracts-htlcs-application-in-lightning-network-payment-channels-14437eeb9345), [Lightning Networks Part II: Hashed Timelock Contracts (HTLCs)](https://rusty.ozlabs.org/?p=462) |
| Transfer | HTLC | Hashlock | [HTLC implementation Bitcoin Core](https://github.com/bitcoin/bitcoin/pull/7601) |
| Transfer | HTLC | Timelocks | [Bitcoin’s Time Locks](https://medium.com/summa-technology/bitcoins-time-locks-27e0c362d7a1), [Timelock - wiki](https://en.bitcoin.it/wiki/Timelock), [Bitcoin Timelocks in a nutshell](https://medium.com/@RobinHung/bitcoin-timelocks-in-a-nutshell-4c95aafc7a59) |
| Transfer | HTLC | Revocation Key | [Lightning Networks Part I: Revocable Transactions](https://rusty.ozlabs.org/?p=450) |
| Transfer | HTLC | Relative Locktime/CLTV | [BIP 65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki) |
| Transfer | HTLC | Hash Pre-image | [What is a hash pre-image as it is used for the breach remedy?](https://bitcoin.stackexchange.com/questions/48053/what-is-a-hash-pre-image-as-it-is-used-for-the-breach-remedy), [Offered HTLC Outputs](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md#offered-htlc-outputs) |
| Transfer | HTLC | payment basepoint/revocation basepoint | [Key Derivation](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md#key-derivation) |
| Transfer | HTLC | Per-commit secret/Commitment number | [Key Derivation](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md#key-derivation) |
| Transfer | HTLC | HTLC fulfillment/failure | [Removing an HTLC: update_fulfill_htlc, update_fail_htlc, and update_fail_malformed_htlc](https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#removing-an-htlc-update_fulfill_htlc-update_fail_htlc-and-update_fail_malformed_htlc) |
| Transfer | Payment | Invoice | |
| Transfer | Payment | Payment Request | |
| Update | Invoices | Bolt11 encoding | [BOLT #11: Invoice Protocol for Lightning Payments](https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md) |
| Update | Gossip | Gossip Protocol | [BOLT #7: P2P Node and Channel Discovery](https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md), [Gossip Protocol/Path Finding seminar video](https://youtu.be/MeEFUaRnMak) |
| Update | Transactions | LN-Penalty | |
| Update | Transactions | Eltoo payment channels | [eltoo: A Simple Layer2 Protocol for Bitcoin](https://blockstream.com/eltoo.pdf), [Eltoo and the far future with Christian Decker](https://youtu.be/3ZjymCOmn_A) |
| Update | Trampoline Payments | Overview | [Trampoline Payments Seminar Video](https://youtu.be/1WmIjHrjFsg) |
| Multihop | Sphinx | Overview | [Using Sphinx to Improve Onion Routing Circuit Construction (short paper)⋆](https://www.cypherpunks.ca/~iang/pubs/SphinxOR.pdf), [Sphinx: A Compact and Provably Secure Mix Format](http://diyhpl.us/~bryan/papers2/bitcoin/Sphinx:%20A%20compact%20and%20provably%20secure%20mix%20format.pdf), [Security Analysis of the Lightning Network](http://diyhpl.us/wiki/transcripts/blockchain-protocol-analysis-security-engineering/2017/lightning-network-security-analysis/) |
| Multihop | Onion Routing | Overview | [Onion routing seminar video](https://youtu.be/D4kX0gR-H0Y), [Sphinx and Onion routing](https://diyhpl.us/wiki/transcripts/scalingbitcoin/tel-aviv-2019/edgedevplusplus/lightning-network-sphinx-and-onion-routing/), [Onion Routing with HTLCs on the Lightning Network explained! - Beginner / Experts](https://www.youtube.com/watch?v=toarjBSPFqI) |
| Multihop | Onion Routing | Public vs. Private channel | [Do the channel balances get publicly announced in real-time on Lightning Network?](https://bitcoin.stackexchange.com/questions/80130/in-lightning-network-is-the-balance-publicly-anounced-in-realtime) |
| Multihop | Onion Routing | Channel announcements | [BOLT #2: Peer Protocol for Channel Management](https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#the-open_channel_message) |
| Multihop | Onion Routing | Routing fees | [The Lightning Network (Part 2) – Routing Fee Economics](https://blog.bitmex.com/the-lightning-network-part-2-routing-fee-economics/) |
| Multihop | Onion Routing | Expiry delta | [cltv_expiry_delta Selection](https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#cltv_expiry_delta-selection) |
| Multihop | Onion Routing | Route hints | [Exploring Lightning Network Routing](https://blog.lightning.engineering/posts/2018/05/30/routing.html) |
| Multihop | Onion Routing | Keysend (formally known as spontaneous payments) | [Keysend seminar video](https://youtu.be/zaBY9_eEQWE) |
| Base | Framing and feature negotiation | | |
| Transport | Noise Protocol Framework | Overview | [The Noise Protocol Framework](http://www.noiseprotocol.org/noise.html#introduction), [The Noise Protocol Framework (video)](https://www.youtube.com/watch?v=ceGTgqypwnQ) |
| Transport | Noise Protocol Framework | Noise XK | [Handshake patterns](http://noiseprotocol.org/noise.html#handshake-patterns), [Noise Explorer](https://noiseexplorer.com/patterns/XK/) |
| Atomic Swaps | Introduction | Overview | [What are Atomic Swaps? A Beginner’s Guide](https://coincentral.com/what-are-atomic-swaps-a-beginners-guide/), [Atomic Swaps: How the Lightning Network Extends to Altcoins](https://bitcoinmagazine.com/articles/atomic-swaps-how-the-lightning-network-extends-to-altcoins-1484157052/), [Atomic Swaps - Jimmy Song](https://bitcointechtalk.com/atomic-swaps-d6ca26b680fe), [Atomic Swaps on the Lightning Network - video](https://www.youtube.com/watch?v=iuNopQm1Adk) |
| Atomic Swaps | Submarine swaps vs. reverse swaps | Overview | [Submarine swaps seminar video (first 25:30)](https://youtu.be/qixhNBIHDyE), [Onboarding the Masses: Submarine Swaps](https://medium.com/chainrift-research/onboarding-the-masses-submarine-swaps-b615b6d80093), [Submarine Swaps on the Lightning Network](https://www.youtube.com/watch?time_continue=1&v=ASkyu0w_8Q8) |
| Atomic Swaps | Loops | Overview | [Loops seminar video (starting at 25:52)](https://youtu.be/qixhNBIHDyE?t=1552), [Announcing Lightning Loop Alpha: An Easier Way to Receive on Lightning](https://blog.lightning.engineering/posts/2019/03/20/loop.html), [Loop Out In-depth](https://blog.lightning.engineering/technical/posts/2019/04/15/loop-out-in-depth.html) |
| Limitations | Overview | | [Lightning Network 2.0](https://blog.theabacus.io/lightning-network-2-0-b878b9bb356e), [Major Limitations of the Lightning Network](http://diyhpl.us/wiki/transcripts/boltathon/2019-04-06-alex-bosworth-major-limitations/) |
| Limitations | Update layer | Incentive problems in the network | [Incentive problems in the network seminar video](https://youtu.be/lByQUr7zPr0) |
| Limitations | Update layer | Fee management | [Fee management seminar video](https://youtu.be/r8S3iELg9_U) |
| Limitations | Onion Routing | Routing failures | [Routing failures seminar video](https://youtu.be/z5vEyvc2vrE)