NODE ONLINE
EP 101
slp@node:/transmissions$ open --transmission SLP101
TRANSMISSION_DETAIL

TRANSMISSION SLP101

Coldcard by Coinkite

with Rodolfo Novak

DATE 24 August 2019
DURATION 01:01:16
GUEST Rodolfo Novak

Rodolfo Novak (CEO CoinKite) rejoins me in this episode to talk about the Coldcard from Coinkite. We talk about: • Why he made the Coldcard • Basic features of the Coldcard • Bitcoiner support for the Coldcard • Multi signature with Coldcard • WalletsRecovery.org

listener@future:/transcript$ decode --transmission SLP101
TRANSCRIPT_BUFFER DECODED

Hi, you're listening to the Stephan Livera podcast focused on Bitcoin and Austrian economics. Today we've got Rodolfo Novak from Coinkite rejoining us to talk about the Coldcard. But first, let me introduce the sponsors of the show. So have you signed up with Kraken? They're super impressive as a Bitcoin exchange in terms of what they do in the industry, offering- Really strong security with Kraken Security Labs, consistently acting ethically in the space. They are one of the longest standing Bitcoin exchanges, they're often rated the best, they've got a really high quality platform. Have you signed up with them yet? They've got high trading volume and low fees, with no minimum or hidden fees. Don't forget Kraken have twenty four seven support, it was extremely fast to go and sign up. On the institutional and business solution side, they're very popular there as well. They're providing the best in class accounting. Reconciliation and reporting services for cryptocurrency hedge funds, asset managers, and fund administrators. They've also got a Kraken OTC desk for those high volume block trades. They also offer five fiat currencies and margin and futures trading as well. So to learn more and sign up, go to the Kraken link in the show notes. Look into Unchained Capital, they're doing Bitcoin financial services and with some of the focus now on multi-signature as well, they're offering a two of three keys multi-signature vault product. You can use Trezor or Ledger, it's really simple to go and set up, it can help protect you by keeping your keys distributed as well. Unchained Capital are also offering a Bitcoin collateralized loan product so you can get USD liquidity without selling your bitcoins, and this might also be more tax efficient as well. As well, because you're not triggering a capital gains tax event. So while that loan's outstanding, they store it in what's called collaborative custody. So Unchained holds one of the keys, you still hold a second key, and Unchained has an independent third party key agent who would hold the third key in that scenario. So to learn more and sign up, go to the Unchained Capital link in the show notes. Alright, so carrying on with the hardware wallet interview series with one of the Bitcoin crowd favorites, Rodolfo Novak, the CEO and co- Co-founder of Coinkite. So Rodolfo previously appeared on SLP sixty two. Coinkite makes some really great products, obviously the Coldcard, the OpenDime, and some other products. In this interview, we talk about some of the basic features of the Coldcard, ways to use the Coldcard, PSBT, airgapping, backups, and also walletsrecovery dot org. So here's the interview. Rodolfo, welcome back to the show. Hey, thanks for having me back. Look, man, I love what you're doing with the Cold- Coldcard, and obviously I had to get you back on as part of the hardware wallet interview series. So it might be good to just start with a little bit of, maybe a bit of background on why did you make the Coldcard? I think the listeners would love to hear a bit on that.

So, we launched, OpenDime for the fun of, you know, people being able to transact off-chain and all that stuff. And then, when we closed the Open, Coinkite dot com, I, I sort of wanted a, a, a And I was not very happy with the options that were available, so, you know, I etched my own scratch. That's,

that's such a common thing as well. We see that in development, we see that, I mean, even for me, that's why I started this podcast. So, yeah, it's cool. and so in your mind, what was the Coldcard achieving that you weren't so happy with about other hardware wallet products?

So there was sort of like two main options, right? One had like full- Sort of like open source with no secure element or anything, so essentially like no physical security whatsoever. and the other one was, Decent physical security, but fully closed source, and, you know, neither of those sort of worked for me. so, we, we sort of like started sort of playing around with some ideas, and we came up with this idea of having a, a general purpose, MCU, right? And, also a very dumb secure element. so we could do all the Bitcoin stuff open source, but also have a place to store the seed, with more security.

Yep. So just for the listeners, MCU, microcontroller unit, right? Yeah. Yes, a general-purpose

one.

Awesome. And so as I understand, part of the difficulty with secure elements is typically they cost a lot to make, and the manufacturers of these secure elements aren't happy to open-source them because they don't wanna give off their-- from their point of view of even if-- even though we may disagree, the intellectual property part of it is what they-- that's the hold-up for them.

