What is splicing?
Speakers: Stephan Livera, Dusty Daemon
Date: July 10, 2023
Transcript By: adamjonas via review.btctranscripts.com
Tags: Splicing
Category: Podcast
Media: https://www.youtube.com/watch?v=C-jpZePiAcQ
Stephan Livera 00:02:14
Dusty welcome to the show hey thanks for having me yeah I’m a fan of what you got what you’re doing with splicing and obviously it’s been great to see you over the years kind of or in and around the Bitcoin and Lightning circles and yeah I love what you’re doing with flashing so let’s hear a little bit about you just for people who don’t know you just a little bit on you
Dusty Daemon 00:02:36
Thanks yeah I’m Dusty Damon that’s what it would go by now it’s my fake name no one can guess my real name you know but it’s too difficult oh that’s a joke but anyway I’ve been into Bitcoin for 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 where I want to 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 like how I could best contribute and I ended up settling on workout Lightning which I knew was going to be hard going into but it’s even harder than I thought it would be it’s like what’s that saying Lightning is all of the parts of Bitcoin you don’t understand plus a bunch of new things you also don’t understand but 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 which is very exciting for me I couldn’t be happier in this sort of position
Stephan Livera 00:03:35
Yeah, it’s actually interesting I recall when I first met you were kind of interested in Hardware wallets and Hardware stuff but then you kind of shift it over but anyway let’s talk a What is splicing? bit about splicing well what is splicing?
Dusty Daemon 00:03:49
So at its core of spicing is a very simple concept it’s the ability to resize a Lightning Channel but what’s 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 picking out splicing people weren’t aware of and it’s pretty awesome
Stephan Livera 00:04:32
Gotcha, so maybe one easy way to understand it that 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 so
Dusty Daemon 00:04:48
Yeah exactly I think a common misconception we’re on into is people tend to learn this order like oh Lightning exists that’s cool eventually like oh I have a channel what’s a channel they learned that eventually then eventually learn about Channel balances and a lot of people kind of don’t go past that and separate the other channel balance from the capacity of the channel and importantly splicing affects the capacity of the channel and not the balance directly although maybe indirectly
Stephan Livera 00:05:12
Yeah gotcha yeah and so I guess just for the laymen 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 want to 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 manage the channels for you like let’s say like breeze or Phoenix or things like this but we’re talking here 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 beneficial
Dusty Daemon 00:05:55
It’s a it’s a great question and there’s two there’s two different people that benefit one is the consumer side and the other one is the back end side it’s a little bit easier to talk about the consumer Side Phoenix is a great example when you use Phoenix and you use Lightning it just sort of works in the background you don’t have to think about any of this but in the background the app is opening every time you need new capacity it’s figuring out when to open new channels and so somebody uses Phoenix well regularly if you look in the Deep technical settings you’ll find they might have like seven or 12 different channels operating 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 essentially using 7x to block space for that and you’re paying for that so for a consumer what you’re going to notice is just more while it’s existing that exit that work for cheaper like the fees for running these Lightning wallets just kind of go down and I think it’s a pretty substantial amount because these are on chain phase and that’s the big thing the other thing is like there’s not a lot of apps that have a unified Lightning and unchain balance and I think this is a confusion 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 no users and I with splicing it makes it possible to build apps that have a unified balance which is like welcome to Bitcoin you don’t have to know this so we support Lightning and on chain interchangeably because we’ve created fungibility there and so even more disappears from the new user’s experience and it just works more regularly in genera
Stephan Livera 00:07:32
Yeah that’s a good way to put it and I think today there are apps such as Muun Wallet spelled m-u-u-n but we can think of Muun 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 can pay or receive Lightning but really Muun’s server or LSP is kind of doing the 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’s the exceptional case whereas actually most of the time we’re trying to stay on Lightning either receiving or sending
Dusty Daemon 00:08:30
100 and I mean the whole the whole point one of the main points 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 notice especially lately with fees getting so high with the whole inscription stuff like mempool costs are suddenly a big deal and I imagine a lot of the Muun Moon wall users are probably feeling that that punch with the on-chain fees being so high and like if you have so like if you have to pay an on-chain fee like you as I understand Moon wants to work every transaction you’re losing all a lot almost all the benefits of of Lightning and flipping it around is like you said exactly yeah way better it’s how it should be done essentially
Stephan Livera 00:09:10
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 I think it’s just an educational thing that the space is going through and I think obviously there are detractors 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 Bitcoins 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 you know in in a sense we’re taking transactions off the chain and I guess that’s the concept of off-chain scaling and so splicing 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 want to get up to speed on this stuff as well so that’s how I’m seeing it and so I guess there’s but we can Splicing’s potential privacy benefits 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
Dusty Daemon 00:10:43
100 and this is one of those like spicy starts out as a simple concept you can 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 and not that it solves privacy it’s never completely solved place but the other so part of the splicing protocol has this inherent coin join like thing in it it’s been called like interactive TX it’s used in some other parts of new lighting proposals as well and that’s good because it makes them interoperable and what this essentially does is it allows you to combine multiple actions and together into one so you can 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 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’t been following that Taproot lighting channels look the same on chain as a regular Bitcoin transaction and this is a huge change like before like today going into the past you can see a lighting channel on shame pretty effectively you can tell this is probably a lighting Channel especially if they whenever they close the channel it’s clear in hindsight it’s pretty is generally clear on chain this is a lighting Channel but with Tapper we’re able to actually hide the channels on chain which is kind of crazy and the other thing is the cost has been equalized so in the past if you want to do a complex Bitcoin script on chain it costs more to do it now in the in the happy path for Lightning it look it costs exactly the same so anyway all this means is that you can do a if you want to do right now if you want to do like a payment from your Lightning Channel using splicing on Tap Root 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 stored lighting channels and then all launching payments come out of them and they all look the same right so you end up with a whole host of like coins on like privacy stuff
Stephan Livera 00:12:50
Yeah, 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 Potential to undermine surveillance heuristics there’s a company called J analysis 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 can comment on that as well 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 going to spend from and so some of these heuristics kind of use this idea to say well if two UTXO 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 a receiver and try to sort of track the flows that’s one main heuristic that it’s been used another one is known as the change heuristic right so if you have two if you have a transaction with multiple pieces of UTXOs that’s a piece of Bitcoin onto bed 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 that are commonly used in chain surveillance let’s say what do you think yeah I think I think the first
Dusty Daemon 00:14:27
Yeah, I think the first one the common inputs that’s that is solved by getting more people to coin join right this is more of like a game theory group action sort of thing and I think that the key to getting everyone to doing that is to make it cheaper to do so like right now if you want to coin join 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 why they might like corners or not but there’s also just a pure cost and if splicing can be can bring coin joins or coin join like stuff to be the same costs 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 want to save money and now they’re contributing to the common input here being destroyed which is delightful on the change front and waxwing has been working on this which is some wild stuff is that part of the problem with coin joins is you have this toxic change you have to manage in general and the thing about splicing is we have a Lightning Channel there you can just dump the change into the channel directly and you get rid of all change needs entirely I 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 because getting rid of the change problems is a huge deal now there’s that’s all theoretical work you know waxing some amazing stuff on that but I think spicing has the potential especially with Tapper and splicing together like this happy marriage to reshape the entire privacy landscape and maybe put us forward whole long way
Stephan Livera 00:16:09
Yeah, gotcha so I guess infant is like I want to 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 19.4 million BTC but right 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 they’re opening and closing channels 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
Dusty Daemon 00:16:58
Totally and you know there you don’t even have to be using Lightning to be joining these right like right now the quadrant you have to find a coordinator the coordinates the coin join with Lightning every lady knows itself a coordinator right so like you could if you just know somebody with a Lightning node or you use a service that has a Lightning node you can join already active splices um which is 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 peers slices and they can put it with their Channel pure 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 friends or people that pay or whatever they could add them into it so the idea is even if Lightning stays small forever there still is some coin joining type benefit that’s possible right we could be merging in that way
Stephan Livera 00:17:50
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 with one splice is 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’re a Lightning user and you’ve got multiple channels I guess it’s possible to do multiple operations with one unchain transaction in splicing right
Dusty Daemon 00:18:44
Yes, and I think like long run I think every Lightning note should be doing that there’s some more engineering work for that but like I think we have this idea of Bitcoin transactions is 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 want to 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 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 you get privacy you know it’s like you know come for the chief fees get privacy it’s sort of like I think ends up happening
Stephan Livera 00:19:25
Yeah that’s cool to see so we could see a future there where maybe yeah there’s just more collaborative transactions but I mean 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 like 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 spoken about it from the provider the back end the LSP the wallet provider perspective so do you want to just go into that a little bit what kind of benefits will they see on their side
Dusty Daemon 00:20:13
The there’s a couple but the biggest one is well first high level it’s adding another tool to their toolkit and the big lighting service providers are the big just lighting routing nodes they need every tool they can get they’re constantly in this sort of pinch and I think the easiest example is if you look at say like Lightning channels into El Salvador my understanding is there’s a lot of remittance from the US into El Salvador and that’s one directional flow of funds and the nature of lighting channels means all those channels get unbalanced all the time so like the more ribbonses go through the more they’ll you know you look at a company like Gala or something that has a lot of these they have to constantly move that balance back they got to find a way to move the liquidity over and you know you want to start with things like particular balance or whatever but adding another Splicing as one tool in the toolkit toolkit can like save them night and day and splicing allows you to if you have funds in one channel that you can’t move across the lighting Network because it’s kind of a pinned with all this flood of funds coming from the US and El Salvador you can just say okay I’m gonna sidestep that move those funds on Shane over to a channel in the US where I have more remittances coming to service and it’s kind of like you kind of get the cheat the system you know you get like take a tunnel all right go through the fourth dimension or something get the funds over well
Stephan Livera 00:21:29
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 mean another example might be you’re a merchant and you’ve got all these channels but all the balances on your side because maybe you’re a very successful Merchant you’ve made all these sales 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 like Lightning Loop server or Bolts.Exchange or using a splicing using splicing where you can do it for yourself in certain contexts in a certain way so I guess you’ve got different tools right here circular rebalance user provider you know do a splice do a splice operation I guess these are some of the different techniques that are available to
Dusty Daemon 00:22:17
You yeah in any like big operator that’s successful is going to 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 for a given moment and I think splicing fails a big gap in there where it’s there’s like a big need for ability to do kind of things so just I get really expensive or you can’t do them at all and splicing makes this a lot cheaper
Stephan Livera 00:22:43
Gotcha and so from a LSP service provider wallet user Lightning node routing perspective they are getting Capital 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 right longer term that’s you know not really going to 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
Dusty Daemon 00:23:18
100 and the dead liquidity thing reminds me of another good point for the for the big guys is that they constantly today have to keep a supply of on-chain funds that’s just sitting there waiting you can’t be in a lighting Channel because they might need to open new channels to solve capacity demand problems over time splicing allows you to keep those funds in a channel and then move them out of the last minute to where you need it and this means like for an institution if you’ve got to keep like you know I don’t know pick a number 100 Bitcoin and dead liquidity just laying there that’s no liquidity and with splicing you remove the need for all of it you can put all the funds in lighting channels if the Channel’s not performing well it’s fine just put it on your first to kill list we want to splice funds out of it into where you need it right I think that’s a big change as well
Stephan Livera 00:24:08
Yeah okay yeah so 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 of it so even the end user who’s listening might be thinking screw them I don’t care about them I just want my thing well actually this might 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 going to be big fee spikes coming that you know even this recent round where people were paying 500 stats per V buy it you know whether that’s 50 dollar 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 costs can be kept managed in a in smart technical engineering way right
Dusty Daemon 00:25:10
Totally and I think like you know you go back over the last sweat I don’t know five years ago people weren’t really worried about Unchained fees they’re like whatever you know it’s one Saturday by forever don’t forever Laura I think what we’re noticing is like oh actually we’re starting to wake up a little bit like oh wait you know we won’t have one set forever maybe we should prepare for that future and I think things like splicing are tools we’re gonna need for that future like I think we like the days of not having to worry about unchain fees will end at some point and potentially quite soon
Stephan Livera 00:25:40
Yeah interesting and so 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 will 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 there’s more people who can be self-custodial so maybe that’s another way to sort of come at this
Dusty Daemon 00:26:09
Totally, like the more efficient we are with block space the more people we can get on you know yeah the mechanism for that is you see the prices view the cost be lower but it’s sort of the same point right they both end up in the same sort of like results
Stephan Livera 00:28:25
Gotcha, yeah so I think we’ve spoken a little bit enough you know broadly about the concepts of it let’s get a little bit more into the technicals and the internet 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 want to do a splice can you walk us through what that looks like
Dusty Daemon 00:28:52
Well, the first thing you do is you say STFU which actually is actually the first message sent over the wire a funny backstory like there was a lot of discussion of how to make how to spoil the channel while it’s do being actively used and it was determined it’s just too complex so we have to quiz the essence the channel or basically make it silent for a little bit like a second or two right we’ve seen it to pause the channel and state don’t process new payments just wait a couple seconds so there’s a new message that’s introduced to spice and called they actually called it STFU which stands for something fundamental is underway I believe I like it Anyways that this is the first message you know and then then you go into the you set a splice 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 so like before we used to say add an HDLC you know open close whatever now we have a new one that says Okay I want to splice and then we kind of declare our intentions like I want to splice in this amount I could splice out you know maybe worth backing up and saying you can Spice in and out we’ve only covered that but yeah let me just start there so you have a channel certain balance you might want to make it bigger in which case we do what we call splice in
Dusty Daemon 00:30:07
More funds to it but you also might want to get smaller which would be a splice out fund so if we have like a I mean you have a one Bitcoin Channel though because you know we’re balling and I’m like you know what like your Channel’s dead to me or I don’t know I get mad or whatever reason I’m like I don’t want to close the channel but I’m like I don’t trust you the whole Bitcoin anymore I can decrease the channel capacity to like say half a Bitcoin and then take those funds out they’ll be a splice out or maybe I’m like you know this guy’s channel is up and coming I’m excited about the future of it I want to double that put two Bitcoin in there so I could splice out and one of the fun things is you could do both at the same time right so maybe you know I got a Channel with who’s a non-controversial figure somebody else we’ll just we’ll name anybody somebody else and like their channel is going to crap but ours is good I can splice out funds on their Channel and put it into ours in one single transaction and I think these kind of Maneuvers are there there’s infinite ways you could do them this is the most there’s like there’s the three most common are splicing spice out and cross splicing channels but there’s infinite possibilities sort of the point is that collaborative transactions allow you to do all kinds of multiple Moves In in one go
Stephan Livera 00:31:11
Yeah 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 that 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 time downtime the channel is whereas in this model with splicing is is a much shorter there’s a much shorter downtime right
Dusty Daemon 00:31:49
Yeah exactly and I mean you’re closing a channel in theory could take like two weeks depending on how many age justices you have you know pending and even it doesn’t take two weeks you have to wait for it to confirm on chain plus a bunch of blocks for for the Justice transactions to monitor those so with spices you can do it right away and that’s accomplished by there was a lot of debate about this if like splicing was kind of one of those what do you call them like you could ask bunch of light developers like how to do splicing and you get like 20 answers and like all of them don’t actually work for some reason right it’s like it’s one of those problems that feels simple and then you start go the details you’d like wait actually this is complex AF you know 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 and two we’re double in the capacity show we’re splicing in easy to do is wait till that confirms so we could STFU the channel keep it quiet until the splice confirms and swap it over right but in Lightning we generally use six blocks of confirmation you know so call it you know plus or minus an hour that means your channel will be down for an hour or longer right not processing payments and like that actually would be very easy to implement it would it would not be very challenging at all but having your channel down for an hour is sort of like it was a it was a feature requirement more or less and that has led to this sort of you might
Dusty Daemon 00:33:12
Call insane but I think after like many years of the brightest minds and Lightning pontificating on it this appears to be the best solution you know sometimes you want the simplest solution possible but if there is no simple solution then then yeah you should have to eliminate someone’s first and then you know refine the complex one and with a complex which 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 then 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 we end up with two commit transactions two sets of justices everything that are just duplicated in both paths and that way if either thing confirms on chain you still have all of the Justice transaction stuff you need for for either path
Stephan Livera 00:34:01
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 that’s kind of part of the Lightning security model let’s say and so what you’re saying in this model with splicing which 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
Dusty Daemon 00:34:58
There would be the routing but this technique allows us to do routing the routing gets duplicated so we just gimmick it like
Stephan Livera 00:35:05
So, you would have like HCLCS on both sides of those two states
Dusty Daemon 00:35:07
Yeah exactly and it gets kind of wild because you can RBF a splice you need to keep track of both the first place the second one you could RB if it again right so you could end up with like you know like any number like 10 of these equipment and so then
Stephan Livera 00:35:21
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 happening at once you’re kind of you know some but then at the end at the end one of these gets confirmed in right
Dusty Daemon 00:35:38
Yeah well in not in theory but also none of them could get confirmed right like you could RBF five times mental rates go so high so you like it but my first thought wouldn’t 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 costs I think the computation cost is interesting you dive into because the main cost is generating extra signatures and storing them in your database right like but the cost you experience is the same as your counterparty node does so yeah if one node wanted to try to DDOS You by making a ton of splices that never confirm they have the same cost right so there’s no like the attacker and the attack e are getting the same amount of costs that kind of net balances out among other things like why do you like to channel somebody who’s trying to spam you like get rid of them but yeah even if you don’t the costs are equivalent complexity the complexity risk is a real thing I think that’s part of why it’s taken so long so people like thinking through all of the ways you could possibly have your money stolen from this like kind of fundamental change in the Lightning Network it’s probably part of why it’s taking so darn long but all of all of this the people that I say this way like the smartest Minds in Lightning have I thought about it a lot and this is the next conclusion that being said it’s still being released 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 want some more time to really you know test it but I I think theoretically we’ve got all the problems solved and it should work just fine but they still want this buffer phase like let’s do a little more like live testing to to double mixture you know
Stephan Livera 00:37:21
Gotcha and so what’s the Thought then if the splice transaction gets stuck somewhere in the transaction backlog let’s say you know let’s say there’s a big fee let’s say there’s a whole new round of you know inscriptions hyper 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 it in you know 30 sets of bite and all of a sudden the mempool blows up to like you know 300 sets a bite what happens then you
Dusty Daemon 00:37:47
It end up with the Dual Channel stay forever right like you so philosophically what does it mean to have two channel States what we do what we do in practice is we take all of the potential that what could be confirmed or somewhere simply transactions we’ve signed we must assume could end up in the blockchain you know they never do because our counterparty might out of band give it to a minor or who knows what right the fact the favorite slow enough is not a guarantee that it won’t get in it could still get in right so we have to assume that so we ended up just what we do when we calculate can we do a payment or not let’s do the the smaller balance of all of the candidates right so like if we have if we’re if we have we have one Bitcoin splicing and two Bitcoin we’ll never allow you to spend
Stephan Livera 00:38:35
More than one amount and even then there might be some on my side someone your side you know let’s say there’s 0.6 on your side and 0.4 on my side well obviously I can’t route more than you know 0.4 to you because that’s the maximum on my side anyway I mean exactly yeah
Dusty Daemon 00:38:48
Yeah, that’s unfortunately the current balance protocol Lightning now and it would that same you know logic you know applies now with the addition of the lowest of all spice candidates so we have five spice rpfs at once we got to calculate the minimum balance for all of those and
Stephan Livera 00:39:06
Yeah really blows up a lot hey 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’s like stock they would go to you know let’s say mempool.space comes out well they’ve announced a transaction accelerator or a 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 complexity here I’m just going to pay out a band to get it done to kind of get it Unchained 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
Dusty Daemon 00:39:50
Yeah I mean I think it’s kind of the maybe one of the running jokes is that like we talk about how do we make Lightning work better on the mempool it’s like oh we’ll just set an API to mempool.space but you know in in reality you probably want that option in your back pocket if you have if you had millions of dollars locked up in equivalent in Bitcoin locked up in your lighting nodes you probably want every option available you don’t really care about mempool philosophy you’re like I just want to need to save my money if it’s at risk right so I think it’s the kind of thing where you want to 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 going to want every single tool in the toolbox and that’s definitely one of them but it does remind me of have you heard of that about I’ve heard have you talked much about package relay or thought about it much
Stephan Livera 00:40:34
Yeah, I think I did an episode with Gloria recently but I know there’s been sort of more advances since then I know she did a talk at BTC plus as well but yeah, I mean go on
Dusty Daemon 00:40:39
I was just gonna say everyone in Lightning is very excited for that if we can get that going like our job gets a lot easier and also more secure and simpler in the node scale better but that that would eliminate a lot of the mempool problems like I think the real problem today is that you if your trans if your transaction you have to get through for some reason Lightning whether it be Justice equipment or whatever if the fee is too low on it and you have no way of increasing the fee for a new mempool state the only way you have is of course child pays for parent which works as long as the first transaction has enough fee to stay in the mempool at all if the minimum rate for the mempool is is higher than that initial transaction you’re never getting that through unless you go out of bound right it’s like currently without package really we need that mempool.space API right which is part of where the jokes come from unless we can get you know packages relay and then I guess
Stephan Livera 00:41:34
And then 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 you know to do some kind of RBF or CPFP in this case you need to like pay for the you know the parent and the answer the child right and like you’re paying you know so much more fee 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 insta Gibbs 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 this face do have to think about some of this some of these things so yeah but I mean there are some pretty cool benefits as well so I mean I guess that’s the point there
Dusty Daemon 00:42:27
I think like like long run what we really want is set the fee at time of publication right like we want to be able to like sit have like zero fee everything and then add fees down the road for whatever the current state is that’s the idea right so this is like a zero fee Anchor’s idea right exactly and if we get to that state then something else becomes possible you could you could do a splice of a channel where you don’t splice in or out you don’t bounce at all you just splice the channel into itself and then pay a high fee and attach it to one of these previous anchors and now you can literally use splices to feed bump other transactions which I just think is wild
Stephan Livera 00:43:03
Okay all 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 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 of various ideas about how to deal with you know congested States or more congested mempools let’s say and so yeah I guess it’s kind of you’re opening up a collaborative transaction world or playground in a way that people can go and try to do collaborative work with
Dusty Daemon 00:43:47
I think the way to think of it is 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 to get them all into Lightning the last problem you need is these fee bumps like everything else okay you can do everything else in this place you could do on chain except for these fee bump things where I have to like now you need a pile of money to fulfill the anchors right so it’s like how do we sell that last problem it’s like oh wait maybe splicing can be the fee bump it’s sort of the Poor Man’s explanation of it but you know it’s all it’s just it’s a theoretical idea it is totally possible today but you know there’s stuff there’s problems around like if we add you know pending UTXOs that aren’t confirmed that that creates problems for splicing which maybe we can fix it we can’t but anyway I think that actually gets solved by that that there’s a long conversation on whether that can work or not I think package really actually solves that problem so anyway there’s so many little things you wouldn’t think it related to package relay they just get magically fixed if we can if we can get this wonderful thing great
Stephan Livera 00:44:50
Great and so I know you’ve been obviously 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 implementation to agree and to implement an idea before it becomes accepted and is commonly used
Dusty Daemon 00:45:10
What’s the saying it’ll be out in two weeks yeah it’s the writing joke but I actually might realistically it might be two weeks two to four the next core lighting release will have it you know knock on wood you know fingers crossed in the next release which is in I think about four weeks or so three four weeks so you can get around 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 like you know you can use spices in the feeding set which I’m very excited to see that sounds freaking awesome I think that they I think it’s like a prototype like almost there like kind of works but it’s just it’s just inside from like their node to their app and the next step is getting it so like it can interop with the rest of the network which you know would be core Lightning right so we get core lighting and Eclair get the interop going then we got two major implementations of it done it’s officially gets entered into the spec until like I think it’s both two seven and nine something like that and though like that should happen you know that’s a couple months you know we’re real close to it the LDK is working on it which is cool I think 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 is you sort of have to like restructure your code base to like lose the concept of a channel because like it’s very when you’re writing the code you’d be like yeah a channel is like a channel between two peers that’s what channel is and spice is like what if it was this hybrid thing and like nobody wrote their code for channels not being real channels okay I need like two Phantom channels that act as one and so it I think I suspect without knowing it requires a lot of like refactoring of the of the code base yeah well
Stephan Livera 00:47:02
Interesting the term Phantom Channel I guess that’s this maintaining multiple States right the Phantom Channel and one’s like the real Channel I guess
Dusty Daemon 00:47:10
Right but which one’s real depends on your perspective
Stephan Livera 00:47:13
Getting really like Cosmic and hey man this is not tell from the Crypt come on man I’m drinking 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 a 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 just close and reopen like Channel chopping I’ve heard it’s called which is like close and reopen
Dusty Daemon 00:47:43
Yeah well there’s that’s a big list there’s a bunch of them right I think like the gold standard if you can get it is circular balance that’ll almost always be the cheapest but I feel like circular balance is this mythical beasts that every lighting node a Lightning node operator knows somebody who’s circular balance but nobody has done it themselves you’re like who’s actually ever pulled it off and the story everyone has like I tries to go bounce in the field it’s like yeah it’s kind of everybody circular balance is a dream but if you can get it always done first and when it fails which it will almost all almost all the time then you gotta fall back and I think the way to separate things like Atomic swaps Loop and like pure 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 use like a Marketplace or trust anybody to manage your own funds you can just do it directly at yourself self-sovereign now if you want to 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 else’s money and you’re trying to move it around now you’re gonna have to go through some kind of service or Atomic swap or pure stuff or whatever to try to change those liquidity ads also an option but you if you’re a lighting Opera you probably want to lose have all of those services available to you and like use the right one for a given moment probably one of the lowest fee most time yeah but you do have things like are those funds coming from a well a good connect action a well-connected knows another question but since it summarize it simply if you’re managing your funds I believe splicing is like is the king it’s the way to do it it’ll be cheapest fastest self-sovereign trust nobody even somebody else’s funds then all the other tools make laws and spices doesn’t even touch other funds there’s no impact on it whatsoever so if you want to touch those spicing is not for you gotta look at some other tool
Stephan Livera 00:49:34
Yeah right 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 this blessing helps you the most right so even in that example it’s not one it’s not just one Bitcoin Channel between us it’s let’s say you’ve got 0.6 on your side and 0.4 on my side it’s your 0.6 that you can resize up or down right you might say I want to add one BTC to my side of the channel so now it’s 1.6 on your side and 0.4 on my side like as an exactly right 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 interact with a neanderthal who’s on chain and has no Lightning right they wanna oh they’re like you need on chain I’ve got Lightning okay well that’s where maybe they can start to do something like okay I’ve got this big balance in Lightning I’ll splice a chunk out of my Lightning balance and make that payment on chain so maybe that’s this kind of and that’s where 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 life savings in the multi-sig 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 it on chain payment something like
Dusty Daemon 00:51:07
That right checking in savings and also like if you have your savings on chain and you want to and you want to make a move it into your checking account Lightning balance you can use a spicy the other way right like maybe you get paid too much on lighting like your sandwich shop is taking off and you got like ah too much I have like I got like a whole Bitcoin on my lighting Channel I think it’s too much you can spice it up put it into your cool savings
Stephan Livera 00:51:28
They could use to periodically flush some of your balance out into your save your Hardware wallet or your multi-sig and you know flush them out that way to kind of lower your risk because maybe you don’t want to keep you don’t want to sit with that much hot let’s say or that much in the Lightning balance let’s say
Dusty Daemon 00:51:44
exactly yep oh the other thing I want to mention like the Moonwalk guys I didn’t want to think I was critiquing them they built that thing before splicing existed right so I think like trying to get unified balance while it’s 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 just you might pay a lot but it’ll always work right and I think that that compromise made sense and I hope to see Moon implementing splicing in the future I think it makes total sense for them to switch their model over and you know store it on Lightning native first and then move over to on chain
Stephan Livera 00:52:26
Yeah of course and yeah I mean certainly I did not 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 chain or off chain and so maybe for some users today you might say hey you know what moon is more makes more sense 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 want to spend or receive then maybe that’s where you say okay maybe Phoenix Breeze or something like that and you know it really kind of 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 are many other Lightning wallets out there but I think those are just a few ideas okay so I guess that’s kind of some of the main ideas around splicing do you have any other you know setting splicing aside is there anything else you’re kind of looking at in Lightning or just something you’re interested in about lighting
Dusty Daemon 00:53:34
Oh my god I’ve been learning about Taproot stuff and there’s notches everywhere with the build music stuff they’re like what’s funny is like there there’s music one I just was studying this stuff trying to keep up you know music one had three rounds music two has two rounds right how many rounds of Music three have all right just making fun of the naming scheme but no music is very cool they like I feel like we’ve all kind of gotten used to signatures how they work you know it’s like okay you have a nonsense you have your transaction you sign it something you’re done and music is like wait a second I got you gotta send all these rounds of nonsense around and oh by the way if you leak one of these certain nonsense you know you lose all your funds get your private Keys like okay wait a second like not like we I don’t think we’re used to developing where nonsense our secret data on the same level as private keys right and so it’s like there’s extra work around how do we store private Keys now it’s like we got to do that work to store nonsense too and you’re like oh god that stuff I’m working through it’s kind of fun if I’m honest but I think that has notifications 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 or somewhere but doesn’t have your keys and your keys are like you know plugged into the wall at home and that this is the stuff before the Holy Grail this is like the silver to the gold or whatever and that device decides which things to sign right so it’s like oh okay you’re receiving funds great I’ll sign that sending funds wait I need approval for that kind of thing I think that’s generally called the VLS and that’s exciting what I want to see is I want to do multi-sig 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
Stephan Livera 00:55:14
I mean that is already for example CK bunker which is like you can set up your cold God as kind of like a kind of like a automate automated signing device like a roll your own automated sign I think so you could kind of do some of that you can set policy rules like only spend this much Bitcoin within one day or within one week things like that so there’s some of that but that’s an on-chain thing not a Lightning thing
Dusty Daemon 00:55:40
right so I want that but for Lightning right I feel like and I think like music enables these kinds of things that wasn’t possible before what’s weird about it is like the Lightning Channel itself is a two of two multi-sig right and so as their Lightning node you’re one of those two and if you want to then put multiSig below that you know you have like hierarchical multi-sig which is just wild you know and like music 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 we could do so much stuff let’s like figure out all the things and like the It Feels Like A open Greenfield land of opportunity of cool new ideas yeah fascinating stuff and then there’s
Stephan Livera 00:56:19
Yeah, fascinating stuff and then there’s Frost as well like that’s oh another whole thing yeah right it’s like a wrapper for frost yeah this is 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 but there are some people saying oh hey Bitcoiners are so focused on Lightning as the be-all-end-all what about other Layer Two ideas or other things like have you looked into any of that stuff or did you see it as like no Lightning is probably like really worth most of my focus right
Dusty Daemon 00:57:02
I think somewhat right like I think like keeping up what’s happening Lightning takes a lot of time so I’m honest I don’t have a ton of capacity dive into every other proposal but I do like I do tend to read them as they come through and I think my general feeling is that like there’s a lot of engineer engineering work that’s gone into Lightning and it shows right there’s like okay these things have worked not only do they work theoretically they work in principle and they’ve been tested a long period of time and I think like there are like areas of Lightning that are still areas of research that are worth like figuring out like how do we get more than two people on a channel for instance 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 not focused on it and I think like proposals that are different ways of analyzing how to do that like I don’t even think they’re not even competitors right it’s like yeah we know that’s a problem like we can these goals can be combined together right if anything it’s like a kind of collaborative process but I think part of the challenge with trying to do what I would call a lot of proposals lately I’ve been more than two people on a on a channel right that’s sort of whether that be we have five on one channel they’re equal we have hierarchy or one’s more important than others like it’s a general category of thing one of the problems we have is that the way to implement it depends on which softworks get through Bitcoin yeah a lot so like it’s a little bit like do you want to spend forever developing something that then gets outdated by some new update to Bitcoin and it kind of makes sense to sort of wait to see which soft Works within that battle and then design around what the resulting thing is you know particularly if we get some kind of Covenant come through like Lightning is obviously going to want to use that but if we get no covenants then okay we’re going to develop around that and that’s sort of a
Stephan Livera 00:58:52
Yeah and do you have any thoughts around covenants in general like are you do you are you in favor of that kind of thing like what’s your Broad View about Covenants
Dusty Daemon 00:59:03
I mean call me contrary but I’m like what’s the least popular Covenant proposal I want that one which is probably actually true TX hash is probably one of those
Stephan Livera 00:59:10
That’s Rusty’s ones yeah because I think there were there were different I guess there were different lines of arguments some people were saying oh CTV doesn’t do enough and some people are saying no it’s too scary I don’t want anything to do with that stuff and then you know there were competing ideas for it and so I guess that’s it’s been a process of learning and it’s like those ideas are out there but maybe not everyone had taken the time to really read into it and at least try and understand what’s happening there and I think what’s happening right now yeah and that’s totally fair right and I think what’s happened now is that because Barack has sort of come out and made a lot of noise about Arc that’s maybe in some ways opened the conversation again about things like any prayer of our check Temple verify and other you know other ideas like check secret stack and TX hash and things like this
Dusty Daemon 01:00:00
I have a prediction about all that oh yeah I think I think like the nature of covenants is that there is no easy best option there’s so many trade-offs and there’s no clear like this is better than the others so I wouldn’t be surprised if we’re fighting over covenants for like forever or a very long time it’s funny because 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 you know win if winning even the concept here
Stephan Livera 01:00:37
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 used on let’s say liquid or SigNet or something like that and then maybe from that people can then say Oh look see there’s all this demand it’s safe etc. now you know not that there’s a hurry it’s not like we’re in a big rush but we want to 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 ball 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 go with
Dusty Daemon 01:01:23
Yeah these are good questions I don’t know I think part of the reason I like TX hash is the most neutral it’s like it’s not saying this direction makes sense it’s like we’re gonna support we’re gonna start by supporting all possibilities of covenants and then we’ll have like Flags we can turn off and on for the various ones we want we do the implementation part now turn all the flags off and over time you can decide which flags to turn on it ends up being this kind of like compromise of like kind of saying admitting we don’t know what the future is 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 make sense you know each that feels more neutral to me you know but I don’t know I don’t really have a horse in that race.
Stephan Livera 01:02:02
Yeah well fair enough yeah it’s fair enough so yeah look I let’s summarize a few things we spoke 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 transactions 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 Lightning uses whether they are end users or routing nodes and LSPs who might want to 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 think you have anything to finish with
Dusty Daemon 01:02:59
Yeah I love it I feel like spicy is one of those things that give the keeps giving there’s so many features and I think you summarize it sometimes wonderfully I think I’m just excited for the future General I think like Lightning is advancing such cool ways spicy is one of them if there’s many I think like particular future I’m excited right now is like splicing and Taproot and how those could marriage together what benefits those gonna get but just let’s go like let’s build it I’m ready
Stephan Livera 01:03:26
Fantastic all right well listen to this make sure you follow Dusty his Twitter handle is @Dusty_Damon and here the site is Lightningsplice.com so links will be in the show notes Dusty thank you for joining me and hope to chat soon
Dusty Daemon 01:03:40
Hey, thank you see you next time
Stephan Livera 01:03:48
You can get the show notes over at stephanlivera.com/490 thanks and I’ll see you in the Citadels.