Erik Weijers, 6 months ago
BOLT12 is a new improvement proposal for Bitcoin's Lightning Network. It offers a ton of functionality but was mainly developed to overcome the privacy issue of Lightning payments. One company, Blockstream, has already implemented the technology on its Lightning implementation.
Whereas upgrade proposals to the Bitcoin network are called BIPs (Bitcoin Improvement Proposals), BOLT is the acronyms for any improvement proposal to Bitcoins' Layer 2 fast payment solution: the Lightning Network. Because Lightning has a privacy problem. It costs users in terms of privacy whenever they open or close a Lightning channel.
BOLT12 is an attempt to make privacy a feature on Lightning's protocol level: to bake into the network itself, instead of appended on the application level.
The user experience of BOLT12 is quite different from the current Lightning version, BOLT11. The difference is that in BOLT11 the QR code you send, which is the invoice, is only meant for the person who will pay you. Also, the invoice can only be used once.
In BOLT12, the invoice you send is a QR code that is called an 'offer'. "An "offer" has enough information for you to reach out and fetch a real invoice from the vendor, through the Lightning Network itself." After obtaining an offer, a payer will use the information encoded in it to send a message that requests an invoice. The creator of the offer will then send the actual invoice.
Crucially, you can publicly share this 'offer' QR code and reuse it. Reusable QR codes pave the way for use cases like recurring subscriptions and recurring donations.
The BOLT12 privacy improvement was made possible by Bitcoin's last year's Taproot upgrade. The increased privacy comes from Taproot's feature that simple transactions are indistinguishable from more complex ones, for example, transactions with multiple signatories.
This is essential to Lightning: every lightning transaction has two people that need to sign. It is the very foundation of Lightning: transactions happen between two parties that open a channel amongst themselves. Random people across the globe are seldom further than six handshakes away, and the same goes for Lightning channels. A payment from random strangers can thus hop across a handful of channels and reach its destination.
In the current state of affairs, in a lightning channel you have to share private details with the sender (via an invoice). A feature in BOLT12 called route blinding (also called “blinded paths”) makes it possible for the sender to make that same payment to an anonymous recipient by hiding details about the route or path a payment has taken.