It, it is kinda tricky right, because- I mean, in actual technically, like there really isn't no secure-- there isn't no open source chips really, right? So even the open source wallets don't have open source chips, right? What you have is, open source code running on top of them Right? and but because you're not using any, any closed source crypto accelerators, of that chip, sort of like everything is open, right? And, and you know, listen, you ask different people, we're gonna disagree on some of the semantics of the classification and stuff, and it's pretty fair. A-and there really is no final word on this. but, but then, for example, when you get a secure element, right? It, it's got all the protections and everything you need it. it's not necessarily like super more expensive, to be honest. not at this level of stuff we're making. but, It does have like closed source parts to it that are crypto accelerators or, or like essentially like, i- imagine like hardware calculators in there that do some stuff for you, right? but you don't have to use them. Right? So that's the cool part. I mean, and you can also use some of them for things that are just, so for example, securing the seed, right? But not necessarily to calculate the seed, right? We don't want as, as Flaxman went full paranoid tin foil. I mean, I had a great conversation with him in Dallas. we, we pretty much agree on everything, aside from complexity, but we'll get onto it after. So ideally, you do everything with open source code, right? So if you, if you're using a cold Everything is open source, so you can go and buy the parts yourself on DigiKey, right? And simply load all the stuff into it, like compile the code yourself and load into it, right? It's gonna be quite a bit of work, but that sort of proves, right, that we are using this thing in an open source manner, right? And we're not using any of the closed source features, right, to do any Bitcoin crypto. so, so I hope that sort of like clear things out in terms of what is open and what is closed source. And then, so when you're using like a secure element to do everything, like, like, one of the, one of the wallets does, it does increase security, right? Physical security, because you have all the code inside the secure element, right? But that means the vendor is gonna definitely tie you up to that, because you're gonna use a lot of vendor-specific things that you can't open source. maybe there are a chip or two out there that maybe you could, I don't know, that's not what I'm looking for, right? But I know in Because of certain, in, in how they developed it, right? But, you know, but on the plus side, they do get to have some certifications and things like that. that's not how I prefer my wallet. I, the, I, we did it for me. Yeah, right. So, you know, so, so essentially that's sort of like the, like the des-- the design decisions that we made were, were sort of based around that. and then we have this, this mentality inside, Coinkite where we know that there isn't no sort of like foolproof, a hundred percent solution, right? Like everything could be broken in some way or another at some point, right? However, we do believe that it's our job to get it, to make it very expensive to the hackers, right? Or to the physical attackers. So our model is to do really defense in depth, right? So we do our secure bags, we have the, the, the serial number on the bag, the secure-- the serial number is also in the secure element of the device. and then we have a factory, a, a factory, certificate in the secure element as well. And then, because we use a secure element, right? We can authenticate the hardware with the hardware. So you'd- You don't have to connect our device to the internet to, to, to initialize it, right? Because once you do that, even if the wallet maker isn't nefarious, y-y-you never know who's listening in your network, right? So now somebody knows your, your micro, serial number, and forever it kind of knows your micro serial number, so it's very easy to find your wallet again, So, i-in that matter, we sort of believe in this sort of like privacy by default, right? Of completely air-gapped by default and increasing the cost of attacks. And so, you know, you get your cold card, you take the bag out, you check the bag serial number on it, it's, the case is clear. So you inspect the case, you make sure there's not weird stuff there. We provide pictures on the website. and then, okay, great, so you turn it on, you turn it on with a battery. You, you, you could use the USB like a normal hardware wallet, like the other ones, right? But, highly don't recommend ever connecting your hardware wallet that's for hold-up to anything. if you're gonna use it as your warm wallet, sure, connect it to Electrum directly, and, you know, it's much easier. But we, we, we made it extra easy for you to do it completely offline. So you take the wallet, you plug into a battery pack it's gonna initialize, it's gonna do the process with you, it's gonna ask you the bag number, you confirm that, and then it's gonna ask you, for the first part of the PIN we do have an anti-fishing system there, so it's gonna show you two words, those two words only you and the device know, and then it's gonna ask you to put a second part of the PIN. And then it's gonna ask you to confirm all that stuff, right? So what's cool about the AntiPhish system is that if somebody replaced your hardware, right? Say like, an evil maid replaced your hardware, and you could have one that's essentially by radio sending information to another room where they have the real one and ready to for-- to sort of like log in as they see you logging in, right? So if you don't recognize the words, they can't swap that, right? and if, and if they could, in a very, very advanced attack costing thousand dollars, you know, it's like, it, it becomes like completely different level of attack vector, right?

And I think a key point you're making there is around the cost to attack versus the cost of defense. And I, I g- I presume then what you're getting at there is that concept of you want to make it cheaper to defend than the cost of, cost for your attacker. And in doing so, you've got that asymmetry that you're trying to drive and take advantage of that to help keep the user safe.

Yeah, so the asymmetry My point of view on that is like, can we create, barriers that, that make the attacker have, like, not be able to attack a specific one? So, sorry, we're, we're, we're trying to force the attacker to spend all his efforts attacking a specific victim, right? Not attack the whole. So it's gonna be very expensive to attack the whole. A-and then by default, very expensive to attack each vi-victim, right? So we're trying to inverse the attack asymmetry cost. so yeah, so, so then, you know, you initialize the device, you have it there, you can do it in your bunker with your tin foil hat and tent. Flaxman can stand guard outside your Faraday tent, and I'm sure he'll be happy to do it. he'll even wear Faraday underwear. And then, and then, and then comes to seed time, right? So you can, you can create your seed, so you don't have to trust us and disagree with him completely, right? You, you can't really trust-- you don't wanna trust the vendor to generate the seed with the vendor randomness for you, right? So we have this dice feature, so you can throw dice, and we can provably show to you that we are using your entropy. A-and if you go like, if you wanna go full paranoia, I think it's like ninety-nine times you have- I have to throw the dice or like or that I can't remember now. It's the end of the day here.

yeah, that's a great process. I've seen, Mato Del has demonstrated that in, in the Tales from the Crypt video, so I'll put a link for that in the description as well, listeners. So make sure you check that out 'cause Mato Del basically talks you through how to initialize it with a micro SD card, using the dice roll, updating the firmware, all that.

So we already have the seed and you have never connected to this device

Cool, because the USB stack is a disaster, right? It's a huge attack vector. and if not just that, there's also the power, because you could try to measure the power and get things from there. so- So then, you get to, y-y-you're at the seed level now. You can actually create an encrypted backup of the seed into a micro SD card, right? So from this whole process, you have a seed encrypted that never touched anything to be encrypted. Aside from the device that you trusted to generate and store it to, to begin with. And then you can go and put that in the bank, you write down the, the, the encryption key. And then, what we do is we use PSBT, right, the partially signed Bitcoin transactions, for you to, to shut-- to, to shuttle, transactions between your card, your cold card, and your computer, say running Electrum or, or it could be sort of a semi-cold computer if you're on node or whatever you want, w-w- We believe in the wallets, not knowing which harder wallet you use, because, you know, that increases the, the factor one more time, right? It makes it harder. So that's sort of like where we're at now.

