🎙️ BOLT 12 with Rusty Russell
Twitter’s tipping feature is a fantastic showcase for Lightning. But if we can simply add a Bitcoin address to our Twitter profile, why can’t we just do the same with Lightning?
With Offers, you scan a QR code, your wallet prompts you to pay it, just like with regular invoices today (defined by BOLT 11). But it could also offer to send you money, like for an ATM. And unlike BOLT 11 invoices, you can reuse them!
As you will see, Rusty is a very busy man, still he took the time to answer our questions. Thank you Rusty 🙏
What are the main limitations with BOLT 11 and how would BOLT 12 solve them?
Rusty Russell: There are a few things we learned since I made BOLT 11. Some are simple things, like it’s not easily extensible, the encoding is weird, and the bech32 encoding is tied closely to the format, which makes it awkward to send if you’re *not* using a QR code.
But the main problem is that BOLT 11 solves a small problem, not the big one!
It is a way to tell one person how they should pay: it’s actually dangerous to allow multiple people to try to pay the same BOLT 11 invoice, as intermediate nodes can steal the funds after the first payment reveals the secret.
What are the main similarities and differences with the lnurl standard?
Rusty Russell: lnurl was the first attempt to really solve the problem of “how do I get an invoice in the first place?” and it’s evolved to cover a pile of different related issues. It’s got some weirdness, but fundamentally it’s simple: make a web request to this fixed location, get the invoice. Every serious wallet supports it today, and it’s great.
But while using the web for this is easy for making payments from wallets, it’s not great for receiving payments: secure web connections require a certificate, tied to a domain name, and a web server. This introduces an asymmetry which the Lightning Network itself doesn’t have: anyone with a Lightning wallet is just as capable of receiving payments as they are of sending them.
Since our current systems (esp. credit cards) distinguish clearly between “vendors” and “payers”, we don’t really notice. But I don’t want to make this assumption when designing the Lightning network ecosystem.
So I wanted a Lightning-native way of getting invoices that would work for every wallet.
Of course, building such a thing is harder, but not as hard as building the LN in the first place :)
What are the next steps for BOLT 12 to be implemented?
Rusty Russell: The way the Lightning spec process works, you need two independent implementations of any proposal before it can be finalized. This isn’t just a formality: there’s no review as thorough as someone actually having to create the thing the documents describe!
So Thomas at ACINQ and Matt Corallo for Square Crypto are now working their way through implementations, and giving detailed and opinionated feedback. This means, of course, that the c-lightning implementation is going to have to change, but our users understand that it is experimental and we all want the best final outcome we can get.
One exciting feature of BOLT 12 was the recurrence ability: to have an offer which told you to fetch invoices on some regular schedule. This was a large part of the spec, however, and after discussion with ACINQ I removed this from the first version.
It will be back, but sometimes you gotta walk before you can run.
What else are you working on in the Lightning space and why?
Rusty Russell: I have three main hats: first, I work on the Lightning Spec. The decisions we make there tend to stick around, for better or worse!
Second, I lead the Lightning Team at Blockstream, which is actually an easy gig given the others in the team are Christian Decker and Lisa Neigut, both fantastic collaborators and leaders in their fields.
Finally, I work on much of the plumbing in the c-lightning implementation, often to support the spec work I’m doing.
Technically, I’m working on onion messages to send data without using an HTLC, offers, warning messages (the protocol only has “errors” at the moment, which are often too harsh), turbo channels (zero-conf if you trust the peer), web socket support (why not!), channel upgrades (great for removing ancient channel types), and splicing (long desired for adding and removing funds from a live channel, as well as allowing you to switch a channel to taproot or whatever in the future). I also try to follow all the other proposals, but these are the ones I lead.
For c-lightning itself, I’m working on implementing all these, as well as improving our pay heuristics and other fun tweaks for the coming release. I have a huge backlog of projects, including a plan to get much better at tracking transactions so we can finally implement zero-fee HTLCs in an intelligent way, and other internal reworkings which we find when new requirements emerge.
I am trying to ignore taproot, which is the other major change on the horizon! Smarter people than me are working on it, fortunately!
How do you view Lightning 10 years from now?
Rusty Russell: I hope that my Lightning wallet has evolved to the point where it will handle recurring payments, easily handle refunds where required, and the network as a whole has levels of robustness and liquidity which allow almost every payment I want.
People will tip me from the static QR on my web page sometimes, and one of the things I’ll spend sats on is regular encrypted backups of my machines across peers around the world.
Topping up, or moving out to cold storage will be greatly automated, as will channel management. Fees will be higher in sats than they are now, if only for DoS resistance, but still at a threshold where they are more an accounting detail than a real cost.
I will be increasingly annoyed at things which still use direct debit or credit card payments.
With every regular payment I make and receive in one place, my Lightning wallet is a tool which places me firmly in control as much as I want, giving me complete sovereignty over my finances.
My kids still won’t believe I wrote the first Lightning implementation, or wrote over half the specs, or BOLT 12. But they’ll use what we built far more often than they even realize, and when they do realize they’ll just tell me it’s obviously how things should work!
☂️ We’re on Umbrel baby
Our first app is self-sovereign with Umbrel! We are excited to be part of Umbrel latest release, especially with other cool new apps in the Umbrel Store such as Node-RED and Krystal Bull by SuredBits, which allows you to become a Bitcoin oracle, a crucial component for Discreet Log Contracts (DLCs).
By the way, we could infer that the increase in the number of Lightning nodes was linked to the popularity of Umbrel, but who could have guessed that it was to that extent?! These numbers are just mind-blowing:
And speaking nodes and Lightning adoption, massive congrats to the Plebnet movement!
📊 From the options tradooor desk
Options trading is coming to LN Markets. And our options dashboard is a great way to prepare your new options tradooor journey!
Here are a few takeaways for current market conditions.
📈 Bitcoin forward prices are in contango: forward prices are higher than the spot price. Contango usually occurs when an asset price is expected to rise over time.
This market situation enables traders to perform the famous cash and carry arbitrage strategy: buy Bitcoin spot + sell Bitcoin forward (profitable as long as the forward rate is superior to the borrowing rate to buy Bitcoin spot).
😀 This curve called a smile shows, for the 6-month expiry, the shape of the implied volatility for each possible strike. To make it short, this curve reflects the market view of the shape of the probability distribution for BTCUSD.
As expected we can see that this curve is super steep on both left and right sides. This is a called a "fat-tailed" distribution. In other words, the probabilities to have super sharp moves on both up and down sides are very high. Hum... Surprising no?
🚀 Options market participants seem to be more interested (more orders, bigger bubbles) by the right side of the smile curve (high strikes in the 70-80k range). Anticipating a move higher for Bitcoin by the end of the year?
💰 Big size on the offer side for the Bitcoin Put expiry June 2022, with a strike at 15,000. Options traders do not believe this is a likely scenario and looking to sell the option to pocket the premium?
🔥 Epic thread on why we Bitcoin by 👑 JC!
😆 In the Bitcoin ETF ticker race, Valkyrie is a clear winner with their $BTFD
📢 To all Bitcoin start ups out there, Andrej is a fantastic designer here to help you!
🎄 Because it’s never too early to prepare Xmas gifts for your loved ones
Thank you for your support, let’s build the future of finance together!