mirror of
https://github.com/lightning/bolts.git
synced 2024-11-19 01:50:03 +01:00
BOLT: Basis of Lightning Technology (Lightning Network Specifications)
aed3d28d5a
A BOLT11 "invoice" has proven too low-level for human use in many scenarios. Efforts like lnurl have covered the gap, but integrating some of such higher layers into the lightning protocol itself has many advantages. This draft defines three new things: 1. A new invoice format. I know, this is painful, but it maps almost 1:1 to the current format (though signatures are very different), is easier to implement, and easier to send via the lightning network itself. 2. Formats for an "offer", which for all intents and purposes serves as the new, persistent invoice for users. 3. Format for an "invoice_request": this is a message sent via the lightning network itself to receive the real invoice, or can be used directly in a send-money scenario (e.g. ATM). The offer (for accepting payments) or invoice_request (for sending payments) are usually presented via a QR code or similar, the replies are sent using onion messages. Each copies fields from the prior so it stands alone, to allow statelessness. Features which have been deliberately omitted for the initial version: - Recurrence. - Invoice replacement ("don't accept that old payment!") - Payer proof for refunds. This effort has been EPIC, and there is absolutely no way I could have done this without the often thankless task of implementing, re-implementing, revising and re-reading this text. In particular I have been delighted to receive the mental boost from the following people: 1. Thomas H of ACINQ (https://github.com/thomash-acinq) 2. Jeffrey Czyz of Square Crypto (https://github.com/jkczyz) 3. Joost Jager (https://github.com/joostjager) 4. Aditya Sharma (https://github.com/adi2011) 5. Rene Pickhardt (https://github.com/renepickhardt) 6. Bastien Teinturier of ACINQ (https://github.com/t-bast) 7. Valentine Wallace of LDK (https://github.com/valentinewallace) 8. Matt Corallo of LDK (https://github.com/BlueMatt) Also @bjarnemagnussen, @ellemouton, @animatedbarber, @617a7a, @instagibbs, @evansmj, @eupn and @yyforyongyu. (And no doubt others over the years, who I've accidentally omitted!) Yes, of course, thanks to my family for their patience with me. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> |
||
---|---|---|
bolt04 | ||
bolt07 | ||
proposals | ||
tools | ||
.aspell.en.pws | ||
.copy-edit-stylesheet-checklist.md | ||
.gitattributes | ||
.travis.yml | ||
00-introduction.md | ||
01-messaging.md | ||
02-peer-protocol.md | ||
03-transactions.md | ||
04-onion-routing.md | ||
05-onchain.md | ||
07-routing-gossip.md | ||
08-transport.md | ||
09-features.md | ||
10-dns-bootstrap.md | ||
11-payment-encoding.md | ||
12-offer-encoding.md | ||
CONTRIBUTING.md | ||
README.md |
Lightning Network In-Progress Specifications
The specifications are currently a work-in-progress and currently being drafted.
Pull requests and comments welcome, seeking input from community stakeholders.
Discussion available on the lightning-dev mailing list.
Start here for Table of Contents
This work is licensed under a Creative Commons Attribution 4.0 International License.