1
0
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)
Go to file
Rusty Russell aed3d28d5a BOLT 12: offers, sixth draft
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>
2024-09-24 19:40:59 +09:00
bolt04 BOLT 4: fix nomenclature in bolt04/route-blinding-test.json 2024-07-30 06:57:20 +09:30
bolt07 Add test vector for extended queries 2019-09-16 22:36:59 +02:00
proposals bolt4+proposals: fix max_cltv_expiry calculation (#1176) 2024-07-15 22:20:48 +02:00
tools tools/spellcheck.sh: more generally ignore things inside ``. 2024-09-24 19:40:59 +09:00
.aspell.en.pws BOLT 12: offers, sixth draft 2024-09-24 19:40:59 +09:00
.copy-edit-stylesheet-checklist.md Fix typos 2019-09-26 06:12:41 +00:00
.gitattributes Make Markdown linguist-detectable (#930) 2021-10-25 20:55:05 +02:00
.travis.yml spelling: check all the .md files 2019-07-28 07:03:19 +00:00
00-introduction.md Fix typo: 'them' instead of 'her' (#1005) 2022-06-27 08:24:41 +02:00
01-messaging.md Add a sciddir_or_pubkey fundamental type 2024-09-24 19:40:59 +09:00
02-peer-protocol.md Clean-up nits 2024-07-17 10:40:35 +09:30
03-transactions.md Fix broken links to anchor section (#1000) 2024-09-18 13:32:39 +02:00
04-onion-routing.md Add a sciddir_or_pubkey fundamental type 2024-09-24 19:40:59 +09:00
05-onchain.md Clean-up: follow-up on removing spec features 2024-05-21 10:58:55 +02:00
07-routing-gossip.md BOlT07: clarify dont_forward bit use cases. (#1198) 2024-09-18 13:37:56 +02:00
08-transport.md BOLT 8: make it clear that there are *two* chaining keys. 2023-07-18 05:38:27 +09:30
09-features.md Make blinded link work (#1190) 2024-08-12 17:00:39 +02:00
10-dns-bootstrap.md BOLT 10 copy edit (#440) 2018-08-07 00:10:11 +00:00
11-payment-encoding.md Bolt 11: add example SHA256 hash of description (#994) 2024-09-18 11:09:49 +02:00
12-offer-encoding.md BOLT 12: offers, sixth draft 2024-09-24 19:40:59 +09:00
CONTRIBUTING.md CONTRIBUTING.md: modern feature bit assignment. 2023-09-26 05:42:35 +09:30
README.md Fix typo in name mailing list name (#931) 2021-10-27 15:54:09 +02:00

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

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.