Yeah, I really like that, you've been quite forward with the PSBT adoption because once you sort of hit that tipping point of enough hardware wallet manufacturers supporting PSBT, then everyone else will start going, "Okay, we need to support this PSBT thing now, we need to do it."

and then we, we do a bunch of like, sort of like little clever things, you know, we check the address for change, w-- you know, you can check the address on the device, and, you know, we tell you when you can't trust the derivation path. There's a lot of like neat little tiny things that we add around, we sprinkle around the system so that it, it makes a bit harder for the attacker. and that's on the, oh, and the version Mac two second batch, which is selling now, also has epoxy over the secure element, so some of the possible attacks sort of like makes it harder and more expensive as well.

Yeah, and, I noticed with the Coldcard, it's, it's one of the only ones that I know that has a transparent casing as well. So when the user buys it, they can sort of see the inside of it and compare it to the picture on the website, and that gives you a little bit more Although not perfect, but some level of comfort that there's not been tampering, let's say. So

this is part of our, our supply chain, right? So our supply chain, is fairly well controlled. we also manufacture everything in Canada, so the device is made here. the factory can inspect it. We can have secondary inspection also done on the devices to make sure the factory wasn't nefarious. And because we have a secure element there, we can also check that the secure element is what it claims to be. To be, right? and only really with secure elements you can do that. With a general purpose MCU, you can't. so, so it, it's, there is quite a few steps there for somebody to attack you. it doesn't make it impossible, but, it, it does make it hard.

Yeah, that's great. And let's talk a little bit about the backup process as well. So As I understand, there's an encrypted backup process, and Matt O'Dell goes through this in his video. Can you talk to us a little bit about what that looks like and how a user would recover using that backup?

So, you know, a big beef that I had, with all the wallets was like, I want to create an encrypted backup, but I don't wanna use a computer to encrypt. My, my data, because computers are owned. So, it, it just drove me insane, right? Like I, I just couldn't do it, I'd have to like hammer the computer after. So, I'm like, you know, the hardware wallet should encrypt the backup for me, because I already trust it with the seed anyways. So, so what we do is you just go into the menu and say backup into a micro SD card. it, it does proper strong encryption of that seed and then gives you twelve words, and those twelve words are your, encryption key for the seeds. we, we do plan on adding Shamir as well at some point, it's, it's in our to do list. so then you would be able to split into multiple SD cards

Yep. So just breaking that down again for the listeners. So typically when you set up your wallet, you got your 24 words, and this is known as like the bit 39, you know, basically this is like how you generate, you, you, this is your seed that is used to generate your master private key and all that. And this encrypted backup is referring to The twelve words, which is the way to encrypt that twenty-four words, if you will. And so this might be used, for example, if you want to give it to your family, if you were to go, this is how they can help recover the seed, correct?

Yep. so, so, so the seed is completely air gapped, the device is completely air gapped. if you want, you can do, you can use the USB, like I said, with, you know, with, QR or with Electrum, whatever you want. And then, sorry, so then the backup is also, offline, of course, you should write it down in clear text as well. always have multiple backups. we, we also sell, industrial grade micro SD cards that sort of have a, a higher degree of durability. It's great for backups. and, we also, and then there's a bunch of features, so like we scramble the screen so it's hard to do side channel attacks, And, I guess, w-we don't make a computer or app wallet on purpose. we don't believe that hardware wallets should have apps, it's the same for OpenDime. you know, we want, sort of like open source, like wallets to be sort of like a community based thing, because that's how you get the most eyes on it. and, yeah, a-and I guess so, now we're working on the third version of it, which should be-- I don't have a date yet, but, it'll be out at some point, we will announce it now. But, so the third version, we are upgrading the secure element to the next sort of level of it, so we can close some loops there. we're also, upgrading for more memory on the MCU so that you can do confidential Transactions, you can do, hopefully, Tor, private keys and, and, and sort of like a little protocol there as well. and, what else? We're gonna add some more side channel protections. Sort of like, you know, we, we believe in iterating, right? And, and the, you know, the more harder people buy from us, the more we're gonna develop. It's as simple as that.

Yeah, that's fantastic. I think Coldcard really enjoys a lot of community support amongst the What I'm gonna call the hardcore Bitcoiners. So I think typically a lot of Bitcoiners, like longer time Bitcoiners, will recommend to their friends, they'll say, "If you're a newbie, get a Trezor kind of thing, but then if you're more, if you're more into it, once you're into this and you understand a little bit more about how to use them, then go for the Coldcard." But I suppose that's something I think might be interesting to talk about with you as well, because from your perspective, how do you think about whether the Coldcard should

It, you know, like, i-it doesn't look like it, but it, it's fairly easy to use. If somebody just walk you through or you watch one of those videos, I mean, it's really not harder than any of the other hardware wallets. If, if we're all using Electrum, it's all the same, really. So, y-y-you know, I think the main difference is that we don't support any shitcoins,

right? hah Our secure device, as opposed to, sort of like just doing for profit more, 'cause you know, we get emails from shitcoins sort of offering all kinds of money for us to integrate their stuff, but you know, normally the polite answer, "Fine, one million dollars."

Everyone's got a price. Exactly. It's okay, fine, we'll make you a version, one million dollars. Deposit in advance, here's the Bitcoin address.

Yeah, so look, that's great. I think it's a thing where it might be difficult for a newbie to get around the idea that there's no default wallet and they've just gotta know, "Oh, okay, I'll just use Wasabi wallet." I can even-- Let's say you're a newbie and you don't even wanna do air gapping, you can just direct plug.

Yep, you can use Wasabi, you can use Coldcard, you can use Electrum. soon you're gonna be able to use, Samurai. You can use like a lot

Working on it as well. I mean, eventually everybody's gonna be PSBT, like, I, I mean, that's just, you know, we don't wanna put the pain on the, on the wallet makers to, to sort of understand our protocol or anything. We have a Python script to deal with USB stack, and then you have, you know, then if you're just using PSBT, then you don't need anything really.

Yeah, and that's great. I think that's really the, hopefully the approach that everyone goes down and it just becomes-- I think it, it looks to so that's great.

I guess one thing that I'd like to bring up is, sort of like the options for pins and things. So we support, two, two pins, so you can have-- so three pins really, so you can have one pin for your main wallet, and that's the pin that you sign the firmware with. And then you can have a secondary PIN, and both of them will have two wallets each, the decoy and the normal. And then we have my favorite, which is the "brick me" PIN, right? So, you know, I grew up in Brazil, I kinda have a little bit of experience on how these bad guys, sort of come to you physically, and I can tell you that you don't wanna mess with the idea of having decoys if a lot of bad people, they'll just keep on beating you. So you know what? Like, it's kind of like The device is toasted, they, they don't really have access to the seed, so, you know, now buddy, you choose what you wanna do with me. You can't really get anything out of me.

Yeah, I see. Yeah, yeah. And because then, so presumably at that point, if the attackers got, got, got you and they're gun to the head, and you would then give them a PIN, which is really your bricked me PIN, they would punch it in on the device, and then the device gets bricked, and now they've got to decide if they're Where you've got your backup, and so long as your backup is somewhere geographically, it's somewhere else, and they're gonna have to bring you there. Yeah, I mean,

there's nothing they can do, you

know? Yeah.

You're not gonna want a homicide to the charges, right? So You'll probably get punched in the face before they leave.

Yeah, that's a, it's a tough one because I guess everyone's trying to think about ways to obviously make themselves secure, but also keep it backed up and available for their family or for their heirs or for their friends or whoever, as a way to, you know, keep it backed up, one, and then two, estate planning reasons. I guess

that's where really I, I sort of bring up the fact that, so most people in my- Years of experience in Bitcoin screw themselves out of their own bitcoins more than they get attacked, hacked or anything else, right? So, I, I, I think like one of the most important features is privacy. Right? So if you share your xPub with any service, doesn't matter how good they are or how, you know, anon they are, they know your coins. So if they know your coins, you know, that's one more attack vector now, right? Because if nobody knows anything, then they don't know what to get. so it's super important to have privacy on your coins. second one is to sort of like segregate coins, right? So you have your cold one, your super cold one, you have your warm stuff, you have your hot stuff. They'll have different necessities of security, a-and, and, and the amounts are gonna depend on your comfort level and sort of like how you are in your life. and I guess the, the, the third thing is simplicity, right? A-and this is why one of the reasons why I'm, I'm very sort of like down on multi-sig for now, at least for the average person, is because, you know Multi-sig is, is, is quite amazing, really, but the scripts aren't necessarily Bitcoin, right? Bitcoin doesn't care what the script is, it cares for a valid signature on your, on your transaction, right? So you're essentially adopting standards and sort of like vendor-specific things for multi-sig, right? There are some more sort of more adopted multi-sig scripts, right? But You gotta be really careful with multisig because just having your seed isn't enough, you have to know the redeem script, in case the vendor goes away. a-and also, You know, the vendor may not be able to run away with your coins, but you are doxing your coins. So, depending on your level of need, right? Say you're a billionaire who's already everything's already doxed anyways, and, you know, well, so be it, right? I mean, maybe in your life, Bitcoin isn't that priority, right? maybe your whole life savings are in Bitcoin. Well, now you must care about this kind of stuff, right? so I, I think different solutions for different people are important, sort of like to To, to do. And even though a very smart person comes on a podcast and, or, or sort of like goes and writes a beautiful article of like, "What is the most paranoid, most amazing security can do?" Right? Maybe that's not true for you, because their setup is based on the fact they understand this thing completely upside down, right? you may not. So you might wanna keep things more simple as you start to learn a-and as you get better. So that- That you don't screw yourself out of your own coins.

That's a very fair point, as, because you're right, it is that whole idea of complexity is the enemy of security, but then also it can be, that complexity might be the enemy of your own, your own security if you can't redeem, if you can't access the coins. Now, hopefully over time it becomes simpler, and I think the approach that I think I've seen you advocate in the past is become very comfortable with the single signature setup and doing that correctly. First, and then once you become more technical proficient, that's when you would start to look at, okay, how do I do multi-sig? Exactly.

And, you know, like you can still use passphrases, right? Passphrases do increase the, the level of security substantially. they do avoid most of the physical attacks. i-it's essentially a second part of the, of the secret, right? It's not necessarily multi-sig, but it does act in a, in a similar way. another thing, for example, y-you know, like, I-I heard people talking about using QR codes, right? QR codes aren't usable for, for transactions because a PSBT file w-would be like, say, two, three megabytes at some point, right? If some more complex, especially with multisig, so you can't use QR codes, you're gonna need like a hundred, more, more than that, for you to transact out or in of a wallet. they're great for address sharing, but not necessarily for there is really no simple answers, a-and, and I think education is the only solution. I, I don't think we're ever gonna abstract Bitcoin away enough because, of, of this central idea that things have to be open to the user so that the user doesn't have to trust anything. So you have to choose, you either trust things or you make them easy. You can't have both, you really can't. 'Cause see, if you're making it easy, you're abstracting things away more, right? So that means there's more layers of trust. We can do a lot to make it better.

A quick word for sponsor Manning Publications. Manning are an independent publisher of computer books and video seminars for software developers. You might recall they are the publisher of Grokking Bitcoin by Kyle Ransombaum, which is a fantastic resource for any Bitcoiner looking to deepen their knowledge. I know a lot of my listeners are software developers, so you will also love some of their titles such as Real World Cryptography, Math for Programmers. They've also got books on Python, Rust, C++, C#, Go, and many more. Go to Manning dot com and use my promo code LIVERA for forty percent off all their products, whether it's books or videos, to deepen your knowledge of Bitcoin, cryptography, and software development, and if you haven't already, get grokking Bitcoin at forty percent off. Back to the interview. Yeah, and it's difficult because, again, most people who-- Not everyone has the time to become an expert on Bitcoin and learn how to do redeem scripts and craft their own transactions and so on. So people, I guess, are looking- Looking for something that can be done with a reasonable amount of time and, you know, reasonable amount of knowledge, but not having to go to this crazy level.

I guess I, I'm, I'm trying not to like lie to users. It's like there is a certain reality of incurring the, the benefits and the risks of being your own bank, right? I mean, if you decide to hold your life savings in gold in your house or in cash in your house, you're gonna have major security concerns considerations too. Right, i-i- and you're gonna have to understand how to keep the doors, y-y-you know, extra secure, how to make sure that you don't have windows that aren't break through, how, you know, how do you have lights everywhere? Do you have a security system? Do you have guns in the house for the countries that you're allowed to have? Y-y-y-you know, like You're gonna have to really understand physical security very well, and you can't skip that step, right? I, I think the same applies to Bitcoin. You're gonna have to understand all the considerations you have to have to be your own bank in Bitcoin. but it doesn't matter, but it doesn't matter, like you have to learn, because y-y-you know, you can't let your coins be in custody of others, because they could take it, not your keys, not your coins, right?

Yeah, right. No, that's hundred percent right. so on this topic of multi-signature, let's talk a little bit about how it's done, with the Coldcard. Can you talk to us about that process?

Yeah, so it works exactly like the other wallets, right? You, you just have Use a wallet on the computer or on the phone that supports PSBT and multisig, then it's, it's fairly easy. one cool thing with Coldcard though is you can actually create a multisig, quorum and script without ever touching a computer. So you stick the-- you, you can do it through the computer, like any other wallet, through the USB, on Electrum, whatever, but that's not fun. So, what you do with Coldcard is you put a micro SD card in it. And then you go into the multisig menu and you say create multisig, and it's gonna ask how many, how many signers and a-and how many you need to sign for, right? And then i-it's gonna write the micro SD, and then you take that one and you put in the other coldcard, and you're gonna say join multisig, and then the other join multisig. I think it's up to twelve. And then you can just get that and load it into, say, Electrum. we create a, a, a skeleton file for you to just load into Electrum, and boom, it works. and then you-- when you have a transaction, you can take it out, put it in sign, put in the other one sign, all without touching the internet. So, for example, you can leave, say, a cold card in a safe deposit box. You can't trust the bank, right? But, if you ha-- if it's just one

One there that stays in that box, you just take a battery with you, you plug it in, those places don't really have cell signal, so you plug it in and then you sign the transaction and you just leave with a micro SD card with partially signed transaction.

Yeah, fantastic. So let's talk through the, a good setup then, if you, if the user wanted to do that. So typically they might need a Electrum personal server or like Electrum X or Electrum Resserver on their laptop or their computer. And they would connect up the Electrum client on their computer to their, you know, Electrum X, Electrum Resserver, whatever you're using for your server, and that, and then you would have, say, a two of three coldcard setup, and you could set it up like that, ferrying the SD from card to card to card, and you would set it up set up. Right,

so you could have one that's USB connected and the other one that's not, the, the bank one, right? so you can mix and match things. But yeah, so ideally you run your own node, 'cause self-validation is important. and then you have your, say, Electrum server connected to it, or you can have your Bitcoin connect, or connect directly to Bitcoin Core. right now there is no UI for that, so it's hard for the average person. But,

but then, you know, You, right? The node, Electrum server, and Electrum client, and, and your coldcard. So everything is vertically integrated offline. Yeah,

it's a very clever setup. let's talk about, so that's, I guess, the air gap way of doing it and using the coldcard directly to create the multi-signature. And then another way that's, I suppose, easier for people to do using a GUI is the Electrum way. Now, I understand there is a pull request pending, So hopefully once that is in, then it'll be quite easy to do Electrum multisig with Coldcard. Can you talk to that?

Yeah, so, so yeah, so the pull request is there, i-i- it essentially implements PSBT, and, and, and I think once that one is merged, we're also implementing PSBT for, general purpose Electrum as well, so for like the whole Electrum too, not just our plugin. you can actually use our fork, from Electrum right now, the one that's in PR if you want to use it. but then what's cool is that then you can do, say, you know, you can use other hardware vendors, as part of the multisig as well. Actually, you already can use, actually you don't even need that. If you're using USB, you, you, you can just connect, say other vendors and us in the same sort of, multisig. I think we just can't be the initiator right now, it has to be one of the other ones who is the first one.

Oh, I see. So you actually can use Coldcard. So let's say you put in a Trezor and you make that the first key, and then you put in a Coldcard, and then

you My own version of Electrum.

Right. Yeah, yeah. I think, I think, oh yeah, 'cause as, as I, as far as I understood, there was, it was still pending on that pull request. Oh, and by the way, just that

pull request is for PSBT. Got it. That, that request is to be able to do all the stuff with PSBT, not as a partly signer.

I see, yeah, yeah, got it. Let's talk about Backups and recoveries then. So let's say the user has set up a multisig with, you know, maybe they did two of three cold cards or three of five cold cards even, and let's say one of those has been lost. Now, at that point, you would need to-- or maybe you suspect it's been tampered with, and you need to make a new device and rotate into that. I show

