Hampus Sjoberg, creator of Blixt Wallet joins me to talk about lightning technology and crafting a non-custodial experience while dealing with the trade offs of custodial lightning.
- LNURL – what is it and where is it useful?
- Comparison with bolt12
- Blixt wallet and its tradeoffs
- Lightning Box for offline payments
- Bitcoin soft forks – why they should be considered
- Twitter: @hampus_s
- Site: Blixt Wallet
- nostr: npub1v4v57fu60zvc9d2uq23cey4fnwvxlzga9q2vta2n6xalu03rs57s0
- SLP449 James O’Beirne OP_Vault – A New Way to HODL?
- SLP463 Bitcoin Transaction Pinning, ANYPREVOUT & eltoo with Greg Sanders (Instagibbs)
- SLP461 What Bitcoin Specialises In with Matt Corallo
- Swan Bitcoin
- Unchained Capital (code LIVERA)
- CoinKite.com(code LIVERA)
Stephan Livera links:
Stephan – 00:00:08:
Hampus, welcome to the show.
Hampus – 00:03:49:
Stephan – 00:03:49:
So I’m a fan of your work. I’ve been watching and learning a little bit from what you’re saying on Twitter as well, and recently had a chance to play around with Blixt Wallet as well, which I know you’re working on. And so, yeah, I guess for me, you first came across my radar when you were doing the Taproot Watch website, right? You were doing this Taproot activation watch and I think after that is when you became a lot more involved, or maybe you were already involved, but that was when you became well known.
Hampus – 00:04:18:
Yeah, I have been into Bitcoin for quite some time, but around the Tablet Watch days, like this site got a lot of traction. So after that I got more and more publicly involved on Twitter and so on. And also that’s around the time Blixt Wallet started getting traction as well that summer. So, yeah, that’s kind of how it all went down.
Stephan – 00:04:42:
Yeah, for sure. And I know you are also part of the LNURL mafia, so do you want to tell us a little bit about that?
Hampus – 00:04:50:
Sure, yeah. Should I go to LNURL as well then? I suppose and explain.
Stephan – 00:04:54:
So, for listeners who aren’t familiar, LNURL is this way to quickly exchange invoices and information. So do you want to just explain a little bit, just at a very high level? What is LNURL?
Hampus – 00:05:06:
Yes, LNURL is basically a set of protocols that helps you interact with the web. Like, for example, let’s say you want to withdraw money from a website like Exchange or whatever. You can basically scan a LNURL code and your wallet, if it supports the protocol, will automatically withdraw the money from there. So you don’t need to paste a Lightning invoice and so on. You can just scan the QR code and you’re good to go. So it’s kind of like a set of protocols that helps you with these things. With the most popular one is LNURL Pay which is basically a way to have like a static code that you can pay to watch. And on top of that, it also builds upon the LN Lightning address format which is basically like easy to read and easy to write handle like email@example.com that you can pay with the supporting Lightning wallet. So it’s like a set of nice to have protocols that helps you interact with the web.
Stephan – 00:06:14:
Yeah, let me try and explain a little bit. So with Lightning, instead of working with a bitcoin address, we work with a Lightning invoice and typically people have to code in how many sats to pay for that invoice as an example. And then it can be a bit clunky. If you are a user who has a mobile phone with a Lightning wallet on it or a Lightning app and the website is the one trying to pay you out, then do you have to do some awkward exactly this many sats and have this awkward experience where you have to think about what the fee might be? Or do you have LNURL withdraw? So as an example, I’ve seen this on websites such as LN Markets and others out there where if you have a little custodial account on that platform, you can instantly withdraw with Lightning using LNURL Withdrawal as an example. Now, I also understand there are different types of LNURL. So I know there’s LNURL-pay, LNURL-withdraw, LNURL-auth to authenticate and also LNURL-channel and maybe one or two others. Can you just talk a little bit about the differences between those?
Hampus – 00:07:17:
Yeah, sure. Yeah, we all went through the LNURL-withdraw protocol so it lets you withdraw mainly from an exchange and so on, which is quite neat. But you also have LNURL-channel which is basically a way to open a channel with some party. Like for example, there is a very popular service called LNBIG where you can basically purchase buy a channel from them. And if you use Blixt wallet or any sporting wallet, you can just buy the channel and then you just scan the code for it to get opened. Basically, this is also like a convenience thing like you can easily just scan something instead of having to do things manually. And you also have the LNURL- Auth protocol which is a way to use your Lightning wallet or Lightning private key to log in to a website. So you don’t need to have a username and password anymore, you can just leverage your Lightning wallet and the private key that you have there to log into a website. So then you don’t have the risk of them leaking your password anymore because there is no password stored on the service in question. So that’s a very neat way to circumvent the problem of using my password getting leaked, then you have the last one is a LNURL-pay, I suppose, which I went over a bit, but it’s basically like a way to pay a webshop or a person without having to manually create an invoice every time. It’s like an invoice requesting service. Because Lightning always works with invoices, right? You always have to have invoice in the normal circumstances. So it’s a way to automate that kinds of things.
Stephan – 00:09:14:
Yeah, and so that can be handy where a person needs a static QR code and they don’t want to just do on chain static QR codes or in the case where they don’t want to have a paynim. And also pre BOLT12, which we’ll get into as well, because I know there’s been some back and forth and there’s maybe some overlap, but I guess they don’t exactly BOLT12 and LNURL don’t do exactly the same things. I think that’s important, so it’ll make. It clear for people. But I guess one of the downsides is with LNURL you have to be running your own web server or you are custodially using somebody else’s. So could you just elaborate and explain that and how that’s working for people?
Hampus – 00:09:53:
I think that as I said, if you use a LNURL- pay, you have to have a web server somewhere, right, because it works with domains like HTTP and so on. So it’s not like Lightning native like BOLT12 is because in BOLT12 you do the invoice requesting inside like Lightning itself. So that has some benefits there, I will say that suppose you just want to have some QR code somewhere, you’re not a very ticks of a person and I think just having a BOLT12 code could be beneficial. But let’s say you have like a web shop or something like that. With LNURL-pay you can also include metadata, like an image of the payment or even like a link for the received in the end and so on. So you have a lot of extensions to LNURL-pay that you can benefit from. So I would say that a little pay is more for business to customer and so on, like making purchases and so on. And BOLT12 is better for just normal users, I’ll say. And you need some easy way to have a static code basically that will be the difference between them.
Stephan – 00:11:13:
And so it’d be useful to just talk about some of the distinctions there. Because as I understand, the way BOLT12 came about is I think Rusty was basically looking at what was happening at the application level with Lightning developers out there who were sort of I think, as I understand, they were looking for certain functionality that did not exist, just natively in lightning’s protocol. And they were saying, well, let’s just build this into an application level. And then I think, as I understand, Rusty and maybe some other Lightning developers were at the protocol level thinking, could we do something like this at the protocol layer, which maybe does not require a web server or some other elements of that? So I’m curious your thoughts on how to contrast those. I know they’re not fully comparable, but they are similar in certain things.
Hampus – 00:12:03:
Yeah, I think both sides came from the same, like the need for having some kind of invoice fetching service. Basically, that is what LNURL-Pay and BOLT12 does. In the end, it attempts to fetch an invoice in the most common scenario. Right. But LNURL-pay was specifically made for commerce and those kinds of things. So I think that’s kind of like a difference between BOLT12 and LNURL-pay, at least in my view, because BOLT12 is more generic, let’s say, or it’s not specifically for commerce like Annular Pay is, but it overlaps a bit. But I think that both will live, like, in parallel for the foreseeable future. I don’t think that they will replace each other. So say that one will win. I know for sure that for my own project fix toilet, I will continue to use LNURL – Pay for my users and so on. So we’ll see about that. But I think that BOLT12 is a very ambitious project with a lot of features, so I hope that we will see it ready and finished soon. But it’s a lot of work, it seems like, to get it rolling. And in comparison to LNURL-PAY there, you only have conventional web technology. Basically, it’s a web server. It’s like HTTP, it’s json that you send back and forth and so on. So it’s very normal things for a developer to deal with.
Yeah, okay. And so, as I understand, part of this is about the element of being able to easily use Bitcoin and easily take donations as an example. Because I think right now, today, now, of course, in our more hobbyist Bitcoiner communities, or let’s say enthusiast Bitcoin communities, people understand, oh, okay, maybe I should set up a BTCPay server and take donations that way as an example. But if somebody who just more peripherally knows about Bitcoin, the typical way is they would just have a Bitcoin wallet and they’ll just post a Bitcoin address just publicly. And that’s just a typical that’s a thing that a lot of people have been doing. You could argue that that works because it’s just kind of simple and effective. Trying to take that into a Lightning context and make it simple and effective. It has these other trade offs, right? Like, either we need BOLT12 to be available, or maybe that person has to have a web server that’s accessible for them, or they need some other provider to help them. And I know this is something you’ve been focused on, haven’t you? So do you want to just elaborate a bit on how you’re seeing this problem and solutions for it?
Hampus – 00:14:45:
Well, yeah, I have a product called Lightning Box which is basically like a Lightning Address server just to recap a Lightning Address built upon LNURL-Pay. So it’s like a synthetic sugar on top of it. So you have like an easy to read and write handle. It looks like an email address basically, but it lets you pay to an LNURL-pay code. So I have a little project that basically lets Lightning Wallets use a Lightning address code. And normally when you use Lightning address today you have to use like custodial wallet or you have to use your own routing node if you have one. Not everyone has that. So my Lightning Address server will basically just contact the Lightning Wallet on your phone and request an invoice for you. So that’s a way to like it’s. It’s not custodial in the sense that it’s still the Lightning wallet’s invoice, but there is like a trusted party that you talk to and gets an invoice from. So that’s a way to solve the problem with getting lighting addresses to non-custodial, self-custodial wallets. So that’s something I’m working with. And you will also be able to easily self host this Lightning Box server for yourself. So if you are knowledgeable about these things, you can set it up yourself. Because right now if you look at Nostr for example, most people on Nostr, they use some kind of custodial Lightning address and I would like to give them an option to not use custodial wallet there because right now basically 99% are using Wallet of Satoshi or some custodial Lightning wallets for their Lightning address. So I’m trying to fix that problem basically.
Stephan – 00:16:50:
Yeah, right, and I see that as well. I have a Lightning Address using BTCPay but that doesn’t support the same nip for Zaps and things like this. So it’s not as slick as an example. So because I wanted to have a noncustodial one, but I’m not yet at the level that I could have a noncustodial Zap functionality and maybe that gets built into BTCpay as an example. But I think like you said, the problem remains that not everybody can easily do this. So I guess as I understand the Lightning Box idea is it’s almost like an in between and it forwards the request and says hey, give me an invoice.
Hampus – 00:17:28:
Stephan – 00:17:29:
And then that mobile user, let’s say, gives an invoice. What happens in the case of that mobile is offline or not responsive.
Hampus – 00:17:37:
Oh yeah, exactly. That’s a big problem in general with Lightning rights that if your wallet is not online, you cannot pay Lightning. So basically my idea with Lightning Box is to just take the payment custodial like the Lightning box will just take the payment on behalf of the user. Now the difference between Lightning Box and something like Solar Wallet is that the next time the user opens up their wallet, they’re supposed to automatically withdraw the funds that are available inside the box. So that’s where the Lightning Box comes from. So it’s like a cash for your payment. So that’s how I is solving the problem right now. With Lightning Box. It just takes the payment on behalf of the user, but if the user is already online when the payment comes, then it can just forward the invoice request to the actual app in question. So that’s how I solve it right now. There are some very neat ideas on how to actually solve this problem as well. It’s called like Asynchronous Payments, which is like a fancy way to not do this custodially. So you will basically have like an LSP in front of you that holds the payment, not settle it. It’s not custodial, but it just holds the payment until you eventually come online in order to receive the payment. So that’s called Async Payments. But as far as I understand, no one is pursuing that technology right now. But it’s probably something that we will actually see and that will kind of solve the offline payment problem a bit. And I’m also looking into that. But right now I will set the with the things I have.
Stephan – 00:19:35:
Yeah, it sounds like you’re working on a lot. And I recall chatting about that with Matt Carello, who I think he wrote that idea to the Lightning dev mailing list in maybe October 2021 around there, just off the top of my head. But it requires a lot of things, right? It would require like an onion layer for messaging. It would require these ways for the LSP, the Lightning service providers to be able to hold it and then forward it, forward that payment and doing it in a slick way that doesn’t lock up liquidity across the network and things like this. And I think that kind of comes to where we have this sort of there are people who have the today problem, right? They need to be able to take donations today, but there’s kind of solutions in the future that are more technically sound, let’s say, and more decentralized in a way. And then we have things that are that can sort of work for today that could be used, let’s say. And so I guess Lightning Box is an example. So where exactly is Lightning Box at right now? Is it mainly in just an early testing phase or are you actually using it now or where is it at?
Hampus – 00:20:37:
Well, it’s at an early testing phase. We have an upcoming feature for Blixt that lets the wallet always be online. It never closes down. So my Blixt wallet on my phone is always active and ready to get incoming Lightning address requests. So my Lightning address firstname.lastname@example.org, my Lightning box will forward all requests to that Lightning address to my phone 24/7 right now. So I’m currently evaluating the feasibility of this. So it’s kind of not ready right now, but it’s approaching to be ready. The Lightning box idea, we’ll probably have some kind of closed beta soon.
Stephan – 00:21:23:
Yeah. I’m curious what the hold ups are and I’m curious what the battery drain is and the CPU drain on your phone when you’re doing that.
Hampus – 00:21:34:
It’s actually not that bad. I thought it would be much worse, but it’s not. I talked a bit about Matt Carello about this. Like if you use the 4G or 5G modem and not WiFi, then it gets a bit more worse than but if you use on WiFi, it basically doesn’t drain that much at all. So that’s kind of interesting, but I suppose that depends on the phone you’re using and so on. But at least for me, the trade offs are definitely worth it. So that’s kind of surprising because I remember that I tested this for Blixt like three years ago and the result was much worse back then. So yeah, it’s definitely feasible. For sure. We have around three or four people right now that are running this always on mode all the time. So it does work. Yeah. So that’s kind of interesting. And also for the upcoming Lightning box like beta, it will not have the custodial part. Probably we’ll just try the forwarding part, like forwarding the request to the phone. So we’ll see. We will evaluate the feasibility of this, but it’s looking pretty good actually, I think.
Stephan – 00:22:47:
Yeah, I’m also curious how the phone is being notified. Is it using Google Play services or is it using something like this to get a notification that hey, you’ve got an incoming payment, wake up and give me an invoice?
Hampus – 00:22:59:
Sure. It’s actually using Lightning itself. So you know that right now it’s always on the Brix Wallet app. So that means that it has a connection to the Blixt wallet node as well. So what happens is that basically the Blixt Wallet node sends like a peer to peer message to the Blixt Wallet app and then the app responds back with the invoice, basically. So it’s just reusing Lightning itself to send messages back and forth. Because Lightning is also like a peer to peer network, right? So you connect to each other. So there is no need for push. We could use that as well. But in this case I just reuse the Lightning Network connection itself, which is quite neat.
Stephan – 00:23:50:
Fantastic. Yeah. So I am curious to see where things go with that and where things end up meshing together with if some people are using BOLT12 or some people using LNURL and kind of how it all mixes together. But I guess it’s all about having the right building blocks that come together. So as an example, let’s say somebody tries to take a payment but they don’t have enough inbounder capacity, and then how is the user going to be told, oh, hey, you need to get some more inbound liquidity or is it using like an on the fly approach? I’m curious what your thoughts are there and what you’re looking at in Blixt for that.
Hampus – 00:24:28:
Oh yes, we have on the fly channel opening service right now called Dunder inside Blixt. So I’m definitely for that kind of functionality. There may also be a use case for I suppose you call like hosted channels. Like there are some wallets called simple bitcoin wallet and open bitcoin wallet by Fiat Jeff, that they basically have a channel that is custodial like custodial, it still uses Lightning itself, but the funds are not guaranteed on chain, let’s say. And in the worst case scenario I’m thinking that there may be a use case for using these kinds of things if there are no inbound liquidity because there is also a problem with all the time opening in new channels because that has some upfront cost for the LSP that needs to reserve bitcoin for that and so on. So that may be a use case to mix non-custodial and custodial things together. Because if you have like a hosted channel, then you wouldn’t need to open a real channel, at least not immediately. You may do that later on because in my opinion, like custodial services and so on, they are bad over long periods of time and they’re also bad if the amount is like if it’s a large amount of money, then it gets bad. I don’t think it’s so bad if it’s just a small amount of money the matter is about. So that’s also interesting thing you can do enlightening.
Stephan – 00:26:11:
Yeah, all right, and let’s chat a little bit about Blixt then. So I had a chance to play around with it. I thought it was interesting. And the approach where you spin up the wallet, you fund it on chain and then it automatically opens a channel and then you’re able to make and take some payments, although you got to make a payment before you can receive. I didn’t get to trying the Dunder part out and I noticed there was also an LNBIG and Bitrefill link in the app. So that way the user gets told, hey, you can go get an inbound channel from here. Use LNURL channel in the case of LNBIG. So yeah, I guess those are a few things. Do you want to just give us an overview about Blixt wallet? What is it? Who’s the target market for that?
Hampus – 00:26:52:
Sure. So Blixt wallet is self custodial noncustodial Lightning node wallet. So it runs like basically LND underneath the Lightning node implementation LND. It runs it straight up on the phone actually. And also it uses like an SPV bitcoin node. It doesn’t use a full node, but it’s called neutrino for syncing the actual blockchain. This is Neutrino and it’s kind of like a very flexible but also easy to use wallet. Like you have the standard set of Blixt where you will just connect to no pressure channels with the Blixt node. So that’s the easy way to use Blixt. But you also have the opportunity and ability to easily open a channel to your own routing node and so on. If you have one, that’s a choice you have and so on. And you can also connect your own Bitcoin node and such things. And we also have almost full coverage of the LNURL protocol suite so you can enjoy all the different kinds of things you can do with LNURL, like logging into LN Markets or Collider and so on. And all the things that we talked about before you can basically do with Blixt. So I try to make sure that I cover all the different features that are available there. So yeah, I’m trying to please both audiences. If you just want an easy to use wallet, if you’re a Bitcoiners, you can use Blixt, but also at the same time if you want to customize your setup and connect to your own routing node in your home, your Umbrel, let’s say, you can very easily do that as well. So yeah, it tries to present it all in a very concise and easy to use manner as well. So that’s like the honest a lot of people like to create the own node as well.
Stephan – 00:28:58:
And so when you set it up and you fund it on chain as the typical setup goes, who is that channel being opened with? Is that being opened with the Blixt node?
Hampus – 00:29:08:
Yes. So then the normal operation is that it will open a channel to the Blixt LSP node basically it’s called Blixt Wallet, the node itself, you can look it up on full space, so it works like Bitfinex and Breez. It will hook you up to the Blixt projects node because it is well established in the network, so it will guarantee that you will have a good experience and so on. That’s what happens in the normal way of operation. So that’s the same with the Dunder LSP, the on the fly channel functionality. It will by default open a channel to watch with the Blixt node basically. But everything is made in a manner that it’s easy to set up yourself.
Back to the show in a moment. When it comes to securing your Bitcoin, consider the hardware you are using. I personally use the COLDCARD MK4, which is a great device by the team over @coinkite.com. Now CoinKite make a range of products, but the MK4 is the top device that they currently offer. It has a range of features, it has two secure elements, you can use it with Micro SD, so you don’t even have to phone home. So that’s a really cool feature that. You can just plug this device into the wall, not into a device and spin up the device, spin up your seed, get your twelve or 24 words and use microSD to move things back and forth. Or you can even use NFT in the latest COLDCARD. Now they also have the Q1 available for preorder. So you can find that if you are interested in a QR supporting device. That website is coinkite.com and use Code Livera for a discount on your cold cards. Unchained Capital are making it easy to use, multisignature and Unchained makes it secure, transparent, easy to use and sovereign. So with Multi-signature, you are removing single points of failure in your setup and this can help give you that peace of mind, knowing that you can make one or two small mistakes here and there, depending on what mistake you’re making, and not lose the whole stack. And this may not be true if you are in a single signature context. And of course, if you are leaving your coins with a custodian or an exchange need to get them off, you need to learn to self custody. And Unchained can help you with this. They’ve got a range of ways they can do this. They have free content available on their website. You can even go and set it up on your own if you’re confident and you’re willing to play around, of course, they have a concierge on boarding program where you can pay up front, they’ll ship you the devices, they’ll do a call with you, they’ll walk you through this and get you set up. So go to unchained.com/concierge use Code Livera for a discount there. And finally, Blockstream have a community called Build On L2. This is really important for those of you who are building on Core Lightning or the Liquid network. So this is an interactive community platform. It’ll be useful for those of you who are builders, whether you are a product manager, a designer, an engineer, there are some events as well as a mentorship program to fast track your success and just have a community space to learn alongside other bitcoiners who are building on the future of bitcoin layer two. So there’s a range of different technologies associated with Liquid and Core Lightning. So it’s a great place to go and learn more there. So go and sign up. It’s over @buildonl2.com. And now back to the show show.
Stephan – 00:32:17:
Yeah. And so the way I’m seeing it is, it’s similar to in some ways it’s similar to Breez, like, because you’ve got neutrino and you’re using LND under the hood, perhaps in other ways it’s sort of like because you’re writing down the 24 word seed. It’s an AE or AZ, which is the LND style, obviously, because it’s using LND in the background. So it kind of has like a mix of some of the different well known wallets out there, but at the same time it is a node as well. So I think that’s an important point for people to understand that it’s not just a wallet, it’s actually the Lightning node is running on the device. And so that can be a bit sort of crazy to think about if you haven’t really thought about what’s happening in the background. So then presumably that means you have to have the graph, as in the channel graph synced on the phone. And then your phone is calculating the route where it’s sending coins on Lightning. So it has to know, oh, okay, this is Hampus’s node and I’m sending him 1000 SATS as an example. And I need to calculate that route.
Yeah, exactly. As I said, it’s running L D like Breez does and so on. It’s basically the same software being used on. And if we’ll work with that as far as we can, if Lightning starts to get bigger and bigger, it may not be feasible to do this anymore, but I think it’s worth trying out to just have a real Lightning node on the phone and everything that means. So it needs to sync the network graph and so on, which is quite loaded right now. But it does work. Like, we have people using Mix on a databases, so it does work, but it’s not as, let’s say, lightweight as Moon, for example, because it’s a real Lightning node inside Blixt wallet, same as Breez and so on.
Stephan – 00:34:12:
Yeah, I see. Yeah, because as I understand the way, Moon is a great wallet also, but it’s more like a bitcoin on chain wallet that can pay Lightning, whereas it’s not natively Lightning. Although I understand the Moon guys are looking to shift to a natively Lightning approach. It is currently it’s more like an on chain wallet or at least you can kind of think of it like that.
Hampus – 00:34:32:
Yeah, exactly. With Blixt, as you said, when you do a payment in Blix wallets, your app will actually find a path to the destination, like to the receiver. As far as I understand with Moon and so on, you’re not really doing those things right because it’s not like a real Lightning node underneath. There are some differences here and some trade offs being made.
Stephan – 00:34:57:
Yeah, and I think that’s worthwhile thinking about, depending on which countries you’re in as well. So, for example, Anita Posch did a recent test or trial with some different wallets. And I think what she found, at least for people who are in low connectivity environments, she found phoenix was really easy. And that kind of makes sense because Phoenix wallet is not doing the route finding right. It’s a trampoline routing style and it’s offloading that work to the Async node. So maybe some wallets work better in the western world where you have, let’s say, high connectivity and your phone maybe is higher capability and it can do that sort of stuff. And maybe in areas where, let’s say you want to be natively Lightning, but maybe not doing everything you can offload a little bit more it’s offloading more of it to the server, let’s say.
Hampus – 00:35:45:
Yeah, for sure. I saw that report she made and yeah, if you have a very bad, like, It connection like she showed in in these areas, then like syncing the graph and so on will be very messy, let’s say. So something that Trampoline routing will definitely help there. And it may be the case that we as well need to move to Trampoline. If Lightning keeps growing, like very much, we’ll see about that. It’s something to keep in mind at least, that source routing may not be feasible forever. Right now it’s feasible, but we’ll see if things start to grow even bigger than it is right now. So that’s something I’m also looking into for Blixt like Harvey Trampoline.
Stephan – 00:36:31:
All right, okay. So, yeah, basically that’s a possibility in the future as well. Let’s say the network does Trampoline
Hampus – 00:36:36:
I’m looking into that, and I know.
Stephan – 00:36:37:
You could try to build that in there.
Hampus – 00:36:39:
It needs some work in LND to be able to do that. But it’s something that we need to look into at least, because if it starts to not scale anymore for the phone, then we kind of need to move to Trampoline as well. But for the time being, it’s definitely feasible. So but we’ll see about that.
Stephan – 00:37:01:
Yeah. One other area I wanted to touch on is the contact list, because I think this is something that is going to become more and more important. I think people having regular contacts helps you live on Bitcoin. So as an example, if you have employees and you need to regularly pay them out, that’s an example. Or if you have somebody who you’re regularly paying Lightning, then having this contact list is actually, I think, an important feature. So do you want to touch on this and what you’ve done with the contact list in Blixt?
Hampus – 00:37:31:
Sure, yeah. So you have in Blixt wallet, I have like contacts and services, I think it’s called. So basically right now, it’s like a contact list for LNURL Pay and also LNURL Withdraw. So you can store your LN Markets account in that list, basically. But in the future, I hope to expand this to also support keys and payments and bolt well payment and so on. But right now it’s mostly for Lightning address, ln LNURL Pay and also LNURL Withdraw. But this also goes hand in hand with the Lightning box concept because as Pix users get their Lightning address, you can store them in the contact list. So it feels more like a real wallet, let’s say, with these kinds of features. So that’s that’s something I’m I’m working on as well, fixing the contact list feature. And also this may also connect in the future with Nostr as well, because there’s a lot of interest in Nostr account as well, I think.
Stephan – 00:38:41:
Yeah, that’s an interesting idea as well. I hadn’t really thought about that. So in terms of Blixt today, it’ll give you a Lightning address, like a custodial Lightning address?
Hampus – 00:38:50:
No, not right now, but I hope to have something ready maybe this summer or so. We’ll try to get some because this is all pretty new right now. It’s basically just my phone that has this Lightning Box thing, but we’ll try to get something out like a beta pretty soon here because there’s been a lot of enthusiasm about this service because I reckon that most people want to have some kind of not completely trusted custodial thing. Right now, most people use the custodial wallets, right? So there’s a lot of enthusiasm surrounding this topic everywhere. But yeah, I’m definitely working as hard as I can to fix this. It’ll be interesting.
Stephan – 00:39:36:
Yeah. And I think there’s been a lot of discussion online. I’ve seen, I see both sides of this, right? One side of it is, look how easy and slick it is to get people using Lightning. But then on the other hand, you see the criticism saying, look, look at all these people who are using custodial things and that’s not in the ethos of bitcoin and maybe some of those people are more in the Lightning hater gang. But nevertheless, the custodial criticism is there and so it’s worthwhile looking at what ways people can minimize that concern or minimize the custodialism and sort of shift it more towards a self custodial. And I know obviously you’re doing everything in your power to help that, but I think it’s worthwhile looking at that and even the Lightning Box idea. I’m curious as well, your thoughts. Is it possible to build something that maybe it’s and maybe that’s kind of what Lightning Box is, right? The idea is maybe it’s custodial, but then as soon as your phone comes on, it kind of says, hey, I’m online, send me all the payments I got. And so that way it’s only you’re minimizing the amount of time that you are custodial, right?
Hampus – 00:40:33:
Yes, exactly. I also want to touch briefly on the convenience of custodial wallets because I don’t think we can fight against that because there will always be a convenience factor with the custodial wallets. Because as we see right now with the Lightning address, probably if Lightning address doesn’t exist, something else will come up and be the convenience thing that people use. So we can all just try to fight that as good as you can as self custodial wallets. And that’s what I’m trying to do with the Lightning Address Lightning box. Sorry, I’m trying to give like an option for people to use. Also you can do some kind of fingerprinting as well, I suppose, because what I mean by that is that let’s say that your phone sends to a Lightning Address, you could possibly save that identity or the pub key that you sent to and make sure that it matches for the next time you make a payment. So then you have cycle of security that a rogue Lightning Box server cannot just all of a sudden become rogue and change to its own invoice instead of the receivers because you save that information within the sender wallet. That’s some of the ways you can circumvent the problem of the trust being seen.
I see. So let me understand that a bit. So I guess you’re trying to respond to one of the criticisms or concerns that I’ve seen. I believe Matt Carello actually raised this one where he was saying, okay, yeah, you’re kind of noncustodial, but actually you’re still trusting in the sense that that server, the Lightning Box server, could give wrong invoices to the other party to fund someone else instead of that money coming to you. As in put in other words, it could siphon off the payments that are intended for you but going to itself. And so I guess what you’re trying to say is you could try to mitigate that.
Hampus – 00:42:30:
Yes, exactly. Right now, with the custodial wallets, they can all see phone from the users all the time and just rug pole at any time. Right. With Lightningbox, I’m trying to minimize the risks as much as possible, but I suppose you could also the thing with Lightning Box is that it could potentially also be integrated with BOLT12. For example, let’s say that you fetch BOLT12 invoice the first time you send to a Lightning address. Then the wallet could save that twelve offer for the future and not rely on the Lightning address Lightning Box, sorry server anymore for the future. There are some interesting synergies with these kinds of things as well that you can do. But yeah, I think things need to be taken in steps right now. So I’m trying my best to minimize the custodial risks of Lightning addresses because right now the non custodial wallets, they’re losing on the walkover, basically. And the custodial wallets are just winning because there’s no option at all right now other than self hosting your own Lightning address server, which not everyone is capable of doing. Right. So, yeah, that’s what I’m trying to accomplish.
Stephan – 00:43:42:
Yeah, right. And I mean, for me, I’m like a very much an enthusiast. I have one, but that’s only because I’m running a BTCPay server, right. Otherwise it’ll be a lot of work and it’s probably more work than it’s worth to do that. Whereas if it can be made easier, then we’re going to have a lot more people able to do it right now. Because I guess you need a domain and you need a web server and not everybody has that. Right?
Hampus – 00:44:05:
Yeah. And people in general do not like to run servers. Right. It’s a very tech savvy thing to do. So if you want to appeal to other people, we need to make some trade offs here. And I think that the Lightning Box trade off is a sound one, but sure, I’m open to criticism, of course, but I think it’s at least better than purely custodial solutions, let’s say.
Stephan – 00:44:34:
Right. And I think that’s a fair argument to make. Now, hopefully, let’s say the vision in the future might be that let’s say you’ve got this contact list and these users are all noncustodial or self custodial. And maybe they have a Lightning box server that they’re using. And maybe at the start, maybe they’re using somebody else’s Lightning box server. And then eventually, maybe they can set up their own Lightning box server. And then now you have these contact lists where everyone can just seamlessly shoot each other money, just like people are doing on Nostr today with Zaps or just in general with Lightning addresses. And it makes it really slick and easy to kind of go back and forth between services that you’re using, whether it’s LN Markets or something else or other services, and just other people who you are regularly paying or receiving from. So I guess maybe that’s like a future possible vision. What else can you see as a future vision that you’re trying to build towards?
Hampus – 00:45:28:
That’s a good question. We can touch a bit, but Lightning Box, it’s supposed to also be very easy to sell post if you’re capable of doing that. Right? Because right now it only lies on having like an LND node. There’s no complex things that are needed to set up your own Lightning Box solution. So the barrier to entry is as low as it possibly can be. Right. At least that’s what I’m trying to accomplish there.
So one other question. Does the Lightning Box runner have to also run a Lightning node? Or is it more that that’s being done on your phone and Lightning Box is more just because then the other aspect is that person has to run a routing node?
Hampus – 00:46:15:
Kind yeah, well it needs to like if you want to take depends on them, like there are different modes of operations for Lightning Box. Like if the Lightning Box provider wants to take the payment on behalf of the user, like custodial, then they will need to have routing of as well. But if they just want to forward payments to the wallet, then it basically just needs a Lightning Node. It doesn’t need to actually be a routing node, it just needs to somehow communicate with RAM channels and stuff. Yeah, it needs to communicate with the wallet basically in some way. So it depends on the modification. But normally the Lightning or provider will probably be a route node as well. But there’s no hard dependence on that. No.
Stephan – 00:47:03:
Yeah. In terms of fees, can you talk to us a little bit about that in terms of, let’s say you’re running this Dunder LSP and what kind of fees people can expect to pay in terms of on the fly channels. So as an example, when you set up your Lightning Node and you need some inbound liquidity, or you need to be able to get set up quickly, what kinds of fees are we going to be paying for those on the flight channels? And then what kinds of routing fees would we be paying and what kind of routing fees would we expect to see as the user.
Hampus – 00:47:34:
Sure. Well, right now everything is basically very altruistically made. So there is no fee per se. You will have to cover the transaction like on chain transaction fee, you will have to cover yourself .
Stephan – 00:47:51:
The chain fee, Yeah.
Hampus – 00:47:52:
There is no like yeah, exactly. That’s what you need to cover right now. It’s very altruistic limited right now with these services, but probably in the future we’ll have some kind of scheme. But right now I’m just trying to get people on to Lightning basically. So I don’t take any cuts neither for Lightning Books nor for the Dunder. Right now that’s also with the channel, like the Lightning channels themselves do not have any fees either, like the private channels that you open with the Blixt node. But that will probably change in the future, but not right now. It’s just free.
Stephan – 00:48:32:
Yeah. And on that question, do you have any thoughts around profitability or sustainability of this project? Right? Are you looking to like where would you charge fees in order to keep the project sustainable?
Hampus – 00:48:43:
Yeah, I think it makes the most sense to have some kind of fee on the actual channels themselves right, that you open with the Blixt node. As I said, right now there is no fee, but in the future there will probably be some kind of cut that’s kind of similar to what the others are doing. I think Blue Wallet and Wallet of Satoshi like Blue Wallets are closing down but they also have some percentage cut on the actual payments being made. So that’s probably where we’ll do things as well with fixed and also we probably have some kind of fee for the actual services that you use. So if you want the Lightning box, you will probably have to pay some kind of fee because that will cover spam as well if you have to pay for getting a Lightning address. So external services as such will probably also have a fee in the listed. But right now everything is for free basically.
Stephan – 00:49:42:
Yeah. Awesome. Well, yeah, I mean I had a quick play around just for an hour or so, maybe a bit less, found it interesting and yeah, listeners have a go of it and see what you think and let Hampus know what you think about it. I know there’s a telegram channel as well so people can jump into that. And let’s talk a little bit about what you want to see like in Bitcoin and Lightning. Let’s start with Lightning. So what are you most interested to see in terms of improvements coming? If there was like your wish list, what’s top of your wish list?
Hampus – 00:50:11:
The wish list is long one but we can talk about some things at least. There’s so many good things that I want to have, but I am very interested in something called the stockless payments. So what that means just briefly explain how it works right now when you make
Stephan – 00:50:30:
Yeah, just give a brief explanation. What is a stockless payment?
Hampus – 00:50:34:
Sure. So right now when you make Lightning payment, your wallet will basically split the payment in different shorts, let’s say with different amounts, so it can find like a path to the destination. Let’s say it splits into three paths and then it will try to find the receiver node somehow. But the problem is that let’s say that one of these shards, one of these HRCs, they get stuck in the middle because the node that was supposed to forward the payment is very slow to respond. Let’s say it’s a slow node in general. That means that you will have a lot of delay in Lightning. That’s one of the reasons why Lightning sometimes is just slow to make payments because short and port of the payments can get stuck while trying to traverse to the destination basically the receiver node. So the idea with stockless payments is that you can burst out a lot of small shots and just enough of them have to reach the destination. Like it doesn’t matter if two of them get stuck somewhere because eventually if enough charge, if enough part of the payment gets to the destination, the payment will go through basically. So that’s one way to mitigate this problem of having to having slow node network slow down your payments. So that’s something I really want to see because if you’re going to have Lightning in like brick and mortar shops and so on and use Lightning for real, it’s kind of fragile to rely on notes not being slow in a network zone. So that is what stuckless is about and I think that’s something we need to eventually do. But it requires some more functionality and tech for Lightning to work. It requires something called PTLCs. So that’s one of the things I’m really, really looking forward to having enlightening.
Stephan – 00:52:46:
Yeah. Have you got any thoughts on Splicing? I guess that would be useful for you on the Blixt LSP side of it, right?
Hampus – 00:52:53:
Yeah, exactly right. That will be really useful for Blixt. So Splicing is basically can open again. If you want more funds inside of channel, you can basically make a new on chain fund channel. But it will merge with the already existing channel if you splice it in, basically. So that a splice in. So you can add more funds to an existing channel because you don’t want to have too many Lightning channels in your wallet. Because that means that the invoice QR code will eventually get too large to be able to scan. So you want to have it like at the maximum five channels. So that’s the way to solve this is that you usually splice in so you can add more funds to the channels. Then they also have the concept Splice out. So if you want to send an onchain transaction but you only have funds in Lightning, you can basically reuse your channel to send someone on chain via an onchain transaction. Then you also open a new channel at the same time basically with the remaining funds. Those things are very important things for improving, like UX for Lightning node, the wallets.
Stephan – 00:54:11:
Fantastic. Yeah. So we can think of it like resizing the channel while also making or taking a payment. So those will be handy to see. I know our friend Dusty is working on some of that stuff and he’s making some progress on Splicing, so it’ll be interesting to see if that comes to fruition and I’m hopeful that it does. Also want to chat a little bit about bitcoin in general, like bitcoin, Soft Forks and things like this, because I’ve seen this is something you’re quite vocal about. Obviously it can be controversial, but at the same time, is it worthwhile talking about? Because are there benefits that outweigh the costs? Let’s hear it from your perspective. How should we think about Soft Forks in bitcoin?
Hampus – 00:54:50:
Yeah, I think we need to figure out like bitcoin is not perfect and it’s not fully developed, right, at least in my opinion. Because when Satoshi first developed and created bitcoin, he wanted to solve this double spending problem basically. Like he wanted to make sure you have like a decentralized network where you can pay someone and you can’t double spend so on. So he fixed that by the ledger, the blockchain and also with proof of work. Right, so that’s the main primary problem. He attempted to solve the double spending problem, the Byzantine generals problem, but people were quick to point out that bitcoin has a lot of issues and the primary one is mostly scaling, right? It scales badly and so on. And also privacy is a problem. So Lightning, for example, tries to help and fix the scaling problem, but it’s not the end all be all right. We still need to continue to work with bitcoin to make it scale better. So that’s why I think that we shouldn’t give up on softworks and network upgrades. We still need to improve the network so that we can handle all the load, basically and so on. And so that’s my general view about soft forking, that bitcoin is not perfect the way it is. It’s far from perfect, actually. It’s a brilliant invasion, but we need to make sure that we can use it basically, if that makes sense. So there are a lot of soft forks right now that people are discussing.
Stephan – 00:56:34:
Are there any particular soft forks that you are really interested in or that you would want to see?
Hampus – 00:56:39:
I mean, I think that the software called NFT route, because it’s a fairly simple soft fork, but it lets us do some interesting stuff for Lightning. It lets us do something called L2, which is a very good upgrade for the Lightning Network that helps with scalability and it also lets lip route also lets us do like simple space chains, chains basically so a space chain is basically a one way peg to a side chain. So it lets us do that. So that’s one of the soft rocks that people have been discussing for quite some time. And my understanding is that it’s kind of ready to get deployed. We just need to discuss it and get the consensus around it. But there is also the new guy in town, which is the Op_Vault software. So what that is a vault is basically a way to have some insurance or security for your bitcoin. So you will lock your funds in a vault and the only way to get funds out from the vault is to send it a specific bitcoin address. So if you see some kind of unintended withdrawal from your vault, you could easily make sure they’re swept to a safe location. Basically these kinds of things will help for exchanges and other entities dealing with a lot of bitcoin and want to have some insurance. But it can also be helpful for normal users to have some kind of vaulting service that they rely on to have some safety. So those are two things that I’m very interested in and looking into.
Stephan – 00:58:30:
Yeah. And one other thing, you mentioned the space chains idea. I know that’s. Something by Ruben Thompson. What’s the interesting part of the space chain aspect? Why would that be interesting to you?
Hampus – 00:58:41:
It’s a good way to start experimenting with the side chain. It’s not a side chain in the traditional sense because it’s not like a two way peg. Like a space chain is basically a one way peg. Right. So you can send funds into the space chain but in the normal operation you cannot get funds out. Like you basically burn your bitcoin. But it may be a good way to start experimenting with some functionality and stuff. For example, you can do like a DNS space chain. So for example, for the concerns regarding Lightning box, you could potentially have a space DNS chain for retrieving like a Lightning address for example. That’s an interesting thought. So I’m mostly interested in trying these kinds of side chains out. Basically it’s a very low footprint with the SpaceChain stuff as well because you have this sovereign roll up that got popular some weeks ago and as far as I understand, they’re very bloaty on the actual chain. But for space chain it’s very like low footprint on the main bitcoin chain, which is quite interesting.
Stephan – 00:59:59:
Yeah, I see. Yeah, interesting stuff. Yeah. I haven’t looked as much into the space chain stuff, so yeah, just because I think I kind of disregarded it early because I just thought one way peg. What’s useful about that? Why is that interesting? But definitely any prev out and it’s a common criticism and Op_Vault are certainly interesting to me. I think that would be cool and probably good things to add and I think it’s important to see that these are basically. Opt in, right, people could have it and they don’t hurt the non users who don’t want to use any prevout or op_vault, but any private could help us scale in terms of more people using bitcoin self custodially. So that’s why for me, I’m interested in the idea. I did an episode recently with Greg Sanders as well, talking about it, and of course there’s also an episode with James O’Byrne about Op_vault for any listeners. But, yeah, I think that’s probably a good spot to finish up there. But if you got any closing thoughts there for listeners and of course, where can people find you online?
Hampus – 01:00:59:
Sure, you can find me on Twitter @Hampus_s. That’s hampus_s. Yeah, if you like a Lightning wallet, try a Blixt wallet out. We have like a great Blixt solid community with a lot of enthusiastic people that are helping out and so on. So check out our Telegram group if you’re interested. And yeah, go to blixtwallet.com and find the wallet there. And also you can find my Nostr pub key on my Twitter account so you can find the data stop.
Stephan – 01:01:33:
Oh, great. Yeah, I’ll include all the links in the show notes. So thanks Alpas for joining me.
Hampus – 01:01:37:
Stephan – 01:01:38:
I hope you enjoyed the show and as I’m now going to be traveling for a little bit, I’m attending Lightning Con in Vietnam and then Bitcoin Island Retreat. So, just so you know, there might be a gap in episodes and the next few episodes might come out in early April. And if you got value out of the show, make sure to like and share it and give it a good review on whatever platform. Thanks for your help out there and I’ll see you in the Citadel’s