
BOLT 12: The Sleeping Giant of Bitcoin's Lightning Network
BOLT 12 is a sleeping giant within the Bitcoin ecosystem, with the potential to revolutionize Lightning Network invoicing. Despite its significance, most Bitcoin enthusiasts don't yet understand its implications. In this article, we'll break down BOLT 12 as simply as possible, outlining the problems it solves and how it might be used in the future.
Understanding the BOLTs:
BOLT stands for Basis of Lightning Technology. A BOLT is a type of draft specification similar to a BIP (Bitcoin Improvement Proposal). BOLT 12 is being developed on Blockstream's Core Lightning implementation by Rusty Russell and others on their team. For it to be considered 'activated,' it needs to be implemented by either Eclair (ACINQ), LND (Lightning Labs) or LDK (Spiral).
The Problem with BOLT 11:
To understand the need for BOLT 12, let's first examine the current invoicing protocol on Lightning, BOLT 11. BOLT 11 invoices consist of three main components: a destination (node pubkey), an amount (denominated in sats), and a payment secret (hash).
However, these invoices come with several limitations:
They can only be used once, which poses security risks due to potential leaks of the payment secret.
They must be generated in real-time, making them unsuitable for donation pages, printed price tags, and other asynchronous payment scenarios.
They can only be used to receive, not send, which prevents the use of credit invoices.
Introducing BOLT 12:
BOLT 12 is a new specification for Lightning invoices that introduces a new type of invoice called an "offer." Offers can be thought of as 'meta' invoices—an invoice on top of an invoice. Offers can be scanned and paid just like BOLT 11 invoices, but they can also be used to send money, as a push payment.
Advantages of BOLT 12 over LNURL:
While BOLT 12 offers may seem similar to LNURL, the primary difference is that BOLT 12 offers are Lightning-native. They do not require a web server, TLS certificate, or a domain name, which means they have better privacy, less centralization risk (DNS), and improved user experience for non-technical users.
Potential Uses for BOLT 12:
Subscriptions: BOLT 12 offers can be used to request payments on a recurring basis, such as daily, weekly, or monthly, denominated in USD or sats. Wallets will need to build out this functionality, but the infrastructure will be in place.
Bitcoin Lightning ATMs: Offers can send money in the form of a credit invoice, allowing for better user experience and increased adoption.
Private Refunds: Instead of creating and sending an invoice for a refund, users can scan a 'refund' offer and receive their sats without generating their own invoice. This is more private for the receiver and offers a better overall user experience.
Conclusion:
BOLT 12 is a draft specification for a new 'meta' invoice called an offer, which allows users and merchants to both send and receive payments. Offers are persistent and can be denominated in USD, mitigating BTC volatility for merchants. BOLT 12 also includes many other features, such as privacy enhancements, that were not covered in this article. With its potential to revolutionize the Lightning Network, BOLT 12 is a sleeping giant in the Bitcoin space.
Additional Resources: