
Dario Sneidermanis, Founder of Muun Wallet joins me to talk about the advanced technological approach taken by his team. We chat about:
- Muun as a single unified bitcoin + lightning balance
- A different approach with mnemonics and backups
- Lightning and channel management
- Splicing
- Use in Argentina and elsewhere around the world
Links:
- Twitter: @esneider
- Twitter: @muunwallet
- Site: Muun.com
Sponsors:
- Swan Bitcoin
- Hodl Hodl Lend
- Compass Mining
- Unchained Capital (code LIVERA)
- CypherSafe (code LIVERA)
- CoinKite.com (code LIVERA)
Stephan Livera links:
- Show notes and website
- Follow me on twitter @stephanlivera
- Subscribe to the podcast
- Patreon @stephanlivera

Podcast Transcript:
Stephan Livera:
Dario, welcome to the show.
Dario Sneidermanis:
Thank you. I’m glad to be here. Thanks for having me.
Stephan Livera:
So Dario, I see you and the team at Muun wallet have been doing some interesting things, but first let’s hear about you. How did you get into Bitcoin?
Dario Sneidermanis:
So I first heard about Bitcoin around 2011. A friend of mine linked me to the paper. I read it and it’s like, I remember thinking, well, this might be possible. And so, but like, I didn’t get into it that much after, after reading the paper. And then in 2013 with some friends in college we started playing a little bit further with Bitcoin. It was the first Latin American Bitcoin conference. And so a lot of people from all over the world came here. And I first talk with Andreas and I remember like he’s awesome speeches about Bitcoin and being really inspired about it and starting to think about how can, like, this is a really awesome technology. How can we get it to the point where anyone can use it? Right. Because at that point it was super difficult.
Dario Sneidermanis:
It was really difficult to buy Bitcoins, to use them safely, to not lose it. And yeah, so playing a little bit over the years, and then in around 2014, with these same friends from college we got together, we were talking about payment channels, which were a really new concept at the time. And we were thinking about what can we do with payment channels? And after thinking about it for a bit we got together to, we did kind of a hackathon over a weekend and did the demo of using payment channels to stream video peer to peer. And we called it Streamium and launched it. And we had a lot of really good feedback. And yeah, after a little bit of time after that, I started working in Muun and actually saying like, how can we make this accessible to everyone?
Dario Sneidermanis:
And so I’ve been at it for some years now, and yeah, that’s how I got into it. Really excited about all the recent developments. I think we’re finally starting to see this vision that was probably somewhat clear back then, that a lot of engineering work had to be done to actually get here, to start seeing in some payments, super cheap payments and that kind of stuff. In the last couple of months, I think we’ve seen a lot of adoption in the lightning space. So it’s really awesome that it’s actually happening.
Stephan Livera:
And tell us how you got more involved in lightning and a bit of your history around lightning network.
Dario Sneidermanis:
Yeah. So I’ve been following Lightning for quite a while. As I said we were playing with payment channels really early on. And I remember, I think it was mid 2017. I got together with the people at Lightning labs and asked them like about the timings. When is this going to be ready? And what are the fees going to be? It was really unclear at the time, how it would all like fit together. And so after that, I got back to Argentina and started working on thinking about how can we ship this in a mobile device. And one of the biggest problems at the time or things that weren’t clear were how the fees were going to work and how rebalancing was going to work. And so I hire that friend that was doing his PhD in mathematics.
Dario Sneidermanis:
And so we got into building like a lightning network simulator because at the time there was no network to try to understand how it was going to fit together. And after a while we started actually building lightning into the wallet. It was a long road, but yeah, so I think from early on, we detected that two of the biggest technical problems in Bitcoin were that for some kind of payment, Bitcoin is really slow. And for some kind of payments, Bitcoin can be super expensive, especially as time goes on and fees go up. And so lightning was like the perfect solution. It compliments perfectly, with on chain payments. And so it was clear that the solution to making accessible payments in Bitcoin was via the lightning network, but there was a lot of uncertainty as to how that was going to actually work.
Dario Sneidermanis:
So we’ve been thinking about it for quite a while now. And yeah, so after a lot of work, we finally got to what’s Muun today which I think is a really nice demo of what lightning can be. There’s still a lot of work to be done. There’s a lot of work ahead. And so I won’t call it a final solution but I think it’s we got a lot of positive feedback about the architecture and the UX we managed to get to. So we’ll keep improving in that front.
Stephan Livera:
Cool. And I’d also like to talk about the relevance of Bitcoin in the Argentina Bitcoin scene and the impact of fees, cause I’m sure the fees rising in the Bitcoin world and, you know, during Bitcoin’s bull runs, typically everything is indexed with number going up. So fees is going up and so on. Could perhaps put that into context for us. How important is it that fees are kept cheap for people who need to do, let’s say peer to peer transactions or, you know, day to day spending using Bitcoin and lightning?
Dario Sneidermanis:
Yeah, definitely. So here in Argentina, there are a couple of things really interesting going on. So on the one hand there’s a lot of people getting into Bitcoin right now. I think it’s happening everywhere, but the energy, especially it’s really easy for Argentinians to understand the value of non-custodianship, because we’ve all seen it fail. Like almost every living Argentinian has seen the banks fail and not being able to access your own money. And then non-custodianship is really easy to grasp. And on the other hand, we are super used to thinking in multiple currencies having super volatile currencies. And so Bitcoin is not that weird. It’s not that different to other things. And I think that that makes like the perfect recipe for Bitcoin adoption. And yeah, so a lot of another interesting thing that’s happening here is that a lot of on-ramps to Bitcoin are mostly peer to peer.
Dario Sneidermanis:
Few people use exchanges because most of the economy outside of the banks is mostly a cash economy. And so when you are buying Bitcoin in a peer to peer manner on the one hand amounts, maybe are not so high. And on the other hand, it’s really important how you handle fees because in other places maybe there’s good exchange infrastructure. People are leaving the money inside the exchanges to not pay the withdrawal fees. But since here a lot of it is being done peer to peer, you have to pay the withdrawal fees. And so the rise of onchain fees has hit really hard the local Bitcoin community, I think. And so there’s a lot of features that are really important for the Argentinian users such as really good on chain fee estimation, and being able to maybe if I trust the other person, I don’t need to confirm it right now.
Dario Sneidermanis:
And so it’s really important to be able to confirm, to set the fee so that they don’t need to confirm right now, and pay cheaper fees. And on the other hand, something really interesting that we’ve been seeing after the release of Muun 2.0, is that since using lightning right now is so easy, and it’s kind of a no brainer if I’m going to do like a peer to peer transaction to try to use lightning. And so we are suddenly seeing some payments that we didn’t see before such as like Lightning payments in the order of a thousand dollars, $2,000, $3,000, which wasn’t something that we were counting on. So we are rushing right now to actually have a good UX and support really well, high amount lightning payments. But yeah, I think that maybe when you are buying a hundred dollars worth of Bitcoin having to pay maybe five, $10 of on chain fees makes it, people stop using Bitcoin, right? When it’s so high. So yeah.
Stephan Livera:
Dario, one other point I wanted to touch on there because I’m just thinking of this in my head as well. When people do peer to peer cash trades, often when they are doing it on chain, someone has to sit there and wait for a confirmation, but in a high fee environment, that means you’re either, well, it might be a double whammy where you have to pay a high fee and still wait, because that confirmation might still take 10 minutes, 20 minutes, 30 minutes. And in this time you’re going to have to sit with that person and wait for the confirmation, but now in a lightning world, that’s changed, right?
Dario Sneidermanis:
Yeah, definitely. It’s a completely different world. And it makes a lot of sense to use lightning in that way. Because you get this thing where you just get together, exchange the cash, send the money and you’re off. So UX wise it’s, it’s completely changed. And so I think there’s a lot of possibilities there. And even with the few exchanges that are starting to integrate with Lightning, the experience of selling Bitcoin is completely changed because right now you don’t have to wait for three confirmations to get your money in. And so I think that will allow for the exchanges that go all the way down that path it’s really interesting because they may be able, for example, to give you a quote of the rate you are going to use to sell your Bitcoins, even before you send them which is impossible right now due to the confirmations. And so I think that one of the most interesting things of Lightning right now, when you look at the UX and how users are using it is the fact that the payments are instant and that changes a lot of things, small things. But once you take them to their logical conclusion, I think we’re going to see a much nicer non-custodial experiences all over the ecosystem.
Stephan Livera:
Fantastic. So let’s talk about Muun wallet, then. Can you give us an overview? What is it, and what’s the approach that you have taken with it?
Dario Sneidermanis:
Yeah. So our objective with Muun is to make non-custodianship so easy to use that everyone can use it. Bitcoin you see has a long way to go there. We’re not expecting to get to that point like in a year or so, it’s going to take a lot of time. Bitcoin is a long-term project, right? But there’s a lot of things that can be done today to improve the UX to make it really easy, to understand what’s going on to send and receive payments without thinking about, about a lot of things and to not lose your money which is, I think recovery is one of the biggest pain points today for mainstream users when using non-custodianship. And for us, it’s a really important project because I think that we are now seeing a lot of mainstream users getting into Bitcoin.
Dario Sneidermanis:
And if we don’t make non-custodianship really, really easy to use, then they will just drop it and they will use custodial services. And I think it’s something that we cannot afford to lose. And so we’re working on that and the idea is, yeah, make these, all these sophisticated technologies that have been that the entire ecosystem has been developing for several years, like multi-sig security, Lightning network, custom fees and all that stuff work together in an easy to use way. And so for a user that doesn’t care much about the details, that’s fine. And they can use it without understanding every single piece of technology and on the other hand, for someone that wants to actually understand it and play with it. We also gave them that possibility. So in a sense, we have like two different audiences, the Bitcoin early adopters and the Bitcoin mainstream users that are getting into the ecosystem right now.
Dario Sneidermanis:
And I think it’s really important to pay attention to both audiences. And I do believe it’s possible to build a product for both audiences, especially because mainstream users are really looking for someone to help them get into Bitcoin. And so they go ask the person that they know is like is the most into Bitcoin. And so we want not only to help these mainstream user getting to Bitcoin, but also the early adopter make it really easy for them to onboard other people which is something that we see a lot, right. So, as bitcoiners we really like to get other people into Bitcoin, and it’s a lot of responsibility, it’s super common to be afraid about whether they are going to lose their Bitcoins. We see some people do crazy stuff to avoid like having, for example, their family lose their Bitcoins. And so I think not only the experience of using Bitcoin, but also the experience of recommending Bitcoin can be improved quite a lot.
Stephan Livera:
Yeah. You made a lot of great points there. So I think now would be a good time to talk a little bit about the technological approach taken with Muun. So I was reading your blog posts, and it seems you’ve taken a very technology forward approach and some things are slightly different. And so I thought that was why it would make a really great episode for the listeners. So can you tell us a little bit about the Muun approach from a technology point of view perhaps we could start with the fee estimation part?
Dario Sneidermanis:
Yeah, sure. So we remember from the last couple bull markets that when the Bitcoin price goes up, fees go up and that compounds, right because fees are quoted in Bitcoin. And so it gets super expensive to use Bitcoin and people just stopped using it. And so it was really important for us to tackle that. And we always felt as users that we could do a better job than the wallet estimators. And it was really weird because like the standard answer to that was, well, now you say the Bitcoin fee market is quite complex and it’s real time. So it’s really difficult to predict how the fee is going to work. And so for quite a while, we should settle with that explanation. And at one point we decided to actually go there and make some tests and figure out if that was actually true, can estimation be better than what everyone is doing, which is mostly what Bitcoind is doing.
Dario Sneidermanis:
And to our surprise, it turned out that you can do much, much better than Bitcoind if you use the mempool data. And so we got down to design on an estimator that we could train with a historical mempool data. And it worked really well. It works actually much better than we expected, which is actually what users were feeling, what we were feeling as users when using Bitcoin. Right. We were like in the middle of a weekend, we knew that bitcoin fees were really low. You go into mempool.space and check the fees and are you are doing like manually the work that the wallet could be doing. And so there was a big opportunity there. And so we worked, for the last year on an estimator that could do like at least a better job than what users were doing manually.
Dario Sneidermanis:
And yeah, so that’s in production right now. It’s working really, really well. We found a couple of ways to optimize it a little bit to guarantee, for example, that it’s always going to be at least as expensive as Bitcoind or lower. And so we get all the non-custodianship guarantees of Bitcoind’s fee estimator. And so there’s a lot of interesting details that you can adjust once you have that. But in retrospect, I think right now that we could prove that this actually worked it makes a lot of sense to the design estimators that are paying attention to what’s happening in real time in the mempool, which is super important in high fee markets, because they are super volatile. And so you have to adjust rapidly to the changes.
Stephan Livera:
Yeah, really interesting. So if I had to just summarize that for any listeners who are a little bit newer, think of it, like when you send your Bitcoin transaction, your wallet has to essentially pick a fee, but it doesn’t, we don’t know because what could happen is that it might try to pick a fee that it thinks will get into the next block or maybe into you know one of the later blocks, but then things can change really quickly because a lot of other transactions could all come in and hit inside the mempool, waiting to be mined into a block. And then you might be, you might be left in the lurch, or you’re kind of now you got pushed back in the queue, and that’s sort of why the fee conversation is a little bit difficult, but at the same time, that’s also why, if you’re doing small value transactions, that’s where lightning is a lot more useful.
Dario Sneidermanis:
Yeah, definitely.
Stephan Livera:
So Dario, I know with Muun wallet, you’re trying to take a different approach around things like you’re trying to, it seems to me from reading your blog posts and material, you’re taking a bit of a forward approach. You’re trying to use output descriptors and miniscript, and some of these more advanced technical components to that, as opposed to doing the typical, you know, BIP 39, 12 word seed. So can you maybe tell us a little bit about why you’re taking this different approach, what’s different instead of doing the typical 12 word backup?
Dario Sneidermanis:
Sure. So we had this problem really early on because we decided to go with a multisig approach to the wallet. We wanted to provide a hot wallet, with as good better security as possible. And so what we do is Muun is 2 of 2 multisig. This means that there’s one key on the phone and there’s another on our servers. And so every transaction must be co-signed by both keys. And so that allows us to, for example may allow users to maybe tell us they lost their phone. And so we stopped signing transactions from the old phone until they log in into another one. And so a lot of cool things can be done once you are in the multisig world, but then like nothing in the ecosystem is prepared to handle that, right, because the mnemonics the 12 words are just a private key.
Dario Sneidermanis:
And so if you have more than one private key, then you can handle mnemonics. You can’t handle the multisig with mnemonics and then actually, historically there were a lot of problems with mnemonics because they were missing a lot of metadata. And so it was really common to, for example, have these backup of mnemonics that I had, I used in a wallet like four years ago, and now I want to recover the money and I input those words into a new wallet and it can’t find any money. So it’s a really tense moment as a user. And you have to start trying with different wallets, trying to remember what while you were using. And so I believe that the mnemonic solution had several problems for awhile, but they weren’t weak enough problems to actually make us as an ecosystem, move forward onto other more comprehensive solutions, but then came multisig, which for many years it was there in the protocol, but no one was using it that much.
Dario Sneidermanis:
And multisig had this problem that you need multiple keys. And so mnemonics don’t work anymore and you need something else. And I think that the guys at Blockstream saw this problem a couple of years ago, which prompted them to start working on a solution to how can you recover your money from a complex multi-sig setup. And so they ended up creating the output descriptors which are these new technology that allows you to express an arbitrary script an arbitrary set of keys how they are being used to create outputs. And then you can use that to recover your money. And right now I think Bitcoind has almost complete support for output descriptors. So you can import an arbitrary output descriptor, and it will find your money whatever it is and let you move it to wherever you want to move it.
Dario Sneidermanis:
And so multisig was kind of this turning point where if you wanted to do multisig, then you had to do something different. And that got us thinking about how can we provide a really easy to use recovery system that doesn’t depend on Muun. So it needs to work even if Muun disappears and output descriptors were the perfect solution for that. And so, but nobody was using them. And it wasn’t clear from a UX standpoint, how exactly they fit it in the model, in the wallet model. And so we had to try a lot iterate a lot, try different solutions. And we got to these solution that we call an emergency kits, which is a PDF file that has all the information you need to recover your money whenever you want to. It has the output descriptors, it has both private keys, but all the sensible data, and also has instructions on how to use it, right, because mnemonics are great. But if you don’t know exactly what they are, it’s really hard to figure it out by yourself. And so I think this is one of the points where you have to take care of both your audiences, both the people that are really understanding what they are doing and the people that don’t have a very good idea of what’s happening behind the scenes, but you want to help them anyway. And so, yeah.
Stephan Livera:
Yeah, so I think one point I might just clarify, just because there was a lot there just for listeners who are not as technical, let me just try to give you a layman’s explanation. So historically people were using 12 word backup, you know, BIP39 standard or other standards. And because it would rely on using a set pathway and a set kind of way of doing things. But the reality is that over time, different wallets are using different things. So that introduces this problem of trying to then recover. And how do you then go and like, do you try to recover by trying to brute force all the different wallet parameters? And that’s where, you know sites like walletsrecovery.org will list out the pathways and all the different details. And for example, Luke Childs on an earlier episode — episode, 206, we spoke about how he built that kind of feature into Electrum to try to recover and help people deal with that thing.
Stephan Livera:
But I think what you’re getting at here Dario is that we want to try to take a technological approach and try to move into this world where we are using some of the more advanced features such as output descriptors, which is available and working in the recent versions of Bitcoin core. And so we can think of it, I guess maybe let me just put it in a simple terms so people who aren’t as technical, you can think of it, like you have the private keys, but you might not know where to find the money. And it’s kind of, it can like after enough time, it might be a little bit like a needle in a haystack problem. And so what you’re doing is with these new backups, with this new style of backups, is that you’re kind of saying here’s the private key and here’s the map to go and find where that money is so that you haven’t lost it. Correct?
Dario Sneidermanis:
Yeah, definitely. That’s a great explanation. Yeah, I think that, so, I see, like we want, like as an ecosystem through three different stages. When we, when we were in the single sig world where a wallet it was just a single private key, then mnemonics were good enough. They had these problems where you had to deal with finding how do you find the — where your money is, but you could kind of brute force it and find it. And then we started trying to, we moved to the second phase where we started to get like a little bit more secure setups. And for that you need multisig. And then for multisig, then it’s much harder and mnemonics fall short. And so we needed a new solution. And now we’re moving to a third phase where we have lightning network, which is a completely different beast.
Dario Sneidermanis:
Recovery, it’s much harder. If you want to guarantee the non-freezability aspect of your money, which is how do I move my money without any collaboration from any server it’s a little bit harder. And then you have to use all of these new technology together, right? You need output descriptors, you need mini script, PSBTs. And so I think that in the last couple of years, the ecosystem has been creating all these different pieces of technology to solve these new problems, which is it’s really great, but we haven’t seen many wallets up until now try to use them actually use them to solve problems for the user without the user needing to understand everything that’s in there.
Stephan Livera:
What’s going on in the background.
Dario Sneidermanis:
Yeah and that’s been our main focus when to use all this technology to solve the new problems that we’re having that allows us to use really cool tech. And so we can have a really good security on a mobile phone. We can have non-custodial lightning network together with your own on chain wallet. And so it’s the end product I think, is at the end experience. I think it’s really cool, but you need to figure out how all these pieces fit together.
Stephan Livera:
Right. And I guess, let me just underscore one other benefit. So as you’re saying, this is a 2 of 2 multisignature. So I think just to underscore that for listeners, that means typically if you’re using most phone wallets, the keys are hot on that device, but now if we’re doing two of two multisig, now there is a trade-off right. We’re using multisig that costs a little bit more in terms of on chain fee than say single signature, but you are getting a security benefit. And maybe there’s a little bit more of a complexity, but now if somebody hacks your phone, they will not have enough keys to steal your funds. Because now it’s actually two of two and Muun’s servers have the second key. So can you explain a little bit about how that works?
Dario Sneidermanis:
Yeah, sure. So when you set up your phone, like the two keys are created one is in the phone and one is created in the server. The second key never goes to the phone. So you have this guarantee where you know that to get your money and the attacker would need to in some way, get both keys or get one key and fool the server into signing another transaction. So it’s much more difficult. Our approach here has been how many things have to go wrong in order for an attacker to get your money. And so we have all the usual protections, and we try to be super careful about how we handle the key in the phone, but in the end, even if they get the key in the phone, then they just got one of the two keys. And so that gives an extra layer of security for using a wallet in a mobile device.
Dario Sneidermanis:
And at the same time, your emergency kit which is these PDF where you have all your recovery information has both keys. And so you don’t like if you, if Muun disappears and the servers are completely destroyed and so you can recover your money via the application. You will always have all the information you need, all the keys, you need to move your money independently from Muun. And so you get the best of both worlds where you have this complete autonomy, if you wanted to, but that’s a little bit uncomfortable to use for day-to-day transactions. And for day-to-day transactions, you have a really good UX with the best security you can get on a mobile device. Yeah.
Stephan Livera:
Gotcha. And so the backups part, can you tell us a little bit how that works? Because going through the app, it says, it seems as an email and a password part, and then there’s also a code. So can you just outline what are, what is that?
Dario Sneidermanis:
Yeah, sure. So all those pieces are actually, so we see them as solving two different problems. One of the problems is how do I get access to my wallets? If, for example, I’m changing phones, or I lost my previous phone. And another problem that we’re treating kind of separately is how do we get access to the money if Muun disappears, right? Which gives the non-custodianship guarantee. And so that second part, the non-custodial recovery is composed of two different pieces of information. You have your recovery code, which is something that you write down on a piece of paper. It’s pretty similar to what a mnemonic is. And then you have the emergency kit, which is this PDF file, which has all the information and it has the private keys, but the private keys are encrypted with your recovery code. So you need both pieces of data to be able to move your money by doing so, by separating these two pieces of information, instead of putting them all together in just a mnemonic, we solve a lot of problems because you can have multiple copies of the emergency kit.
Dario Sneidermanis:
You can have it, you can store it in the cloud and that’s safe and private. You don’t have any risk of doing so. So we want to make it so that it’s really, really difficult to lose at the same time. Since the recovery code, which is this code written on a piece of paper, it’s not enough to move your money by itself. Then you are protected from, for example, from someone finding your mnemonics and just like taking your money which is a regular setup for wallets today. And so we get quite a bit better security against digital attackers and also against physical attackers who just get your mnemonic. It’s a little bit more complex, but we worked really hard to make it as simple as possible. And so once, you set up your wallet, we try to guide you through all these steps so that when you end, you are a completely, or you are in the best possible state with regards to a non-custodianship, how to get your money back and how to recover your money in case you lose your phone.
Dario Sneidermanis:
And then there’s these first part where we try to do these maybe this flow to recover your money. That may be more familiar for non, like, maybe beginners, where you can either use your recovery code. As in every wallet you use the piece of data you wrote on a paper to get access to your money, you can choose to do that, or you can choose to do a more traditional approach where you put your email, we send you an email to your phone. You click on the email verifying that it’s actually you. You can use either the code or a password to gain access to your wallets, which we found is easier for new users to grasp and understand what’s going on and gives them a couple of choices as to how they count to get their money back in case, for example, they forgot their password or something like that.
Stephan Livera:
Gotcha. So just to clarify, there, you have the option there to take. It’s kind of like having an encrypted cloud backup, and then you’re writing down in essence, the password to unlock that encrypted cloud backup. And that way there’s not a single point of failure. You need one, you need both pieces to be able to get the money, basically. So then what’s, could you just outline for me the difference there between the email backup and the password for that? This is the kind of overall password in that next step. What’s the difference there? Or are they the same?
Dario Sneidermanis:
Yeah, sure. So what you are doing in the background is we started a backup of your private key the priority that lives on your phone encrypted with your password and your recovery code. And so as a user, you can treat it if you want to, as a regular application, where you log in with your email and once the server verifies that it’s really you by clicking the email, like a magic link or something like that, then you will be able to, like, if you input your password and the server will send that challenge to your phone to verify that you actually know what the password is without revealing it to a server. We have a little bit of crypto there to do that. And once the server verifies that you know, the actual password, then it will send the backup of your private key encrypted with the password and client side, it will be decrypted and all your wallet state will be restored. And so we started with that setup and we found that it’s really, really common to forget your password. Like everyone forgets their password. And so we started creating extra layers of options there. And so if you forget your password, then you can do the same, but with your recovery code, which is the code you wrote on a paper, and it works in a similar way where there there’s a backup of your private key encrypted with your recovery code, once you show the server that you actually know what the recovery code is the server will send the encrypted backup to be decrypted client side. And yeah, so that’s, I’d say the recovery options that have, you can do them using just the app, they are really easy to use. And it gives a good recovery experience. And then you have this second mechanism, which was the one that I was telling you about before, which is the non-custodial mechanism.
Stephan Livera:
Yep. And so that backup, then how do we deal then? And I guess we’ll get into the lightning stuff as well, but that backup does that also recover whatever was in the lightning channels as well?
Dario Sneidermanis:
Yeah. So all your wallet state is backed up in the server encrypted with your key. So once you recovered your key you can download all your encrypted backup, decrypt it locally in some way recreate your wallet state as if you had always been using it in that same phone. So yeah.
Stephan Livera:
Cool. And that can be quite handy, I guess, because there are people all around the world and I presume then this kind of wallet might make a lot of sense for people who are more in the developing world, and they’re not using the typical sort of hardware wallets and everything else. They might just have a phone wallet, and this could be the kind of one easy wallet they use.
Dario Sneidermanis:
Yeah definitely. I think it doesn’t replace the need for hardware wallets if you want to hold a lot of money you will like, we still of course recommend to use hardware wallets. And eventually it’d be nice to have a nice integration with hardware wallets. I think the guys at Casa for example, are doing a great job there making it accessible to use like really cool secure setups with hardware wallets in an accessible manner. But you will like most people that we talk with have at least a little bit of money at hand a little bit of Bitcoins if they want to use it somewhere. And then for the people that are just getting into Bitcoin that maybe don’t have yet enough knowledge to use a hardware wallet successfully. I think having a mobile wallet is a really good way to onboard these people — let them have their first Bitcoin experience later and moving to a hardware wallet. And so right now, we are working on like figuring out the thing is this is hard, but figuring out at what point we want to start suggesting users to maybe move some of the money to a hardware wallet or a more secure setup. So I think it’s we want to help users all the way, even if this, the best solution isn’t to store their money in Muun.
Stephan Livera:
Right. Yeah. Certainly. And I think it makes a lot of sense for people to try this one as a first wallet, even just for a total newbie starting to learn, and then, because it’s already got Bitcoin and lightning, you can alleviate some of that fee concern as well. So let’s get into the lightning stuff. So it’s interesting. You’ve got one unified balance. There’s no sort of separate Bitcoin and lightning. Can you tell us a little bit for the listeners who want to understand what’s going on under the hood? How does that work?
Dario Sneidermanis:
Yeah, sure. So we started with that vision for us we thought that I learned about how we’re going the lightning network. How is it going to interact with on-chain payments? And so we figured that out early on that on-chain payments, aren’t going away anytime soon, because actually in lightning when you do the math you end up seeing that as time goes on, the fees tend to be proportional to the amounts. And so if you let’s say, i don’t know we may see one, once everything settles down and it gets a little bit more stable, we may see proportional fees in the lightning network. And so that’s like, I dunno, maybe 0.5% fees to say something. And so that makes it so that lightning is really good for small amount of payments. But once you get to really big amounts, then on-chain is much better because fees are much smaller and they don’t scale with the amount you’re sending.
Dario Sneidermanis:
And maybe if you are sending $1 million, then lightning will probably never work for that, or will be super expensive. And so we wanted to provide a really unified experience and as time goes on and the ecosystems starts adopting in lightning more and more users will be able to do, to perform lightning payments without having to take a decision previously about how, what amount of money they want to use for lightning and what amount of money they want to use for on-chain. And so we set out to do that, and we started experimenting early on with submarine swaps based on the, in the work that Alex Bosworth had been doing. It was really inspiring for us to see that submarine swaps worked really well. They had some problems, but overall, they were a great solution, if you wanted to provide a unified balance for on-chain and off-chain. And at the same time, don’t break the non custodianship guarantees. It was like and it provided us a path to doing lightning while maintaining the non custodianship guarantees in an incremental way, right? So we started with submarine swaps and we started making them better and better and better. And now we are moving towards that. So we started with that default on-chain mechanism, and now we’re moving towards a default off-chain mechanism. And so this is, I think there are three interesting ideas that we’re using in order to manage that level of UX. On the one hand we are using, we are starting to use something that we call non-interactive channels, which is the idea that you can’t, you can receive an on-chain payment and that same payment will open a channel between you and Muun.
Dario Sneidermanis:
And so you don’t have to pay any fees in order to get your money on chain once you receive on chain. And that allows us to mix that part of the on chain world, with the off-chain setup. And then on the other hand, you need to be able, like, if you have your money on channels, you need to be able to make on chain payments. There is an old idea to do that. That’s called splice outs and splice outs are this idea where if you have all your money in payment channels, then you can close your channels, make an on chain transaction and reopen channels with your change. You can do all those operations in the same transaction. And so it’s kind of an atomic operation. You can get to a really, really good UX because now between non-interactive channels and splice outs, you can receive and send on chain payments while having all your money in channels all the time.
Dario Sneidermanis:
And I think that’s a really, that provides a way to have a really good UX. It’s super hard to do, right? So we’ve been building this for a couple of years now, and we still have at least a year ahead of us to make everything work. Right now our channels are really basic because we wanted to nail all these points before getting to the full payment channels. And so right now the payment channels are single use. They don’t have revocations, so they aren’t super efficient. The next step will be to add full revocations to the channels that have like full off chain payments, and have all these really cool things of super low fees of using lightning. And, yeah, so that’s how our basic architecture is. It’s quite complex as you can see, but I think after working on it for a bit, I think it’s, we got it to a point where now we feel it’s, it’s been actually worth it to go that way.
Dario Sneidermanis:
And we can do that. It was really important for us to not compromise either on the UX burden or non-custodianship of on-chain payments while doing so. So we maybe, maybe we took the long road to getting here compared to other wallets. And so for a while we didn’t have a really good learning UX, but I think now we got to the point where it’s good enough, and you can have these really nice onboarding experience and you can have this really integrating lightning and on chain experience. So, I think it was well worth it.
Stephan Livera:
Right. I see. And so basically the wallet does everything in lightning, and then the idea is when it needs to make an on chain payment, it will do a swap out using like a submarine swap style. Is that, have I understood you correctly there?
Dario Sneidermanis:
We’re actually right now about to release a version where we don’t use swaps anymore, we actually do these splice outs, which are these like channel break and reopen operations, which are much more efficient, but yeah, they are way harder to code. So it took us a while, but yeah, so you could receive directly on a channel and send money on chain by breaking a channel, closing a channel, sending the payment then reopening a channel with a change output. So it’s actually on chain when you see that it looks just like a regular on chain transaction. And now that it appears that we’ll have Taproot in a few months, it will look like a regular on chain transaction. There, will be no difference from doing like regular payments. I think one of the cool things that I really like about this approach is that since each time you receive an on chain payment that UTXO opens a payment channel, then you kinda like the old problem of on chain wallets of UTXO selection and dealing with UTXOs now becomes the channel selection problem, and you have to deal with channels which is a little bit of a different problem that has different trade-offs actually, you need to kind of rethink what a wallet is from the ground up once you want to support lightning like a unified lightning experience.
Stephan Livera:
Yeah, certainly a very interesting experience very interesting technological approach and a little different from the other wallets that I’ve seen to date. So is it using LND in the background or what’s going on there?
Dario Sneidermanis:
So we use LND for our, nowadays in the server, but for the channels between the server and the user’s phones are completely different stack where we had, it was so custom that we had to build it ourselves. And eventually the there’s a lot of parts that you don’t need, if you want to solve that problem specifically we are using, for example, you don’t need all the routing stuff because we’re doing some things similar to trampoline payments. And so the rooting is right now, it’s outsources to outsource it to the server LND solved that problem for us.
Stephan Livera:
Gotcha. so I guess, yeah, so there’ll be a few, I guess it’s like the privacy question around that. But also I guess before we get there, I also wanted to talk a little bit about how you’re doing with the channels. Like, is the wallet already using things like MPP or things like that in the background?
Dario Sneidermanis:
So we don’t support the MPP right now. We are working on it. We do support it for sending, but, but not for receiving it, wasn’t super easy to implement with our current infrastructure, but we’re building all the parts to make it possible. And so I guess we’ll soon have MPP but not sure exactly when right now.
Stephan Livera:
Gotcha. Yeah. And also just, I guess the trade offs around the turbo channels components I saw there was a blog post about that. Has that changed since then? Or is that still the case? Can you outline a little bit about what that is and how you’re using that?
Dario Sneidermanis:
Yeah, definitely. So there’s this really hard problem in the lightning network, which is the email capacity problem. And for end users, this means that how do I receive lightning payments if I don’t have enough inbound capacity, if no one is, has opened a channel previously with me and has loved their money, you know, that to make it possible that I can receive enough funds and be a lightning. And so what we saw in the last couple of years from different wallets and different experiments is that a lot of people are tending towards using turbo channels, which are a cool way of saying like zero confirmation channels. So someone opens a channel towards you in on the spot, like once you want to receive some money, if you don’t have enough inbound capacity someone can open a channel on the spot with you and route the payment that you are receiving through that channel.
Dario Sneidermanis:
And then you have like, as a user, you have the possibility of choosing to either trust your counterparty to not make a double spend of the channel. Or you can just wait until you are super sure that the channel is fully open and then accept the payment. And so we wanted to give users the possibility of choosing whether they prefer the full security or the full like UX nice UX of having instant payments. And so we took the, maybe not so common approach of leaving this, decision to the user. And so in Muun settings can choose whether you are okay, processing to our channels, or if you want to turn them off. And just each time you receive a payment, when you don’t have enough inbound capacity, then you will just wait for a full confirmation and then accept the payments.
Stephan Livera:
So, I guess just for clarity, then that means if a new user sets up Muun wallet and they want to fund it, can they fund that either with an on chain transaction or with a lightning, or do they have to fund it with an on chain transaction first?
Dario Sneidermanis:
They can do, they can receive from any network. So, the idea is that we wanted to make it so that users stop thinking about whether they have on-chain or off-chain balance. They just have one balance and they can, at any time they can either receive a lightning payment or an on chain payment, and they can make a lightning payment or an on-chain payment. And that works like all the combinations work. You can install Muun and receive, be a lightning or receive via on-chain, and then immediately after make either a lightning payment or an on-chain payment. And that will work.
Stephan Livera:
Yeah, that’s very clever. I like that. And I think that might make a lot of sense for people in the developing world who really, they can appreciate having super low fees for small value transactions, because otherwise, I mean, I’ve seen cases where people in the developing world will try to withdraw from an exchange and then see that all they’re all like, you know, or some huge percentage of the amount they’re withdrawing gets basically eaten up in Bitcoin fee. Right?
Dario Sneidermanis:
Yeah. Yeah. It’s really hard then. And also like, even if you are okay with that fee, then they now want to use the lightning network. And if they find that they have to pay like a huge fee to open a channel and they have to wait for some confirmation, it’s really hard to grasp for maybe for someone that’s not so technical. And even if you understand everything that’s going on the UX is kind of hard. So it’s really useful to have all that abstracted away and not have to think about it. And it just works.
Stephan Livera:
Yeah. It’s really a fascinating approach. So I guess the other part is around the privacy angle. So I guess this is probably one area where we’re having to make a trade off here that, you know, the user is making a trade off there for use for having non-custodial having easy UX. Maybe it’s some bit of it, some amount of a privacy trade-off, but probably worth it for a new user, just to have an easy on-road into Bitcoin and lightning, right?
Dario Sneidermanis:
Yeah. So we studied, like in Muun 1.0 was a very non-private wallet. And since then we learn, like we learn a lot about why it was important and how to achieve the UX we were trying to do without compromising privacy. And so we’ve been moving towards being more and more private as we’ve iterated. And I think we still have a lot of way go, but we’re finding that little by little, we can provide these level of UX with with better and better privacy guarantees. And for example the guy said at Phoenix are doing a really good work with trampoline payments, which are, like they allow you to make lightning payments without having to make all the routing decisions on your phone while preserving a lot of the privacy guarantees.
Dario Sneidermanis:
And so we’re implementing that right now. And I think it’s really cool, in order for that to be really private. You need a lot of adoption of trampling payments throughout the entire lightning ecosystem, which are, I guess it will take some time. But I think they are a great trade off, right? Because running, running a node on your phone is hard. So if we can find a way to do it in a way that actually works it’s efficient enough to run on a phone. That’s maybe most of them, it’s not connected to the internet and at the same time provide really good fees and really good privacy. I think that’s not only us, but the entire noncustodial wallet ecosystem in lightning wants to go towards. And and I think it’s, it’s going to be possible. We are all working towards that direction there’s a lot of improvement to do and things to do to actually get there. But we’ll get there.
Stephan Livera:
Yeah. Certainly I think this makes a lot of sense for those kinds of users who are totally new and just need an easy way to get started. And they don’t want to have to think about lightning and channels and blah, blah, blah. They just want to pay Bitcoin and receive Bitcoin. So in terms of receiving Bitcoin, so let’s say they want to do a lightning receive, they would have to go into the receive and then type in an invoice amount basically, and then they can receive on that or how’s that part of it work?
Dario Sneidermanis:
So right now we are using amountless invoices. This means that you just, use a QR in the same way that you would do with, on chain payments. But we’re right now, we are adding the possibility to add an amount to your invoice because many services that already support lightning they only support invoices with amounts. And so we are adding the possibility in the same way as with on chain payments, you can use a regular QR code that doesn’t have any amounts, but optionally, you can add an amount and be explicit about that.
Stephan Livera:
Gotcha. And as I understand, there were some people who raised a security concern around that. I know the Zap team, and I think they didn’t like the idea of countless invoices because one of the intermediary hops can steal some of the funds. But then I also understand that there’s — I think with, if you do it with key send, you can do it in a more safe way. So what’s your thought there?
Dario Sneidermanis:
So it used to be unsafe but since then, like from maybe a half a year ago, it’s already, like, a solution has already been devised to solve the security problem which actually involves adding an extra secret to the invoice which was necessary in order to perform MPP payments. They had the same problem. Like how do you know that you already received all the parts that composes a payment? And so right now it’s not unsafe anymore. The problem has been completely solved. But I guess not everyone either knows about this or has implemented the support for payment secrets. But I guess we’ll see the ecosystem transition to using more payment secrets because everyone wants MPP. And so I think this is just a transitional period where some people don’t support them, but yeah.
Stephan Livera:
Yeah. That makes a lot of sense, I think. So it’s probably just a factor of sometimes some, it depends what wallet you’re sending from, because if that wallet doesn’t support sending into that kind, then you get this kind of it’s. And really, it’s just an initial teething problem because we anticipate, you know, in a few months or whatever, like basically all the wallets will have it and then it won’t be an issue.
Dario Sneidermanis:
Exactly, yeah. And I think it’s, it’s really important that we put a lot of thought about how to make the lightning experience as similar as possible to the on chain experience and users are really used to using QRs without an amount. So it was important for us to figure out how to provide that same experience and maybe make the amounts optional in the same way as for onchain payments.
Stephan Livera:
Yeah. And one other thing I’m thinking of is people maybe from the older days are more used to this idea, and maybe this is more in an asynchronous way. So as an example, people can just put up a Bitcoin address and, or they’re, maybe they’re operating, they’re doing some kind of online trade or peer to peer, but online, not in person. And they might say, oh pay me into this address. And then I guess now with lightning, it’s the online requirement. So how do you have any ideas or what’s the approach with Muun wallet on that? Like, for example, let’s say you have sent somebody a lightning invoice and you’ve closed it. Or you’ve switched to another app on your phone. Will Muun still be able to take the payment or do you have to keep Muun open while you are expecting a payment?
Dario Sneidermanis:
So we’ll try as hard as possible to wake up your device and sign, accept the payment in the background. Most of the time it works. And when it doesn’t you will receive like a push notification a UI notification asking you to open the app. Hopefully it isn’t happening. It isn’t that common. Most of the time, the mobile operating system is okay with waking the application and having them accept the payment in the background, but you can always be offline, right. So some lightning payments might take awhile if the receiving phone is turned off or it’s offline you might need to wait until it’s turned on, but in practice we aren’t seeing that situation that often we’ll see how, how it progress as people start using lightning more and more.
Dario Sneidermanis:
So it’ll be interesting to see. But yeah, so one of the, for example, one of the requests we recently had from several people is to — we were using a one hour expiration for our invoices our lightning invoices. And that was okay if you wanted to pay via lightning, to receive lightning payment. Face-To-Face but if you wanted to do maybe a more, asynchronous flow where you, maybe I send you an invoice via some chat application, and you’re in a different time zone, and maybe you’ll see it eight hours later then you might want to set the expiration of your invoices longer in the future. And so we are working on allowing that and those asynchronous flows. It’s much more probable that you — maybe your phone yourself, you are sleeping, your phone is offline or something like that. And so we’ve really had to handle the fact that even though most of the time lightning payments are instant, they might not be so if the other phone isn’t connected to the internet so in that way we handled them in a similar manner to on-chain payments where you just have your payment is pending until the other phone wakes up.
Stephan Livera:
I see. Yeah. That’s really interesting stuff. And I think it’s a very interesting, I guess, technological approach here. So with I guess the other question is just around sustainability of the wallet like, what’s kind of the model going forward and like, whether the model like the wallet, I guess, how’s it being funded such that it is sustainable into the future?
Dario Sneidermanis:
Sure. So our idea is to start at some point in the future allowing users to go buy and sell Bitcoins in app not by ourselves, because we want to keep being non-custodial and we want to not know anything about our users, so we wouldn’t be okay with doing some KYC stuff with our servers. But I think we can maybe provide a nice on-ramp and off-ramp experience inside the app by working with other exchanges. And so our monetization strategy goes that way where we want to be part of the flow of buying and selling Bitcoin, especially for newcomers. And the idea would be to make Muun a single stop solution for onboarding people to Bitcoin, where you just have to download Muun, and then you can buy your first Bitcoins. You can store them there in a secure manner. Non-custodially, you can send them, receive them and eventually sell them if you want to. So yeah, we’re building up until we get to the point where we can provide an even better experience of buying Bitcoins and holding them in a non-custodial manner a better way than custodially.
Stephan Livera:
Fantastic. And Dario also just wanted to get a sense from you. What’s the Argentina Bitcoin scene looking like, is, are you seeing a lot of people getting into Bitcoin? Are they getting into lightning? What’s the feel from the ground?
Dario Sneidermanis:
So it’s really crazy right now. There’s a lot of people getting into Bitcoin. Everyone is studying about Bitcoin like every friend from school, every person I know has pinged me in the last in the last month or so asking about Bitcoin and it’s really common to just hearing people in the street talking about Bitcoin and crypto in general. So I think it’s really interesting what’s happening for the general population for the mainstream users. Everyone is interested about it and talking about it. There is a huge community that’s been in here from really early on in Argentina, there’s a lot of people working in order to receive new people, and explain to them what Bitcoin is and the right ways to use Bitcoin.
Dario Sneidermanis:
So it’s really welcoming for newcomers. There is a huge Facebook group that I don’t know, there is like five, 10,000 people getting into the group every week right now. And yeah, so I think it’s really interesting what’s happening here. I think Bitcoin has the potential to solve problems like real problems right now for people that don’t even care about Bitcoin. For example, it’s really hard in Argentina to move money in and out of the country. It’s really hard to buy US dollars. And so people are left with the fact that they have to either save have their savings in Argentinian pesos, or look for other solutions. And so I think Bitcoin is a really interesting way out the the usability is getting better and better.
Dario Sneidermanis:
There’s a lot of exchanges here in Argentina. It’s growing like crazy I don’t know, there’s 15 exchanges or something like that. And it’s growing quite a bit. So yeah, I’m really excited about what I’m seeing. Like I didn’t expect to see this level of adoption for quite a while. So it’s happening really fast and we’ll see where it goes, but there’s a tremendous opportunity for Bitcoin to be more than an investment or, I always think that Bitcoin will have succeeded once users are using it without even knowing that Bitcoin is in the background. And I think we’re getting faster and faster to that point. So I think it’s awesome.
Stephan Livera:
Yeah, that’s really cool to see. So I guess when I’m thinking about Muun wallet, I’m just, I’m sort of thinking how slick it is in terms of having a unified balance. Do you see Muun as like a wallet that kind of works like really, especially well for people in a, more like a developing world, or do you see it kind of just like, it’s operating like really, like even people in the Western world would really get a lot of benefit from using this wouldn’t you think?
Dario Sneidermanis:
Yeah, definitely. So we are trying to build globally from the get-go and it’s really interesting, because you have like a huge set of challenges once you want to give a really good experience for everyone at least in the Western world. But a while ago we did an experiment in a slum here in Argentina to actually understand how well suited is Bitcoin today to solve maybe to follow this narrative of banking the unbanked and actually helping people that aren’t that integrated into the regular system banking system and the rest of the institutions. And so what we found at that point was that Bitcoin still has a really long way to go to get there. These people maybe didn’t have a phone or didn’t have internet or had internet, but with really, really bad connectivity.
Dario Sneidermanis:
And maybe they weren’t that educated or in how the digital world works. And we were using a lot of analogies, like digital analogies, UX analogies that they didn’t understand. And so I think both Bitcoin and the bigger tech industry has a lot to learn, you know to solve problems for the people that maybe are most in need of it. And we’re working towards that way. I think the entire ecosystem is working towards that but we still have a long way to go. There are some basic requirements today for using Bitcoin, like having a good internet connection, having a smartphone, being like somewhat used to what a mobile application is. And so there’s a lot of education work to be done there, but I think Bitcoin will get there. I think it can solve real problems for people that are most in need of them, which is half of the world’s population. Right. So it’s a huge opportunity for everyone and we’ll eventually get there.
Stephan Livera:
Cool. look, Dario. I think it’s probably a good point to finish up here. So where can listeners find you online?
Dario Sneidermanis:
Yeah, so I’m on Twitter. @esneider Yeah. and you can look me up there or via email via signal. Yeah. I’m super happy. Always to talk with people that may have ideas or questions about where the bitcoin ecosystem is going, and what’s actually possible to be done in the next couple of years. So feel free to reach me. I’d be happy to talk.
Stephan Livera:
Excellent. Well, yeah, thanks very much for the work you’re doing, making a bit kind of lightning, very accessible. I think listeners should go and check out the Muun wallet and thank you, Daria for joining me. Yeah.
Speaker 1:
Thank you for having me. It was really nice.