This past week I was in Da Nang, Vietnam at LightningCon Vietnam 2023. This was the first opportunity for me to attend a bitcoin conference of any sort post Covid. It was great to catch up with a lot of friends that I’ve met over the years of running and participating in Bitcoin conferences going back as far as my first conference, the Inside Bitcoin conference in Hong Kong in 2014. What follows are some takeaways and observations from the conference.
One of the things that really surprised me was the focus the Lightning community still has on in-person payments. These are payments that take place in meatspace - at a coffee shop, restaurants or bar - instead of remotely or online. One of the conference sponsors, a payment provider, told of their efforts to sign up local merchants in Vietnam to accept Lightning payments. In the city the conference was held, we were only able to find 2 or 3 of such merchants. And the merchants would only accept Lightning when the owner was on site. When paying the merchant, we had to calculate the amount of sats to pay manually - scanning the invoice QR code didn’t provide an amount. Once we paid, the merchant wanted to take a screenshot of our lightning wallet as a proof of payment. The whole experience felt strictly worse than paying for things in Bitcoin in 2013. After almost 10 years of watching people try to get physical establishments to accept payment by Bitcoin and now Lightning…it seems pretty clear to me this is, in the short term, a failing proposition.
Why aren’t these Lightning payment providers focused on the growing Bitcoin ecosystem on the Internet? Bitcoin is, after all, magic internet money and there are plenty of situations where paying in Bitcoin or Lightning on the internet is both the lowest friction and only way to pay that makes sense. If there’s obvious demand for people to pay using Lightning for say...minting ordinals…demand that only Lightning can solve, why keep banging your head trying to get Vietnamese coffee shops to accept Lightning…something for which almost no one is asking for it? The whole strategy is confusing to me…I wonder how much ideology instead of business is behind this.
Lightning infrastructure for internet payments
In contrast to friction in the world of brick-and-mortar Lightning payments, it sounds like there are a number of exciting Lightning-based technologies that give developers increasing options to integrate instant bitcoin payments into their apps…and, more importantly, there’s adoption! I’m personally excited about Bolt12 and plan to follow the development of that. The way several Nostr clients have integrated Lightning support - particularly with Zaps as a form of payment to boost posts - were a very popular topic of conversation. I think this is just a taste of what the future of programmatic, instant, non-custodial payments might bring. Bullish!
Lightning wallet UX
I gave up on using the Lightning node running on my Umbrel via tor and controlled with Bluewallet for payments because of constant problems and instead switched to the non-custodial wallet Phoenix for this conference. My experience with Phoenix was pretty great once I figured out how to get it to show sats instead of USD.
One of the great things about a Lightning conference is that you get the opportunity to split lots of meals with Lightning. It’s a chance to make more payments and see how other wallets work.
One takeaway was the lack of consistent user experience across apps. In my wallet, Phoenix, to scan a QR code with an LNURL to receive, you had to first click on the “Send” button to open the camera before you could receive the payment. Clicking “send” to “receive” was not obvious to say the least.
This is a result of Lightning payments generally being an invoice-based payment system, where the person receiving money needs to generate an invoice that the payer then scans. This is the opposite of how on-chain Bitcoin and pretty much every other crypto payments system works. To make things more confusing, LNURL reverses it again (sometimes?) by providing payor with a mechanism to allow the receiver to programmatically generate and send an invoice to the payor. This results in a similar problem to that faced by Chinese payment systems like Wechat and Alipay where it isn’t clear if the user has to scan a QR code or have their own QR scanned because who scans whom isn’t related to the direction of money flow. 你扫我还是我扫你？(You scan me or I scan you?)
It seems like there’s a lot of low hanging UX fruit here for the Lightning community to come up with a set of consistent standards and behaviors so that users don’t end up so confused.
One of the most interesting talks for me was the one given by Koji of Diamond Hands about the state of Lightning routing and routing communities. As mentioned, I run my own node on Umbrel. I have enough channels that I can usually make payments and occasionally route payments. I don’t really look at the channels more than once a twice a year though, so it was a surprise to me to learn that people maintain Lightning routing nodes for fun and a feeling of community. Hearing about the challenges they experience and effort into figuring out optimal strategies was very interesting. For anyone else unfamiliar with this, I highly recommend watching Koji’s talk once it is available online.
Paying with Lightning is not paying with Bitcoin
That paying with Lightning is not necessarily paying with Bitcoin was one of the most surprising new narrative changes for me. The way it was explained to me is to think of Lightning not as a layer 2 scaling layer for payments on Bitcoin but instead of payment rails built on bitcoin. Imagine an American credit card holder in Europe…he doesn’t ask the restaurant if he can pay with US Dollars, but if he can pay with Visa. Some envision the future of Lightning in the same way: consumers that have Lightning wallets can pay at Lightning-enabled merchants with merchants receiving payment in the stable coin of their choice (or bitcoin!). Much like credit cards, merchants need not be concerned with what currency their customers use to fund their Lightning payment.
This re-framing of Lightning makes a lot of sense to me. It’s always seemed a bit weird to me to go around asking merchants if I can pay in my preferred currency, bitcoin. It feels presumptuous. Merchants have already indicated which currency they prefer in exchange for their goods and services. This behavior is really no different than the ugly American tourist that, prior to widespread acceptance of credit cards, would go around foreign countries trying to bay in US Dollars. It’s presumptuous and rude.
While I believe that Bitcoin is going to win out as the best money - both because of its strength as hard money and its programmability, it’s really not my place to push Bitcoin on others. If Bitcoin is really to succeed, merchants will decide of their own accord to receive it and hold it…they don’t need disciples of Satoshis to (honey)badger them into to taking it.
I look forward to seeing how this works in practice both from a user experience perspective and also from a financial perspective with respect to fees and forex risk. Lightning already suffers from complexity and non-custodial wallets don’t do a great job in insulating users from the complexity…making Lightning multi-currency feels like it will add to this problem.
Complexity in Bitcoin
Andrew Pantyukhin had a great talk in which he touched on the idea of complexity and how it relates to Bitcoin. He shared a graph which showed the number of lines of code in bitcoin. It was around 10,000 lines when Satoshi was around and stands at over 600,000 lines today. This visualization of the growth in complexity for what, compared to other cryptocurrencies, is a relatively simple thing was pretty mind-blowing thing. We learned this year with the explosive popularity of ordinals that many people had no idea that segwit was a block-size increase that results in it being 25% cheaper to store NFTs in bitcoin compared to financial transactions. Seeing this graph made me wonder what else might be in those 600k lines of code that many of us have yet to understand or realize.
Ultimately, humans need to understand decentralized systems and the important characteristics about them if they are to stay decentralized. This is especially important for Bitcoin…if too few people understand what Bitcoin is, it makes it possible for people to change it in a way that ultimately destroys it.
Hacking on Ordinals tech
I was also able to do a bit of programming to help Felix get an MVP of his new open source Ordinals project - Ordilabs - off the ground. It’s currently a simple, live mempool viewer that shows you what inscriptions have yet to be inscribed…but more things are in the works! This is picture is a few of us celebrating the site going live.
Hacking on things and shipping during a conference is a time-honored tradition of crypto conferences. If you haven’t tried it, I highly recommend!
For those that have never been, Danang is one of the hidden jewels of Asia. It is a beachfront city with a very new and modern airport located a 15 drive from pretty much everywhere. Unlike beaches in many other parts of Southeast Asia, it is clean and relatively free from touts trying to sell you this and that. The city is also free from the general riff-raff and mass tourism that one encounters in places like Phuket. It was a really great place to have a conference. The resort hotel that was the conference venue was comfortable and convenient for those who wanted to socialize or work outside of the talks. And dozens of amazing restaurants were within a 5 to 15 minute walk from the hotel.
I really enjoy these smaller conferences that mainly attract technical builders and industry insiders vs the massive pay-to-play, investor-funded, please-invest-in-my-thing, polished-pitch, massive money-grab conferences. Now that Asia is open for travel again, hopefully we’ll see more events like this in the future!