1 of 7

Flexible Lightning in Rust

Rust-Lightning, not Rusty’s Lightning!

2 of 7

Goals

  • Learn Rust!
  • Learn Lightning!
  • Improve the Spec
  • Be a Library, not a Node
    • Help existing wallets integrate lightning
    • Support partially-offline nodes/hardware wallets

3 of 7

Library Structure

  • No runtime, entirely event-driven
  • Modular Routing, Channel Management, and Chain Monitoring
    • Native Watchtower Support
  • BYO Chain Sync
  • BYO RNG/Keys
  • Multiple Peer Handling Options

4 of 7

Existing Wallets

  • Can live in any runtime (only needs malloc!)
  • C-callable
  • WASM targeting supported!

5 of 7

Hardware Security

  • Semi-Offline Nodes
  • The Trusted Watchtower Problem

6 of 7

Testing Fun

  • No Runtime Means Great Testing
  • Total Protocol Fuzzing
  • Protocol-Level Fuzzing!
  • Future Work

7 of 7

Questions?

Chaincode is running another residency this summer! Come help build this!

2-3 weeks of learning + ~2 months of project time with amazing mentors!

Apply at residency.chaincode.com