I have noticed Lightning Address receiving a lot of attention over the past few months. It has quickly gained adoption by many Lightning wallets. I think it’s a pretty useful tool for making Lightning payments easier for the user to accept.
I’ve also heard some criticisms of Lightning Address. I decided to try and work through some of these issues from a design perspective.
About Lightning Address
Lightning Address is an internet identifier; in other words, it looks like an email address.
We created the Lightning Address protocol to empower everyone to send money like we send emails — instantly and abundantly.lightningaddress.com
A long-standing UX problem in Bitcoin has been Bitcoin addresses look confusing and incomprehensible to the average user. Lightning compounds this issue with BOLT11 invoices, which look just as confusing in addition to being far longer than on-chain addresses. BOLT11 QR codes actually look distinctive because of how tiny the squares must be in order to fit all the invoice data.
LNURL Pay helps to reduce the amount of data that needs to be presented in a QR code, but it’s still not necessarily human readable. Lightning Address provides a layer on top of that which is human-readable, even memorizable, but resolves into a standard Lightning invoice.
How do I use Lightning Address?
You can see a friendly overview of Lightning Address and a list of wallets and service that support it at the Lightning Address website. For a more developer focused guide on setting up Lightning address, see this documentation.
Where is Lightning Address defined?
A double-edged sword
The fact that Lightning Address looks like an email address has advantages. In 2022, people are very familiar with email addresses, so it allows people to send and receive Lightning payments in a way that may feel more familiar.
However, this advantage can also be a disadvantage: it makes the Lightning address look like an email address, which it is not.
A developer may know that
email@example.com is simply an Internet identifier following the Addr-Spec specification. It could mean many things, including:
- a login to a *nix system
- an FTP login
- an SSH login
- an email address
But to the average user, it probably means exactly one thing:
- an email address
Analyzing the Problem
To analyze this speculation about users confusing email addresses and Lightning addresses, let’s go through some hypothetical scenarios which are completely made-up.
Users may see a Lightning Address and assume it is an email address
Non-bitcoiner sees a Lightning Address
Bitcoiner mistakes Lightning address for official company email
Let’s take the previous situation and modify it a little bit.
Lightning node philanthropist doesn’t notice that they can pay with Lightning
Users may see an email address and assume it is a Lightning Address
Let’s flip the problem and see what happens. What happens further in the future as Lightning becomes more common place? Could some users come to expect that all email addresses are Lightning addresses?
User tries to send bitcoin to an email address
This isn’t a wild thing to consider. For example, you can use your friend’s email to send them money via PayPal. For some services, if the email has not been registered with that service, the service will invite the user to register by sending them an email.
Ultimately, none of these scenarios resulted in catastrophic failures. Nobody lost their bitcoin, which is a positive thing. Some users wasted a little time, which was probably frustrating.
By far, the worst scenario was Betty missing out on a donation. I suspect this one is easily solvable.
So based on these scenarios, we have a few friction points we can consider smoothing out.
Make it clear it’s a Lightning address
Zap emojis are cute, but my thinking is that it’s better in the short-term to just spell-out if something is a Lightning address and avoid any possibility of confusion.
Nice looking response emails
One idea I have heard is that Lightning address providers should send out a nice looking automated email in the event somebody tries to email a Lightning address, basically to explain that it’s not an email.
At first, I agreed with this idea. However, I’m not certain about it. At the moment, not even email service providers send you a response email if you try to email an invalid address. Typically, the response we get from the “mailer daemon” comes from our own ESP, not from the ESP of the domain we are trying to email. The costs could begin to pile up if we expect that ESPs and Lightning address providers are responsible for sending out more than just error codes.
I could be completely wrong on that; but we have to think at scale, and something that seems like a minimal cost can start to add up when you scale up to many thousands of users.
More than a decade ago, I found the Twitter username format to be somewhat obnoxious. In email terms, firstname.lastname@example.org made sense to me because we are saying “stephen” (the user) can be found at “d.elor.me” (the host).
Twitter was the first platform I noticed to use conventions like @StephenDeLorme. “At” Stephen DeLorme? That didn’t make sense to me then, and I still find it a little bit odd. However, this has become a convention on the internet. Virtually every social media site in addition to every modern productivity tool follows this convention. People understand that @StephenDeLorme might refer to a Twitter account, or an Instagram account, or even a Slack handle; it depends on the context and the platform.
I’m not saying that I favor Lightning address above all other methods for obtaining Lightning invoices. There are further topics regarding Lightning Address that I would like to explore, first.
Specifically, I am saying that I do not think “it looks like an email address” is a valid criticism of Lightning address. While it is certainly possible that this confusion can occur, I do not think these scenarios result in outcomes that harm the users or their funds.
I’m not done with Lightning Address yet, but I am done for the night.