you right on the board where you should shoot it. If you think it's been-- if you think it's been compromised, just destroy it. If you have a backup, of course. Just, just destroy it. You know, the cost of this thing is too low for you to, you know, be worth any sort of danger. So just buy a new one from us, and then you just load that seed, or you can load that seed, i-in a different hardware wallet too, right? Because a-as long as we're using the same derivation, the same everything, it's all good. a-and then, you just load that seed back into the device, and, you know, there you have it. You're good to go.

backup. You just put that back in into the device, it will let you unencrypt into the device and import it.

yeah. Doesn't touch anything. Yeah, that's very easy. Yeah. So that is if you, like, so that is even in the case of a multi-sig as well, right? Like, this was part of a multi-sig. The backup is the backup of the

device.

Yeah. Because ultimately it's a backup of the seed words, right? And then that is what's used based on the derivation path to kind

of figure out. Yeah, Sort of like get back into your cold card with the settings and everything.

right, I see. Yeah, that's, that's pretty clever, I like that. Let's talk about this project you're working on right now, which is walletsrecovery dot org.

Yeah, dot com. So, Oh, sorry. I think I have the dot org as well. Did I? No, it's dot org, you're right.

It's

dot org, yeah. So So the, the thing is, I, I mean, I get a lot of PMs from people saying, "Hey, you know, this wallet that I used to use on my phone disappeared, it's not available anymore, or I have this wallet, it doesn't work for me. I have the seeds, so I'm safe, right?" And then I go like, "Yeah, so, do you know the derivation path for that wallet? You, you know, because even though they may use one of the BIPs, so BIP 44, BIP 39, BIP 89, there's a bunch, they might use the BIP, they might-- they probably have, a lot of them will have their own sort of-- Implementation, right? Because it's one standard to, to dominate them all until you make a new one, right? So, so I kinda got tired of, of googling for it, and I started making a list of, which wallet, it, like the wallet, which derivation path they use or the options, and sort of like redeem scripts they use or whatever weirdness they do, to, to create addresses, right? Because, see, you might be able to- To sign with your, with your private key or seed, but you need to know what to sign, right? So that wallet would have generated multiple addresses and for you to deposit Bitcoin on, but you need to find those addresses in a massive space. In a, in an address space, right? which is huge because there's also sub accounts, right? And then there is the change accounts, it gets tricky. a-and then there is also, again, those weird scripts, especially if it's multi-sig, right? You're gonna, you might have vendor-specific stuff. So a-and I noticed that I'd go to these wallet websites, and, and it's like, okay, great, but where is the information about your derivation path or your redeem script or something? And a lot of them don't have it. So I decided to sort of make a list and, the name is, Janine, also working on this. Janine from Coldcard, yeah. So I showed this to somebody, to, to Shino, and, and he told me that Janine was also working on something similar. And she's a much better writer than I am. And, so, so we merged a, a lot of her stuff into my stuff and, sort of put this together in the last couple days. A-and I sort of like made it public today, and I hope that people add more wallets there. we're trying to back up, recovery scripts, recovery information, and so if, if not, so when, not if, wallets go away,

You, you know, you still have access to it. Think about like email clients from the nineties, right? You gotta be hard pressed to find one left. So imagine if the email client is gone and none of the information that you needed for some specific way they did things is not available, right? So you can't redeem your stuff.

Right. Yeah. And so for listeners who aren't familiar with some of what Rodolfo was just discussing, make sure you listen to my earlier episode with Andrew Chow, number ninety-nine, where we talk a little bit about derivation paths, and then we also talk This newer idea that Bitcoin Core is going towards, which is output descriptors, which is a ni- a, a nice way to succinctly put, some of these paths in such a way that an external person could help you recover using your seed.

Yep. No, it's, it's pretty cool stuff. But, I, you know, with everything sort of like core pre-BIP, I, I rather sort of like not, like, I don't assume it will exist. I hope it will, and I, I think it probably will. But I, I'd rather not sort of touch on any of that 'cause this stuff is already sort of like confusing enough for people.

Yeah.

So I, I'd rather sort of work with what's available, for, for this kind of stuff. It, it, you know, that's sort of like the reason why OpenDime still the using one addresses. So, the idea behind OpenDime is pure simplicity, right? So no app, no nft, no seed. There's just an actual raw pub, private key in there that you get, To do it. so, so the idea behind that one is sort of like, you know, we have like, sort of like, you know, a nuclear holocaust, a cockroach finds an open dime, you know, the cockroach goes like orange going good, and he redeemed that, you know, into version one, version one of Bitcoin Core, and it's gonna work.

Yeah. let's try and disambiguate or just, clarify some of that down a little bit. So, you've got your twenty-four words, and that is your- So that is essentially your seed, that represents this massive, massive, massive number. And then from that, you are able to generate, I think, using the software, it creates your master, master private key, which is like an xpriv. And then from that xpriv, you need the derivation path to know where are the coins stored, on which, no, no,

it's even worse than that, 'cause you can create multiple xprives from your main xpriv. So technically, you can create multiple, private keys from your main private key, and then from those private keys, you can create multiple Xpub keys, and then from those, you can create multiple addresses, and then multiple addresses, multiple accounts and all that stuff. So this thing is like an endless tree. It's, it's like, it's like completely hopeless to sort of go through this stuff without knowing.

Yeah, and I suppose it's, it would be difficult for somebody to just try and figure it out on their own because they just wouldn't have a way to know how to, I guess, traverse that pathway without having these. That's right.

You want a map of the stars there?

Yeah. Excellent. It's also about how can these things, what's the pathway for these things to become more standardized? Because for, person who has, let's say someone passed away and then you need to be able to access those coins, like how, you know, what's the pathway?

