Hi, you're listening to Stephan Livera podcast, a show about Bitcoin and Austrian economics, brought to you by swan dot com. Today we're talking about splicing and the potential benefits of splicing for the Lightning Network with my guest Dusty Demon. With Bitcoin, it's not your keys, not your coins, and CoinKite dot com are making it easy for us to use hardware devices to secure our coins. So they're Notably have the TapSigner, which is a low cost, cheaper device that you can use with NFC, and they also have the Coldcard Mark IV. The Coldcard is a phenomenal device, it has so many different settings and ways you can use it. I particularly like using multi-signature as part of my setup, and with the Coldcard, it even registers the multi-signature quorum of the other devices, meaning it has the public keys of the other devices. This is great because it helps you verify the public keys that are involved in your multi-signature. So if you're interested in This or any other gear such as the block clock or the seed plate, go to coinkite dot com and use code livera for a discount on your cold cards. Pacific Bitcoin is coming back this year, it's being organized by the team at Swan Bitcoin, it's going to be in LA October fifth and sixth. So make sure you check your calendars, check your diaries, make sure you've marked this down and look at flights and hotels. It is going to be a fantastic event. The feedback on the event last year was incredible. People were saying it was the best conference they had been to. One Bitcoin event they would go to, this would be it. Pacific Bitcoin is coming back and there are initial speakers, Lynn Alden, Greg Foss, Preston Pish, Corey Clifton, Alex Gladstein, and so many more to come who are yet to be announced. And I'm really looking forward to this, of course, I'll be there speaking, and I'm looking forward to seeing you there. You will find a range of content there, whether that's the stuff on the main stage or some more, intimate stages and smaller stages with other content that you can find. It's going Conference, it's actually going to be a festival celebrating Bitcoin, so make sure you check it out, book it into your calendars October 5th and 6th, go to pacificbitcoin dot com, use code livera, get your tickets now for you and a friend before the prices go up. And now onto the show with Dusty. Dusty, welcome to the show.
TRANSMISSION SLP490
What is Splicing and why will it improve LN?
with Dusty
Dusty Daemon joins me to talk about splicing on Bitcoin’s lightning network. We talk about: • What is splicing? • Splicing’s potential privacy benefits • Potential to undermine surveillance heuristics • Splicing’s efficiency gains • Splicing as one tool in the toolkit • Walkthrough of how it works Site: • Site: Lightning Splicing • Twitter: @dusty_daemon Sponsors: • Pacific Bitcoin Festival (code LIVERA) • CoinKite.com (code LIVERA) • Lugano PlanB Forum • Mempool.space
Hey, thanks. Thanks for having me.
Yeah, I'm a fan of what you're doing with splicing, and obviously it's been great to, see you over the years, kind of in and around the Bitcoin and Lightning, circles. And yeah, I love what you're doing with splicing. So let's hear a little bit about you, just for people who don't know you, just a little bit on you.
Thanks. Yeah, I'm Dusty Damon. that's what everybody go by A long time now, and, I think like I've reached the point where like I'm long past being convinced about Bitcoin, and I reached the point I wanna give back to Bitcoin a bunch of years ago, and I was sort of exploring what the best way to do that was and looking at what skills I do have and experience and the kind of best contribute, and I ended up settling on, working on Lightning, which, I, I knew was gonna be hard going into, but it's, it's even harder than I thought it would be. It's like what's that It's been, it's been a delightful journey, and, I've just basically, I'm almost coming up on almost two years of like, of working on lightning stuff, so I've kind of become like a lightning developer. Very exciting for me. I, I couldn't be happier in this sort of-
Yeah, it's actually interesting. I recall when I first met you, you were kind of interested in like hardware wallets and hardware stuff, but then you kind of shifted over. But anyway, let's talk a bit about splicing. Well, what
is splicing? So, a, Become clear over time is that leads to a lot of other awesome possibilities that weren't possible before. And I think like the shortest way to summarize it is that like we had before lightning, we had just Bitcoin, and lightning gave us, Bitcoin on lightning, and they're kind of separate concepts, and splicing really ties them together. Like a way of saying that is it brings fungibility from regular Bitcoin and Lightning Bitcoin, and that fungibility element enables all kinds of crazy awesome things that I think even when they were first spiking out splicing, people weren't aware of. It's pretty awesome.
Yeah. So maybe one easy way to understand it that I, I think of is, let's say we have already existing channels in Lightning, we can use splicing to resize those channels up or down, fair to say?
Yeah, exactly. And I think a common misconception we run into is, people tend to learn channel in this order, like, "Oh, Lightning exists, that's cool." Eventually they're like, "Oh, I have to have a channel, what's a channel?" They learn that eventually. Then eventually they learn about channel balances, and a lot of people kind of don Pass to the channel. And importantly, splicing affects the capacity of the channel, and not the balance directly, maybe indirectly.
Yeah, gotcha. Yeah. And so I guess just for the layman out there, we're gonna try to keep this accessible and then maybe get more technical into it later on. But the basic, I mean, for people who are just, who just wanna use Lightning, of course, there are easy apps that deal with all the complexity. You don't need to deal with it. You know, it's in the background. They, they manage the channels for you A little bit, just more, what are the benefits of this idea and what does it enable for us in the ecosystem, right? So this idea that you could resize channels instead of having to close and reopen, why is that a, why is that a good thing? Why would that be beneficial?
it's a, it's a great question. And there's, there's two, there's two different people that benefit. One is the consumer side, and the other one is the backend side. It's probably easier to talk about the consumer side. Phoenix is a great example. when you But in the background, the app is opening, every time you need new capacity, it's, it's figuring out when to open new channels. And so, if somebody uses Phoenix Wallet regularly, if you look in the deep technical settings, you'll find they might have like seven or twelve different channels operating off of your one, your one wallet. And what that means essentially is just more costs. Like, if you have seven channels, you're using almost seven, you're essentially using seven x the block space for that, and you're paying for that. So, for a consumer, what you're gonna notice Running these lightning wallets is just gonna go down, a-and I think it's a pretty substantial amount 'cause these are on-chain fees. that's the big thing. The other thing is, like there's not a lot of apps that have unified lightning and on-chain balance, and I think this is a fusion for a lot of new users. They're like, "Okay, welcome to Bitcoin. Do you want lightning or on-chain?" And they're like, "I don't know what any of those words mean." And I think this ends up being a hurdle for, for new users.
To Bitcoin, you don't have to know this, but we support lightning and on-chain, interchangeably, 'cause we've created fungibility there, and so even more disappears from the new user's experience, and it just works more regularly in general.
Yeah, that's a good way to put it. And I think today there are apps such as Moon Wallet, spell M U U N, but we can think of Moon Wallet, it's in some way, maybe I'm oversimplifying, but you can think of it almost like it's natively an on-chain wallet that
Sending and receiving for you, but then on the contrast, as you said, something like Phoenix or Breeze, they have a unified balance, right? There's no on-chain or off-chain or less of a concept of that, but it's natively on Lightning. And so I think maybe one way to think about it is with splicing, if that's a widely accepted concept or let's say a lot of wallets use that concept, this allows them to, let's say, be natively Lightning and then going off, going to chain, let's say, using an on-chain Bitcoin transaction, maybe that That's the exceptional case, whereas actually most of the time we're trying to stay on Lightning, either receiving or sending.
A hundred percent. And, I mean, the whole, the whole point, one of the, the main point of Lightning is that on-chain's expensive. so if you're natively on Lightning where it's cheaper and go to on-chain when needed, you're paying the minimal fees possible. And we noticed, especially lately with fees getting so high with the whole inscription stuff, like mempool costs are suddenly a big deal. and, and I imagine a lot of the So like if you have to pay an on-chain fee, like you, as I understand Moon Wallet to work, every transaction, you're losing all, a lot, almost all the benefit of Lightning, and flipping it around is, like you said, exactly, yeah, way better. It's, it's how it should be done essentially.
Yeah, and I mean, in fairness to the Moon guys, I know they are also looking at stuff like some of this stuff, of how they could potentially move to a Lightning native model, but yeah, I mean, it's just a, it's just actors and people who don't like Lightning, but I think longer term fees are going to rise. I think there will be a persistent backlog of transactions that are hitting Bitcoin's mempool or the mempools out there in the nodes, because every node has their own mempool, and so eventually fees are going to rise. And so we need ways to be more efficient, and I think Lightning is a way to be more efficient because we're kind of batching and taking, in a, in a, in a sense, we're taking transactions off the chain, and I guess that's the concept of off-chain scaling It can be understood like one tool in the overall toolbox, correct? Like that there are multiple tools that you or the business can use or the wallet can use to manage the lightning stuff in the background. So again, for users, you don't have to worry, like end users, you don't really need to worry, this stuff is all in the background. But kind of, this is for people who are interested to understand a little bit and trying to understand some of the concepts, and maybe for some of the builders and developers in the space who wanna get up to speed on this stuff as well. So that We can talk a little bit about some of the benefits there that maybe there might even be a privacy benefit also. So I'm curious if you could spell out your thoughts there, why could splicing help from a privacy perspective?
A hundred percent. And this is one of those like, splicing starts out as this cool concept, you resize channels, and along the way, you're like, wait, how do we solve privacy at the same time? And there's, it's kind of like the gift that keeps giving. Not that it solves privacy, it's never a place, but,
In it, it's been called like interactive TX, it's used in some other parts of new Lightning Network as well, and that's good because it makes them interoperable. And what this essentially does is it allows you to combine multiple actions together into one. You do like two splices in one transaction or three, or you could open a channel or, in theory, in the long run, close a channel all in a single transaction, and this unifies them together. But what's crazy is what's also coming down the pipe, is Taproot Lightning channels, and for those that haven
On chain is a regular Bitcoin transaction, and this is a huge change. Like, like, before, like today, going into the past, you can see a Lightning channel on chain pretty, pretty effectively. You can tell this is probably a Lightning channel, especially if they-- whenever they close the channel, it's clear in hindsight, it's pretty, it's generally clear on chain this is a Lightning channel, but with Taproot, we're able to actually hide the channels on chain, which is kind of crazy, and the other thing is the cost, has been equal
Scripts on chain, it costs more to do it. now in the, in the, the happy path for lightning, it lo-- it costs exactly the same. So anyway, all this means is that you can do a-- if you wanna do, right now, if you wanna do like a, a, a payment from your lightning channel using splicing on Taproot, it's indistinguishable from everything else on chain, and it costs the same as doing a regular payment. So like, you could see a future where like nobody is storing their funds on chain, they're always storing lightning channels,
So let me explain a little bit on the privacy aspect. So today, it's possible to do what's known as chain surveillance or maybe some call it chain analysis, after, well, there's a, there's a company called Chainalysis as an example, but the point being, they use certain heuristics and there's probably two key ones I'm thinking of here. One is known as the common input ownership heuristic, and the other one is known as the change heuristic. And so I guess I'm gonna take a second to just kind of roughly explain it and then hopefully you, you can comment but the idea is when we go to do a Bitcoin transaction, now wallet is actually doing coin selection, it's kind of going, "Oh, which UTXO am I gonna spend from?" And so some of these heuristics kind of use this idea to say, "Well, if two UTXOs are being spent in the same transaction, there's a good chance that it's the same person doing that." And so some of these chain surveillance firms use that heuristic, and just, you know, people in general can use that heuristic to try to understand who's the sender, who's the Heuristic that is being used. Another one is known as the change heuristic, right? So if you have, if you have a transaction with multiple pieces of UTXOs, that's a piece of Bitcoin, unspent transaction output, and you can use the change heuristic to try to understand which one is the payment, which one is the change. And so I think the way I'm seeing it, splicing is helping take away those heuristics or at least undermine those heuristics. So it's not, like, it's not a coin join per se, but it's undermining those heuristics
I think, I think the, the, the first one, the common inputs, that's, that is solved by getting more people to coinjoin, right? This is more of like a, a, a, a game theory group action sort of thing. And, and I, and I think the key to getting everyone to doing that is to make it cheaper to do so. Like right now, if you wanna coinjoin all your payments, you have to pay quite a bit to do that. and I think that's a deterrent. People have their own political reasons whether they might like coin Same cost, now you get people on the fence to move over, and if we can get it cheaper than regular transactions, then we'll probably get a whole host of people that just don't even care about privacy at all. They just wanna save money, and now they're contributing to the common input here, it's like being destroyed, which is delightful. on the change front, and, at, Waxwing has been working on this, which is wild stuff, is that part of the problem with coin joins is you have this toxic change you have to generate. channel directly, and you get rid of all change needs entirely. Just put it all into one sort of, pile. And this is like theoretical stuff, but it sure sounds like that's going to like upend our entire approach to coin joints, 'cause getting rid of the change problems is huge deal. Now, that's, that's all theoretical work, you know, Wax is doing amazing stuff on that, but, I think, I think this splicing has the potential, especially with taproot, taproot and splicing together like this happy marriage, to reshape the A whole long way.
Yeah, gotcha. So I guess in fairness, like, I wanna put it in context here, because today, right? Lightning is pretty small compared to Bitcoin on chain, let's say. I think it's fair to say, right? Like, the amount of Bitcoin, in public channels is something like maybe five and a half thousand BTC out of it today, something like nineteen point four million BTC. But we could see a future where it grows, and there's lots of Lightning users, and if all these Lightning users are using splicing when they're, let's say Together or they're doing, you know, they're doing these channel operations to resize their channels, and splicing is at play there. There's collaborative transactions at play there. It becomes more difficult to sort of understand just from an outsider looking on chain to see, oh, that's, I know what's happening there because of these heuristics, because splicing undermines those heuristics.
Totally. And, you know, they're-- you don't even have to be using Lightning to be joining these, right? Like, right now, the coinjoin you have to find a coordinator that coordinates Like you could, you-- if you just know somebody with a lightning node, or you use a service that, that has a lightning node, you can join already active splices. Sort of a technical nuance, I won't go too deep into it, but the idea is that if I'm doing a splice, I can combine it with my channel peer's splices, and they can put it with their channel peer's splices, so we get this kind of like possibility of this, long chain of things. And if any one of those nodes along the way wants to offer a service to their
It's possible we could be merging that way.
Yeah, yeah. And I think it's fair to say having more collaborative transactions where it's not clear who owns what from the outside, it's not clear who owns what, right? So let's say you and I are doing a splicing, from an outside observer, maybe there's less that they can glean just from looking on chain, all right? It's less clear. So maybe that's what, an interesting benefit that we will see with splicing, with splicing rather, and I think the ability to do multiple operations, one Like we were joking about this, in person, I think, the last time we were catching up, I was calling you the fruit ninja of lightning, because you, you know, with one splice, I can, you know, so, yeah, the fruit ninja of lightning is out here to teach everyone about splicing. But as an example, let's say you are a lightning user and you've got multiple channels, i-guess, i-it's possible to do multiple operations with one on-chain transaction in splicing, right?
Yes. And I think like long run I think we have this idea of Bitcoin transactions as like, I create it, it happens, I publish it, it's done. But in the future, I think we're gonna move to like, hey, I wanna get these goals done with my money over this time span. Like, okay, this one could be in a month, this one a year, this one it has to be today, right? You take those priorities and you can start merging them together into multiple, collaborative transactions, to get like less on-chain footprint in general, and, and along the way get privacy,
you Future there where maybe, yeah, there's just more collaborative transactions, but I mean, then there would need to be some coordinating, efforts there, but these are presumably lightning nodes, so they're already online, and it's a bit easier for them to already talk to each other because they're already talking to each other on the peer-to-peer network of lightning. Exactly. So, there's kind of more work required, but I guess there's a, there's a possibility there, so that could be really cool. And so we've spoken a little bit about from the user perspective and lightly The provider, the backend, the LSP, the wallet provider perspective. So do you wanna just go into that a little bit? What kind of benefits will they see on their side?
the-- There's, there's a couple, but the, the biggest one is, well, first off, high level, it's adding another tool to their tool. And the big, lightning service providers or the big, just lightning routing nodes, they need every tool they can get. They're, they're constantly in this sort of-- I think the easiest example is, It means there's a lot of remittances from the US into El Salvador, and that's one directional flow of funds, and the nature of lightning channels means all those channels get unbalanced all the time. So like the more remittances go through, the more the, the, you know, you look at a company like, like Galleria, or sometimes a lot of these, they have to constantly move that balance back. They gotta find a way to m-move the liquidity over, and, you know, you wanna start with things like circular balance or whatever, but adding another I want to pin by all this flood of funds from the US and El Salvador, you can just say, okay, I'm gonna sidestep that, move those funds on chain over to a channel in the US where I have more remittances coming to service. And it's kind of like, you kinda get to cheat this, you know? You go like, dig a tunnel, alright? Go through the, the fourth dimension, funds
over. It's like a submarine swap sort of concept or even, kind of like a loop out concept, right? The idea is, let's, I You know, and now you're like, "Well, I need, I need new capacity. I need a way to kind of shunt it back, right?" So there are, there'll be ways to sort of use these different tools, whether that's using a provider, Lightning Loop server, or Bolt's dot exchange, or using a splicing, using splicing where you can do it for yourself in certain contexts, in, in a certain way. so I guess you've got different tools, right? Yeah. Circular rebalance, use a provider,
you know These are some of the different techniques that are available to you.
Yeah, and any, any like big operator that's successful is gonna have a, a system that uses all of them. Probably like an automated software suite that has every single option available and just chooses the cheapest one. And I think splicing fills a big gap in there where it's a big, big need for ability to do kind of things that just either get really expensive or you can't do them at all, and splicing makes those a lot cheaper.
Gotcha. And so from a LSP service provider, wallet user, lightning node routing Efficiency improvements. So as you mentioned, this idea, so let's say you are Async and you've got all these Phoenix wallet users who have, let's say, seven channels, that means seven UTXOs, right? And we know longer term that's, you know, not really gonna scale easily. Whereas if they can splice, you can sort of get closer to this idea of one user has one UTXO and splicing is how you kind of go in and out rather than having a lot of, let's say, unused capacity, right?
A hundred percent. And the dead liquidity thing reminds For the, the big guys, is that they constantly today have to keep a, a supply of on-chain funds sitting there waiting. You can't be in a lightning channel, they might need to open new channels for, for capa-- to solve capacity demand problems over time. Splicing allows you to, in a channel, and then move them out of the last minute to where you, and, and this means, like, for, for an institution, if you gotta keep, like, I don't know, pick a number, a hundred Bitcoin in dead liquidity just, just laying there
Performing well, it's fine, just put it on your first, first to kill list when you wanna splice funds out of it into where you need it, right? I, I think that's a, a big change.
Yeah. Okay. Yeah. So it, it gives you a benefit there. And so the end user might be like, hey, screw the providers, I don't care about cheaper for them. But here's the thing, if it's cheaper for providers, then they will compete with each other, and then the user might get a cheaper fee out of it at the end
Help them provide you a cheaper service as an end user, so it might bring the cost down, and if you are fundamentally bullish on Bitcoin adoption and you think that there's gonna be big fee spikes coming, that, you know, even this recent round where people were paying five hundred satz per v byte, you know, whether that's fifty dollars on chain or a hundred dollars on chain per transaction, then having more tools that help reduce this or help do batching operations is how the cost can be kept Managed in, in smart, technical, engineering ways, right?
Totally. And I think like, you know, you go back the last five years ago, people weren't really worried about on chains. They're like, whatever, you know, it's, it's one sat, you buy forever, forever, Laura. And, I, I think what we're noticing is like, oh, actually people are starting to wake up a little bit, like, oh, wait, you know, we won't have one sat forever, maybe we should prepare for that future. And I
I think it'll also make it more feasible for people, for more people to be self-custodial, potentially, right? Because if it weren't for that, then there might be more people who are priced out, let's say. Like, if it weren't for more efficient solutions, more people would just get priced out of being on-chain sovereign users, and they're kind of pushed off into being custodial users. Whereas in this future, maybe, maybe there's more people who can be self-custodial. So maybe that's another way to sort of come at this.
Totally. Like, the
Cost be lower, but it's the same point, right? They both end up in the results.
Gotcha. Yeah. So I think we've spoken a little bit enough, you know, broadly about the concepts of it. Let's, let's get a little bit more into the technicals and into the, into the weeds. So let's do it, Dusty. Can you walk us through in a little bit more technical detail, just kind of step by step, walk us through? So let's say you and I have a channel together and we wanna do a splice. Can you walk us through
Like there, there was a lot of discussion of how to make, how to splice a channel while it's being actively used, and, and it, it was determined it's just too complex. So we have to quiesce since the channel or basically make it silent for a little bit, like a second or two, right? We just need it to pause the channel and state, don't process new payments, just wait a couple seconds. and so there's a new message that's introduced to splice and called, they actually call it SDFU, which stands for, something fundamental
So you said a splice message. So like, you know, the way lightning nodes work is they're just constantly sending messages back and forth to each other. So, splicing has-- we add new messages to that, to that, to that protocol. We used to say, "Add an HLC," you know, "Open, close, whatever." Now we have a new one that says, "Okay, I wanna splice." and then we, we, we kind of declare our intentions, like, "I wanna splice in this amount," "I could splice out," you know, In which case we do what we call splice in more funds to it. We also might want to get smaller, which would be a splice out fund. If we have like a, it may even have a one bitcoin channel 'cause you know we're ballin', and I'm like, you know what, like, y-your, your channel's dead to me, or I don't know, I get, I get mad or whatever reason, I'm like, I don't wanna close the channel, but I'm like, I, I don't, I don't trust you with a whole bitcoin anymore,
Because you could do both at the same time, right? So maybe, you know, I got a channel with, who's a non-controversial, somebody else, we'll just won't name anybody, somebody else, and, and like their channel is going to crap, but ours is good, I can splice out funds from their channel and put it into ours in one single transaction. and I think the, these kind of maneuvers are, there, there's infinite ways you could do them. This is the most-- there's like, these are the three most common are splice in,
And so, I guess it's important to point out here that absent splicing, if you wanted to do this on your own, let's say in this example, we would otherwise have to do two transactions and be down for all that time. So as an example, if we didn't have splicing, we would otherwise have to, you know, one of us close the channel, wait for it to confirm, wait, you know, make sure there's no justice transactions or anything else, then reopen the channel. So it's like, you know, that's two on-chain transactions. Think about how much
Is a much shorter, there's a much shorter downtime, right?
Yeah, exactly. And, I mean, you know, closing a channel in theory could take like two weeks, depending on how many HTLCs you have, you know, pending. and even if it doesn't take two weeks, you have to wait for it to confirm on chain, plus a bunch of, of blocks for the justice transactions to monitor those. So it's twice as you can do it right away. and that's accomplished by, there was a lot of debate about this, splicing was kind So simple, and then you start go the details, you're like, wait, actually it's complex AF. but the, the naive solution would be to, take the existing channel, splice, let's just keep it simple, do a splice in. We're going one Bitcoin in two, we're doubling the capacity, we're splicing in. Easy to do is wait till it confirms. So we could S T F U the channel, keep it, quiet until the splice confirms, and swap it over, right? But in Lightning, we generally use six
that means your channel'll be down for, an hour or longer, right, not processing payments. And like that actually would be very easy to implement, it wouldn't be very challenging at all. but having your channel down for an hour is sort of like it was a, it was a, a feature requirement more or less. That has led to this sort of, well, you might call insane, but I think after like many, many years of the brightest minds in lightning, pontificating on it, this appears to be the best solution. You know, sometimes you
And then, you know, refine the complex one. The way the complex works essentially is you have, you end up creating kind of two channels at the same time. So you have your existing channel sort of stays there, and you have your splice channel, which is the modified channel, and you operate both in tandem, and you duplicate everything. So if I send you a payment over this channel, internally the node is actually doing it on both channels. So you end up with two commit transactions, two sets of justice, two sets of xpubs, two sets of everything that are just duplicated in both
Back to the show in a moment. Mempool dot space is my preferred block explorer, and I use it every time before I'm about to send a sizable Bitcoin on-chain transaction. It helps me target my fee, depending on whether I want that to go through at a medium priority rate or at a high priority rate. You can see the fee rates that are, put there on mempool dot space. Mempool dot space shows you at multiple aspects of the Bitcoin ecosystem, from mempools to the blockchain. To second layer networks like the Lightning Network, you can also use it as a transaction visualizer. So for example, if somebody sends a transaction to you and they send you a TX ID, you can go and search that over on mempool dot space. Of course, I'm excited for their new feature coming, I'm waiting for more information on this, but it's called the transaction accelerator, which you might have seen with announced recently. So go and find out more over at mempool dot space. And lastly, Plan B forum in Lugano is coming up. So for those of you who don't Switzerland, and they are taking on Bitcoin adoption. There are literally hundreds of places that you can go and spend Sats over the Lightning Network. So this is going to be an amazing event for anyone in or near Europe. Lugano is a, a beautiful city, and I'm really looking forward to going there. Now, we know they've already announced a range of awesome speakers like Nick Szabo, Adam Back, Paolo Arduino, Prince Philip, Jocko Mazzuchco, and Mike Peterson from Bitcoin Beach. There's going to be a range of stages, there'll be a main stage and also Lightning and peer-to-peer stage, they are also going to have masterclasses where Bitcoiners can learn skills relating to self-custody or multisig or setting up your Lightning node, and just like last year, they are going to have an art gallery. So just remember the dates for this are October 20th and 21st. Make sure you check that in your diaries and your calendars, look up flights and hotels. For some people, it may be handy to fly in via Milan and then get a transfer over from Milan over to Lugano. But you can find out more at Plan anyprevout dot lugano dot ch. And now back to the show. I see. So we can think of it like, okay, so let me try and rewind a little bit. So every Lightning node, when we have a channel, we're maintaining our own, state of that channel, and we also have a pre-signed transaction and our own set of pre-signed transactions to be able to broadcast if the other guy cheats you or goes offline or things like this, so that we can unilaterally exit, right? We can exit without asking permission. Yeah. That's kind of part of the What you're saying in this model, with splicing, you know, is being implemented, is this idea that the nodes will duplicate the states and sort of keep both sets open, like the pre-- the previous version and the spliced version of that channel. And so, I guess the question then would be, what happens if there's routing that happens in that intermediary time? Or is it kind of blocked off while we're waiting?
Oh, well, in the naive solution there would be no routing, but this technique allows us to do routing. The routing gets duplicated, so we just mimic it. So you would have like
HLCs on both sides of those two states.
Exactly. And it gets kind of wild 'cause you can RBFS splice, and you have to keep track of both the first splice, the second one, you can RBF it again, right? So you could end up with like, you know, any number, ten of these could be, and so then you're now having to
maintain like so many more possible states. Maybe it's a lot more computationally demanding or maybe there's just like a bit more risk being introduced now because there's so many different things all
One of these gets confirmed in, right?
Yeah. Well, in, not in theory, but also none of them could get confirmed, right? Like you could RBF five times, mempool rates go so high, like, but, my, my first thought I wanna think about is just, hey, that's hard to code. But I love your points that, you're adding complexity, that's true, and then you're adding, computation cost. The computation cost is when you dive in. the, the main cost is generating extra signatures and storing them
One node wanted to try to ddos, you know, making a ton of splices in their firm, they have the same cost, right? So there's no like, the attacker and the attackee are getting the, kind of cost. That kind of net balances out, among other things, like why don't you even light a chain with somebody who's trying to spam you, like, get rid of them, you know? But even if you don't, the, the costs are, complexity, the complexity risk is a real thing. I think that's part It's probably part of why it's taking so long. all of, all of this, the people that I say this way, like, a, a, the smartest minds in Lightning have thought about it a lot, and this is the conclusion. That being said, it's still being released in, when it comes out, it's gonna be released in experimental mode. It's gonna be like, only use this if you're feeling reckless, you know? We, we want some more time to really, you know, test it. but, I, I think
So what's the thought then if the spliced transaction gets stuck somewhere in the transaction backlog? Let's say, you know, let's say there's a big fees, let's say there's a whole new round of, you know, inscriptions hype or there's a whole new adoption cycle happening, and, you know, you know, let's say we put in our splice and actually, you know, you put in, you know, thirty satoshi, all of a sudden the mempool blows up to like, you know, three hundred satoshi, what happens then?
You end up with the dual
What does it mean to have two? what we do, what we do in practice is we take all of the potential that what could be confirmed, or said more simply, transactions we've signed, we must assume could end up in the blockchain, even if they never do, 'cause our counterparty might out of band give it to a miner or who knows what, right? The fact that the fee rate's low enough isn't a guarantee that it won't get in, it could still get in. so we have to assume that. so
we end up just-- what Will never allow you to spend, more than the available amount.
And even then, there might be some on my side, some on your side. You know, let's say there's point six on your side and point four on my side, well, obviously I can't route more than, you know, point four to you, 'cause that's the maximum on my side anyway. I mean, so that's enforced, yeah. Yeah.
That's enforced in the current balance protocol of Lightning now, and it would, that same, you know, logic applies now with the addition of the lowest of
It really
blows up a lot, But I mean, at the end of the day, you-- I mean, this could be seen as a tool for serious professional lightning node routers, and maybe they would have access to use, you know, as an example, a transaction accelerator. So maybe something like Stark, they would go to, you know, let's say Mempool dot space comes out, or they've announced a tran-a transaction accelerator, or maybe or another one, and they just pay out a band because they're like, hey, I need to, I need to kind of deal with some
And then at that point, it's simplified and now we're back to our normal lightning channel state, I guess. Obviously, there's a fee associated for that, but, you know, maybe it's, maybe it's worthwhile.
Yeah, I mean, I think that's kind of the, maybe one of the running jokes we talk about, how do we make lightning better on the mempool? It's like, oh, we'll just add an API to mempool that's built in. But, you know, in, in reality, you probably want that option in your back pocket.
If, if Just wanna save my money if it's at risk, right? so I think it's the kind of thing where you wanna do everything. Like, in a certain sense, different features are competing with each other, but in a real sense, they're not. Like, there's like, they're gonna want every single tool in the toolbox, that's definitely one. But it does remind me of, have you heard a thought about, have you heard, have you talked much about package relay, thought about it much?
Yeah, I think I did an episode with, Gloria recently,
Like our job gets a lot easier and also more secure and simpler and the nodes scale better, but that, that, that eliminated a lot of the mempool problems. Like, I think the, the real problem today is that, you, if your trans-- if your transaction, you have to get through for some reason in Lightning, whether it be just as soon or whatever, if the fee is too low on it, you have no way of increasing the fee for a new mempool state. the only way you have is of course child pays to parent, which Is, is, is higher than that initial transaction, you're never getting that through unless you go out of bound, right? So like currently, without package relay, we need that mempool dot space, which is part of where the joke's coming from, unless we can get, you know, package relay or something like that. Yeah. And I guess, and,
and the, I guess the kind of cruel part is if you're in a scenario where the fee rate has just really shot up, now in order to replace it, to, you know, to do some kind of RBF or CPFP
because that's what it takes to get it confirmed. And so, yeah, and there's all these like pinning rules, I spoke about that in an episode with Greg Sanders, InstaGibbs. but yeah, as you said, there's kind of all this like complexity around it, of course, the end user doesn't have to worry about this stuff, but, you know, developers and builders and entrepreneurs in the space, do have to think about some of this, some of the, so
yeah, but, I Fee at time of publication, right? Like, we wanna be able to like set it, have like zero fee everything, and then add fees down the road for whatever the commitment was. That's the idea. Right.
So this is like the zero fee anchors idea, right? Right.
Exactly. And if we get to that state, then this becomes possible, you could, a splice of a channel where you don't splice in or out, you don't change the channel balance at all, you just splice the channel in itself, and then pay a high fee and attach it to one of these previous
Okay, right. So it's like, okay, yeah, that's kind of a crazy idea to explain. So, yeah, I mean, there's, I, I probably wouldn't even be able to explain that in a simple way. I guess that means I don't know, I don't know it well enough. But, I mean, I guess it's kind of like this idea. It's a new idea. Yeah. It's kind of like people have spoken about different ideas, like transaction sponsors, I think that was a Jeremy Rubin idea, and there are kind
You're opening up a, a collaborative, transaction world or playground in a way that people can go and try to do collaborative work with.
I think the way to think of it is like, like, like there's a target of like net, if you had a target of like, how do we get net zero on-chain funds? How do we get them all into lightning? the last problem you need is like everything else, okay, you can do everything else in the splice you would do on-chain, except for these fee bump things, where it's like, now you need a, a Explanations, but, you know, it's, it's all, it's just a theo-- it's, it's a theoretical idea. It is technically possible, but, you know, there's, there's, there's stuff, there's problems. If we add, pending UTXOs that aren't confirmed, that's problems for splicing, which maybe we can fix it, maybe we can't, but, I think that actually gets solved by that, that we-- that, there's a long conversation on whether that, that could work or not. And I think Package
And obviously you're, you've been one of the main guys working on splicing. Can you tell us a little bit about where it's at with different lightning implementations, right? Because it normally needs multiple implementations to agree and to implement an idea before it becomes accepted and is commonly used.
What's the saying, it'll be out in two weeks, tm? That's the running joke. But, actually might re-realistically it might be two, two to four. The next core lightning release will have it, you know, knock on wood, fingers crossed, in the So, so you can round, you know, two weeks roundup. I know Eclair, they have like a, like a prototype version of it going, and apparently, like, they have like, if you have a special version of the app that's like secret, you can use Splices in the Phoenix app, which I'm very excited to, it's freaking awesome. I, I think that they, I think it's like a prototype-y, like almost there, like it kinda works, but it's just, it's just inside from like their node to their
To officially get entered into the spec, it's bolt three nine something like that. And, though, like that should happen, you know, at a couple months, you know, we're real close to it. LDK is working on it, which is cool. And they announced like a very ambitious timeline to get it done, and I know they're working hard. Those guys seem like they're working real hard. So, but it is a lot of work. I think one of the challenges with splicing, you sort of have to restructure your code base to like lose
Two peers, that's what a channel is. And Splice is like, what if it was this hybrid thing, and like nobody wrote their code for channels not being real channels? Like, okay, I need like two phantom channels that act as one. And so, I think, I suspect, without knowing, it requires a lot of like refactoring of, of the code base over, over time. Interesting.
Yeah, well, interesting the term phantom channel. I guess that's this maintaining multiple states, right? The phantom channel and one's like the real channel, like, right.
But which one's
Like cosmic and, hey man, this is not Taylor from the crypt, come on man. I'm joking, I'm joking. No, I'm joking. yeah, cool. So that's, yeah, that's really interesting to see. So, yeah, as we, as we were saying, like, we've got a toolbox, this is one tool in the toolbox. How do you see it comparing with some of the other ideas? Like, what would the other main tools be? Like, is it loop out, loop in, circular rebalance, close and reopen, like channel
Get it a circular balance that'll almost always be the cheapest, but I feel like circular balance is this mythical beast that every lightning node, every lightning node operator knows somebody who circular balance, but nobody has done it themselves. Like, who's actually ever pulled it off? And the story everyone has is like, "I tried circular balance and it failed." It's like, yeah, it's, it's kind of everybody. circular, circular balance is, is a dream, but if you can get it, always do it first, and when, and when it fails, which it will almost
Like peer swap and stuff, is that splicing helps you manage, your side of the channel's funds. So the funds that are yours, you can deal with in a very self-sovereign way, right? That's kind of one of the perks. You don't have to use, like, a marketplace or, or, or trust anybody to manage your own funds. You can just do it directly off of Bolt. Now, if you wanna manage the funds on the other side of a channel, that's where things get trickier, right? You have to, like, this is actually
somebody That's also an option, but you, if you're a lightning operator, you probably wanna lose-- have all of those services available to you and like use the right one for a given moment, probably one with lowest fees. Yeah. but you do have things like, are those funds coming from a well-- a good connection, a well-connected node is another question. But in s-- in, to summarize it simply, if you're managing your funds, I believe splicing is like, is the king, is the way to do it, it'll be cheapest, fastest, self However, if you want to touch those, splicing isn't for you, you gotta look at some other tool.
Yeah, I mean, that's, it's fascinating to think about, but yeah, as you said, it's focused on, if you focus and think about your balance, that's the part that splicing helps you the most, right? So even in that example, it's not one, it's not just one Bitcoin channel between us, it, let's say you've got point six on your side and point four on my side, it's your point six that you can and so then that's where you can really start to do things. And so I guess now, if we take this idea and apply that in the, let's say, the Phoenix user or the Breeze user, they may have their balance natively in Lightning, but now they've got, they wanna, they, they wanna interact with a Neanderthal who's on chain and has no Lightning, right? They wanna, they're like, "Oh, oh, you need on chain, I've got Lightning, okay? Well, that's where maybe they can start to do something like Out of my Lightning balance and make that payment on chain. So maybe that's this kind of-- and that's what we're getting to, what we were saying earlier, this Lightning native wallet balance. And maybe, of course, maybe there'll be users who have like their, their life savings in the multisig on chain, not, nothing close to Lightning, but for their day-to-day spending, maybe they've got, you know, a few hundred dollars in their Lightning balance and maybe they're splicing out a small chunk to make an on-chain payment, something like that, right?
Yeah. Check, Like if you have your, your savings on chain and you wanna, and you want, you wanna make, move it into your checking account, your lightning balance, you can use a splice to go the other way. Maybe you get paid too much on, on lightning, like your sandwich shop is taking off and you got like, oh, I have too much, I have like, I got like a whole bitcoin in my lightning chain or something, it's too much, splice it out, put it into your cold savings. So you could use this
to periodically flush some of your, of your balance out in your Balance, let's say.
Exactly. Yep. Oh, the other thing I wanted to, if I could go back, like the, the Moon Wallet guys, I didn't, didn't want to critiquing them, they built that thing before splicing existed, right? So I think like trying to get unified balance wallets made without splicing is just so, it's one difficult, and you have to make these trade-offs that are just uncomfortable. And with Moon, they made it so it always works, and you, you just, you might pay a lot, but it'll always work,
I, I think it makes total sense to switch their model over and, you know, store it on it-- Lightning native first and move over to-- Yeah, yeah,
of course. And yeah, I mean, certainly, I didn't intend any criticism of them. I think for me, it's more like, you just have to know what tool you're using. And so for people who are really into Bitcoin, then we should take it on ourselves to advocate to our friends and family and think, okay, what's the use for this person? Do they need to spend more of their time on For some user who just wants to get off the exchange, maybe Moon makes more sense there. But let's say you're talking to somebody who you know they wanna spend and receive, then maybe that's where you say, okay, maybe Phoenix Breeze or something like that. And, you know, it depen-- it really kinda depends what is that person trying to use, right? So, you know, I think they're all great options, you know, I've used them all. So, and those are just three, right? I'm sure there, there, there are many other lightning Is there anything else you're kind of looking at in Lightning or just something you're interested in about Lightning?
Oh my god, I've been learning about Taproot stuff and, there's nonsense everywhere with the whole music stuff. They're like, "What's funny is, like, there, there was Music One, I just wanna study this stuff, trying to keep up, you know? " Music One had, three rounds, two has two rounds, right? How many rounds will Music Three have? Hey, just making fun of the naming scheme, but, but no Work, you know, it's like, okay, you, you have a nonce, you have your transaction, you sign it, and you're done. And Mutis is like, wait a second, no, no, no, I got-- You gotta send all these rounds of nonces around. And oh, by the way, if you leak one of these certain nonces, you lose all your funds, get your private key. It's like, okay, wait a second, like, not-- like, we, I don't think we're used to developing where nonces are secret data
I think that has ramifications for-- I'm excited about remote signing. I think like, the holy grail is like, you have your lightning node running online on some server somewhere, but it doesn't have your keys, and your keys are like, you know, plugged into the wall at home, and that, that-- this is the step before the holy grail. This is like the, the silver to the gold or whatever. And that, that, that device decides which things to sign, right? So it's like, oh, okay, you're receiving funds, great, I'll sign Splicing with that, right? Like, I don't want one device in my home that could be stolen. I want, like, I want three of them in different locations, you know? They're like hard to find. And have them all three in the same place. Well, I mean, there is already,
for example, CK Bunker, which is like, you can set up your cold card as kind of like a, kind of like an auto-ma-automated signing device, like a roll-your-own automated signer thing. So you could kind of do some of that. You can
We won't, right? Yeah.
And,
and I think like multisig en-enables these kinds of things. What's weird about it is like, the lightning channel itself is two of two multisig, right? And so as a lightning node, you're one of those two, and if you wanted to put multisig below that, now you have like hierarchical multisig, which is wild, you know? And like multisig enables us to do that for the first time ever, and it's like, I feel like we're in this like new, like candy land of like new cryptography. Do so
Land of opportunity of cool new ideas.
Yeah, fascinating stuff. And then there's frost as well, like that's, oh yeah, like another whole thing. Oh, yeah. And roast. Yeah, right. It's like a wrapper for frost. there's so many, crazy ideas out there. and then, yeah, I guess, have you looked into any of the competing L2 ideas, right? So I think this is one of those things where maybe another line of criticism, now obviously, again, you and I are probably lightning promoters, right? Obviously.
So focused on Lightning as the be-all and all. What about other Layer 2 ideas or other things? Like, have you looked into any of that stuff, or do you just see it as like, no, Lightning is probably like really worth most of my focus, right?
I mean, somewhat, right? Like, I think like keeping up with what's happening in Lightning takes a lot of time, if I'm honest. I don't have a ton of capacity to dive into every other, but I do, like, I do tend to read them as they come through, and I think my Shows, right? There's like, okay, these things have worked. Not only do they work, theoretically they work in, in principle, and they've been tested over a long period of time. And, and I think like, there are like areas of lightning that are, are still areas of research that are worth like figuring out. How do we get more than two people on a channel? Like, that's not a new idea, it's an old one. It's just like, wow, that's a complex problem. there's lots of trade-offs there, and we're just sort of
That's a problem. Like, we can, these goals can be combined together, right? If anything, it's like a collaborative process. I, I think part of the challenge with trying to do what I would call a lot of the proposals lately have been more than two people on a, on a channel, whether that be we have five on one channel, they're equal, we have hierarchy or one's more important than others, like this general category of thing. one of the problems we have is that the way to implement it depends on which soft forks give
Bitcoin, a lot By some new update to Bitcoin, and it kind of makes sense to sort of wait to see which soft forks, win that battle and then design around what the resulting thing is. Particularly if we get some kind of covenant come through, like Lightning's obviously gonna wanna use that, but if we get no covenants, then okay, we're, we're gonna go over on that and sort of a-
Yeah, yeah. And do you have any thoughts around covenants in general, like in favor of that kind of thing, like what's your broad view about
covenants? I mean,
TX hash, one of the, oh, that's Rusty's one, yeah, yeah, yeah. Because
I think there were, there were different, I guess, there were different lines of argument. Some people were saying, "Oh, CTV doesn't do enough," and some people were saying, "No, it's too scary, I don't want anything to do with that stuff." And, you know, there were competing ideas for it, and so I guess that's, it's been a, a process of learning, and it's like those ideas are out there, but maybe not everyone Yeah, and that's totally fair, right? and I think what's happened now is that because Barak has sort of come out and made a lot of noise about Ark, that's maybe in some ways opened the conversation again about things like any prevout, check template verify, and other, you know, other ideas like check sig from stack, stack, and TX hash and things like this.
I have a prediction about all of it.
Oh, yeah?
I think, I think like the, the nature of, of covenant is that, there is no easy best option. there So I wouldn't be surprised if we're fighting over covenants for forever or a very long time. It's funny, 'cause like, any, if there's a problem where there's clearly a best winner, then you can kind of argue it, right? But if it's all trade-offs, like nobody, there's no way to win if winning is the concept.
Yeah, maybe it, maybe it'll be about who can prove out commercial demand, like who can prove out the most sort of real-world use on, let's say, Liquid or Cygnet or something like that, and then Now, you know, not that there's a hurry, it's not like we're in a big rush, but we wanna improve Bitcoin so that more people can self-custody and scale and so on. Or maybe the other idea is there's a lot of congestion on chain, right? Like maybe in a big bull cycle, there's all this congestion on chain and people are like, "Hey, we need something," and maybe that's what gets people, the impetus to, more seriously consider what to, to go with.
Yeah, it's a good question. I don't We're gonna start by supporting all possibilities of covenant, and then we'll have like flags we can turn off and on for the various ones. We'll do the implementation part now, turn all the flags off, and over time, we can decide which flags to turn on. It ends up being this kind of like compromise, like kind of saying, "Admitting we don't know what the future is, we're, we're down to build for it, "and then, you know, as more knowledge and more evidence and more experience happens, we'll just turn off and on the things that,
you Talked about today, so obviously splicing is the big item. I think the high level idea is that you can resize your own channels and particularly your balance in that channel. It's possible to use this to do collaborative transaction that may give users more privacy by undermining common input ownership heuristic and maybe others. it allows more efficiency at the wallet provider or LSP level that maybe they can get more efficiency and then pass those savings on to users, and so we can consider this like another tool in the toolbox that light gaining users, whether they are end users or routing nodes and LSPs who might wanna use this as part of their toolbox to manage, their channel sizes by doing things without having to close and reopen. I guess that's my sort of high level one minute summary. What do you, what do you think? You have anything to finish with? Yeah.
I love it. I feel like, splicing is one of those things, the gift that keeps giving. There's so many features and, it's, I think you summarized it, summarized it Lightning is advancing such cool ways, splicing is one of them, there's many. I think like particular future I'm excited about right now is like splicing and Taproot and how those could merge together, what benefits those gonna get. but, just let's go, like, let's build shit, I'm ready.
Fantastic. Alright, well, listeners, make sure you follow Dusty, his Twitter handle is at dusty underscore damon, and his, the site is lightningsplice dot com, so links will be in the show notes. Dusty, thank
You can get the show notes over at stephanelivera dot com slash four nine zero. Thanks, and I'll see you in the citadels.