I, I really don't think sort of like standards are great, right? But- You know, most vendors will always sort of, you know, like try to do something interesting that nobody else agrees with them, and then they're gonna sort of like change the spec a little bit, right? And that's always the, the trap you fall into. So I, I think it's much better to of course have standards, right? So we're, we, we still try to steer the ship, right? But it's very important, a-and, and this is the best thing you can do is keep a backup, not just of your seed, when your seed little bag or whatever you keep it, make sure you also put in there a printout of, y-y-you know, like which wallet you're using, which password for that wallet, 'cause sometimes you don't have to even reconstitute the, the seed, you just forgot the password, right? So go to Here and take the password and it's still good. you know, so put the PIN, put, put like all the information about the wallet, go look for the recovery information of that wallet, print it, put it in your seed. Because if you are armed with all that information, your loved ones are too, right? So they, they can, they can after you get hit by the bus, they can go and, and find all the stuff there and sort of be able to do it. that's one of the best step forward.

Fantastic. let's talk about, also one thing that might be useful to talk about is just You can directly plug it in with, say, Wasabi, and one, or, or not even directly plug, plug it, but, use the SD card to ferry the xPub over to Wasabi using the, skeleton, and you don't actually have to do coin joins, right? You can literally just use that as a wallet, right? So if you're new, I believe that's correct,

yeah. So many, many wallets will support, an xPub, right? Same way BTC, BTC Pay also works like that. There is some consideration, some Security considerations with that, right? Because, you know, now you're trusting that, that software is, deriv-deriving the right stuff from the xPub, but aside from that, I mean, you're pretty good.

yeah, you know, it's a perfectly reasonable solution. I, I can, so like, if you are segregating funds, right? The, the, the concerns change to a much better place, right? Say you have a shopping cart in your store with BTC Pay. You know, you could have like, you know, like a, even a computer Electrum or a computer Electrum with like a hardware wallet that's via USB. A-and then you give that xPub to BTC Pay And then every time it gets to a certain amount of funds into it, you move it to your warm wallet or to your cold wallet, then you have a more tight, complex security that you can't really access that easy yourself. So, you know, you can keep on sort of hopping the coins that way. And I guess another thing to mention that may be worth it is, so one real cool thing about Electrum is that you can do coin selection, right? So you can annotate, so y-y-you know, you have your addresses in one window, but then you have coins, and in your coins, your UTXOs. Your Bitcoin inputs, which are actually where the, the coins are, right? you can actually annotate those, and then you could select just the right ones to send to a certain address, and that way you can keep things segregated in a much better way, right? You have a lot more privacy that way. You make sure you don't mix your VPN paying with something else. You gain a lot with that.

Right, and I think that's actually one good example with Wasabi, because, users have to label each UTXO, so it forces you to learn a little bit about coin selection. So that's a good example there. in terms of, interaction with Samurai Wallet, is there much there in terms of how to, you know, if you wanted to use Coldcard with that?

Yeah, so they, they are, they're still, so it already works with, with Sentinel. So they're, they're app for you to, to watch, it's a watch only wallet, right? So the, but they're still working on PSBT for, their actual wallet, for you to spend.

yeah, so, so there is that. and, and I know with

OpenDime, I think you can, I think there was a connection there with OpenDime and the Samurai wallet products. So you can verify

and sweep a OpenDime on a, Samurai wallet.

Right. And that's a good example for- Private transactions as well. So if you wanted to do it in a more private way where you're buying and selling Bitcoin, you can use an OpenDime for that purpose, and that's one of those things where you don't have to sit there waiting for confirmations. You could literally just, you know, you would plug in your OpenDime, verify, okay, yes, there is point, you know, or there is, you know, five million sats on this OpenDime. Okay, here's the cash, and off you go.

That's right. And off you go, right Bitcoin conversation on a local Bitcoin sale, right? Like, you see, like, there's many people you wanna talk to about Bitcoin, but never the person who's buying Bitcoin from you, that's a stranger. You wanna be as fast and as smooth as possible. So the open time is pretty quick thing, right? Like, you just double-check that the thing is good and you move on. You don't have to wait 'cause it's already confirmed.

Yeah, I guess that's, that's one difficulty, that in-person traders might face. Yeah. And so hopefully with the- OpenDime, that's an example there where they could do that in a more private way and, and that transaction never touches the blockchain as well, so that's also pretty cool.

Exactly. It's a lot of privacy, right? Because that OpenDime could move through, you know, a hundred, thousand people, a-and there is no trace between each other digitally.

Yeah, and that also kind of helps, mess up some of the chain analysis kind of, heuristics, because then you really don't know where, who owns that UTXO.

By the way, Those don't work that well, anyways, right? So there is a lot of fluff in, in those. They're a great product to sell to law enforcement, but that doesn't mean they get it right.

Yeah.

no, I agree with you. Coinjoin actually works fairly well, and the more people that use it, the better it is. we are working on features, for- Coldcard to support coin joining so that you could keep a cold card hot, right? Because that's the thing, for coin join you essentially need a device hot. So we're working, on a possible separate firmware, for you to be able to do two things, hot. So one thing would be CoinJoin, so that you can have, you can, you can essentially stake the, the join markets, for example. and because you make money being, a bank, on, on join markets, so you, you'd be able to do that with a cold card, so that's a lot more secure than keeping your keys on a computer that's live on the internet. and the other one is We want to be able to allow people to do roll your own, co-sign service, right? So essentially, you'd have a cold card with a separate firmware, maybe even separate, slightly hardware, so that people don't get the stuff mixed. And, and that cold card would take a policy file, right? So you say, I don't know, Tuesdays, one Bitcoin or whatever, right? So you, you set a policy, right? a-and then- And this device would be connected to a wallet, sorry, to-- so the idea is, you, you would hopefully, still working on it, but hopefully you'd have a Tor private key on it, there'll be some glue on a computer And you, you would provide you essentially with a Bitcoin, with a, an onion address, right? A-and you leave this device running someplace somewhere. And then, and this device is gonna be part of multisig of another cold card or another wallet. So what you do is you go to this onion address and you put, you upload your, your PSBT file, right? A-and then it's gonna tell you, sorry it's not Tuesday, or it is Tuesday, transaction signed. And it's gonna spill out for you a, a partially signed or a full transaction signed for you to broadcast somewhere else. what's cool about that is that, you know, one, it's Tor, so that address, that, that earning address is very, very hard to find. it's very simple, so there isn't a lot for you to try to hack in there. the device is essentially like offline. Well, through USB, so it's not air gapped, but, you know, 'cause USB isn't air gapped. You know, air gap is like literally there is air around.

Hahaha. a-and then, a-and then you'd be able to so, co-sign your stuff or co-sign with other co-signing services, with your own, because again, for me, the biggest problem is privacy, right? So I wanna be able to use a co-sign service, but I don't wanna, like, do that with anybody. I wanna do that with myself. Kind of like how BTC Pay, you know, removed, you know, the necessity of paying somebody to do your, your store services, right? So you could have hardware that's just running on the internet for people who are, you know, a little bit more capable, in terms of knowledge to sort of do their own cold signing, remotely.

Fantastic, that's really, interesting idea. Definitely, keen to see how that works. so look, were, is there anything else you wanted to touch on with Coldcard or? anything else you wanted to mention in terms of what's coming up, in terms of Coldcard and other CoinKite products?

Yeah, so we, we have, we're working on a prototype for another open-dime like device that might be able to do other things that are interesting, but that's still sort of like not there yet. we are, we're, we're actively working on the next version of Coldcard and the version after that. so we're trying to iterate, right? and, and with hardware, the more complexity in a change, the more like issues you could have with manufacturing, with parts, whatever. So we're trying to iterate, y-y-you know, incrementally. so the plan is to keep on launching new hardware, like every six months to a year kind of thing.

And, until we find sort of like a comfortable place where we're like, okay, you know what, stays here. Kind of like the open time. Now we're on version four. You, you know, it's, it's a good device, it's working well. We're gonna sort of keep it like that for a little while. there's a ton of software rewriting, firmware, right, for cold card. So, Shamir, this cold sign service I was telling you about, we're making, an address explorer. for Coldcard, so that you can actually transverse your addresses, i-if you know what you're doing, on, inside a Coldcard itself, so you can verify addresses transversing through your derivation. very clever. What else? Shamir. I mean, the list is big and plentiful. But, you know, people who used to use, Coldcard back, Coinkite back in the day know that if there's one thing we keep on doing is adding stuff to it. We believe in developing things to the most expert user, and then sort of like make it easy enough so that normal people can use it. But we don't wanna develop to the lowest common denominator Miner, we wanna develop to the highest. So, so that's the plan, in there, that I can think of. we made the, the lightning vending machine. Hopefully we put that in a few conferences.

Yeah, I saw that. That's really cool. Yeah. You can buy a cold card and it's like a vending machine, you can pay lightning and then it pops out a cold card, right? Yeah, yeah,

yeah, it's immediate. Yeah, I, I mean, because we were looking at making a firmware version of cold card for lightning, Again, you're gonna have to be hot, right, for that, because Lightning, you need to be hot. So the way we normally learn things is by building something for it. So we're like, okay, great, we wanna play Lightning, so we built a vending machine for it. And, what else? I mean, you know, the, the shop is full of stuff. we're gonna keep on playing with things, and, if you like our stuff, buy it, 'cause that's the only validation we care about. if it sells, we make it. If it doesn't, we kill it.

Well, no, that's the profit and loss test, so, that's great. Look, let's, just for the listeners, where can they find you? And if they wanna get a cold

We're working on creating a, an affiliate, program, essentially what we call the Shio Army stuff. So, you know, because we, we wanna make sure that, you know, people who contribute content and education can sort of like find some kind of, even if it's like small, like some pay for what they do. so this isn't gonna be for everybody, at least not for the beginning, but, Essentially, we, we created one for you. I can't remember what's the discount now, but it's gonna be essentially promo code Livera, n as yours have, for as long as you keep on making Bitcoin content. And, You go to coinkite dot com, we have a list of our products there, and then you can go to OpenDime, Coldcard, and, and Blocklock. we have Twitter accounts for all that stuff. We have a very big community of Coldcard, I call them aficionados now, it's not users anymore, on Telegram, and I believe it's just Telegram Coldcard. join because, you know what, there's a lot of information there and a lot of very, very smart people who can help. what else? you can find me on Twitter at, n v k. And, yeah, I, I mean, I can't really, I'm terrible with this stuff, I really don't have good memory, so I can't-

No, that's fine, I'll, I'll put those in the show notes as well. So I'll put a link to the Telegram, your Twitter, obviously, and to Coinkite website. but, yeah, look, that's, that's been great. I really enjoyed that, and, thank you for joining me, Rodolfo.

Yeah, it was a kind of like a brain

So what did you guys think of that? I really enjoyed chatting with Rodolfo, and I think he has a lot of well considered insights to share around Bitcoin hardware wallet security. I really like the Coldcard as well. I think it is, in my view, one of the best balance of things like open source software, open source, etcetera, while still having a lot of advanced features as well. So make sure you go to coinkite.com and use my promo code Livera. Rodolfo told me there's a five percent off code. For my listeners there. Just a reminder, the show notes and you can subscribe on my website, stephanlivera dot com, and if you've got any friends who are on the fence about what hardware wallet to use or they're just not sure about best practices, make sure you share this episode with them. That's it from me. Thanks, guys, and I will see you in the citadels.