What Bitcoin Did

View Original

Brian Lockhart on Running a Bitcoin Full Node

See this content in the original post

Where to find the show

iTunes | Google | Spotify | Stitcher | SoundCloud | YouTube | Deezer | TuneIn | RSS Feed

Your browser doesn't support HTML5 audio

Brian Lockhart on Running a Bitcoin Full Node - WBD142 Peter McCormack

Download Episode MP3 File
The file will open in a new window. Click down arrow to download the file.


Location: Skype
Date: Monday, 26th August
Project: Casa
Role: Product Manager

Full nodes are fundamental to the security of the Bitcoin network by maintaining decentralisation and validating transactions and blocks by enforcing consensus rules.

While running a full node is an act of supporting the Bitcoin network, it also ensures that you are not trusting any third party. If a transaction breaks consensus rules, then your node will reject it, irrespective of what others nodes do. Further, running a full node offers increased privacy and safety. 

So why do so few Bitcoiners run a full node? 

Many either do not understand the benefits of running a full node and/or find it intimidating. While there are many useful online guides, most rely on at least some technical ability and not everyone has the inclination, hardware requirements or technical knowledge. 

The difficulties mean many, understandably, opt to use a hardware wallet, lite wallet and even trust exchanges or custodial wallets to secure their Bitcoin.

It is hard to put a number on the number of nodes in operation, but certainly, the total amount is a long way off Luke Dashjr's target of 85% adoption.

How can more users be encouraged to run a full node?

Casa is one company trying to help by solving some of the friction points around education, design and user experience. Casa offers an out of the box, plug-and-play Bitcoin and Lightning node.

In this interview, I sit down with Brian Lockhart from Casa to talk about Bitcoin full nodes. We discuss why it is vital to the individual and for the Bitcoin community, and how Casa is working to make it easier for people to run a full node.


TIMESTAMPS

00:06:55: Introductions
00:09:29: Peter’s experience of “nodegate” and the confusion there is around setting up a Bitcoin node
00:11:44: Delving into what actually is a Bitcoin node
00:14:37: How many nodes are there in the network and how many do we need to secure the system
00:17:40: Discussing whether we need to educate more Bitcoin users to running more nodes
00:21:24: Touching on third parties in Bitcoin and whether they should be treated with caution
00:23:13: Exploring how we can encourage new users to operate Bitcoin nodes
00:30:10: Discussing the various options when choosing which method to operate a Bitcoin node
00:35:32: Delving further into the Casa node, including its implementation of Lightning and LND
00:42:20: Exploring how to verify UTXOs and the level of detail you can go into when operating a node
00:45:16: Touching on the advantages and disadvantages to using Electrum as your Bitcoin node
00:47:44: Discussing some of the difficulties of introducing Bitcoin and Bitcoin nodes to the masses
00:52:54: Exploring potential ways in the future you could operate Bitcoin in your day to day life
00:56:51: Discussing the advantages of cash in societies and how digital societies can be discriminatory
01:00:52: Touching on how to find out more information on Casa nodes and why they should run one
01:02:30: Delving into Brian’s role at Casa
01:04:30: How to stay in touch with Brian and discussing upcoming projects for Casa, including Sats Tag
01:05:46: Final comments


See this content in the original post

SUPPORT THE SHOW

If you enjoy The What Bitcoin Did Podcast you can help support the show my doing the following:

If you are interested in sponsoring the show, you can read more about that here or please feel free to drop me an email to discuss options.


SPONSORS


SHOW NOTES


THANKS

A big thanks to my WBD Maximalist Patrons for helping support the show: JP Petit, Logan Shultz, Seb Walhain, Steve Foster, Tony, Gordon Gould, David Burlington, Jesse Powell, Bitcoin Tina, BitHyve and Wiel Menger.


TRANSCRIPTION

Peter McCormack: Hello Brian, how are you?

Brian Lockhart: Hi Peter, thanks for having me.

Peter McCormack: Thanks for coming on and congratulations on the new role!

Brian Lockhart: Thank you! Yeah, I'm very excited to join the team at Casa.

Peter McCormack: It's a pretty amazing team that Jeremy's building there.

Brian Lockhart: Yeah, I was very impressed with them. I initially met up with Jeremy as a potential customer. I was looking for a more user friendly, custody solution for my own assets and I ended up being so impressed with them I joined the company!

Peter McCormack: Yeah, Jeremy's always impressed me. I think I've done two podcasts with him now. The other thing about him, he always makes me think, he's always challenging me and making me think kind of far out things. But Casa are one of the companies I've always liked and always appreciated, because I'm a stickler for UX and design and they just crush it the whole time.

Brian Lockhart: Yeah, I don't think anyone would debate this, but Bitcoin's definitely got ways to go for usability and I liked that Casa is really trying to make Bitcoin easier to use for everyone and not just to transact with it, but to hold it, to custody it and then to transfer it, like in an inheritance planning situation. There's all kinds of things that I'm, as a customer and as an employee, worried about from Bitcoin's perspective. I've got to make this better for everyone, before we can take up mass adoption.

Peter McCormack: We've not actually met in person, have we?

Brian Lockhart: We met in San Francisco at the 2019 conference briefly. I think it was at the Fidelty party?

Peter McCormack: Oh yes, you're right, but it was very short.

Brian Lockhart: Yeah, it was such a blur of a night! That was fun and it was first time we met in person.

Peter McCormack: Yeah, but you and I, we've been kind of following each other on Twitter for quite a long time?

Brian Lockhart: Yeah, it was kind of cool seeing you come into the scene! I listen to podcasts for when I go for walks or when I'm just doing stuff around the house and I always try to maintain a mix of more deeply technical or deeply business focused podcasts and then I like to maintain a couple of go-to's for podcasts I could recommend to less nerdy people. You're definitely in that camp, but I don't mean that as anything but a compliment!

You do a really good job of breaking down more complex topics into digestible formats and you also ask questions that I know other people have, but you're able to articulate the question in a really relatable way, such that the answer comes back in adjustable format. So I think that's a really good service that you offer for folks.

Peter McCormack: It's quite funny that you bring that up as well, because I know that myself, I know why I'm doing it, I know my approach, but there's a lot of people who get really triggered by it. They're like, "oh, you're a moron. You don't understand that. Why?" I'm like, "look, I know the answers to some of these questions, but I'm asking them because I want the answer articulated for a listener" and I think some people are missing that.

I've called it "nodegate", but this whole node thing, it's brought up a number of things. One, the fact that I want to talk to you about this and actually, I'm quite interested in it. I've reached out to you... Didn't I reach out to you initially about doing a conversation before this even kicked off?

Brian Lockhart: We talked about something, I can't remember what we were going to do it for?

Peter McCormack: I think I reached out to you and said "congrats on the job. Perhaps you'd want to come on?" Basically, I wanted to get the first interview with you now you've joined Casa! Then obviously this node thing has happened and yeah, here we are! So it kind of makes it all good timing. So listen, let's talk about nodes. What I'm going to do is I'm going to approach this in the simplest way possible. Now I'm just going to preface this by saying that, I put this in my tweet the other day, if I wanted to set up a Casa node, I know it's easy to do, I know it's plug in and play.

I know that if I want to set up a Bitcoin Core full node, I can figure it out and I can probably figure out the Raspberry Pi, like I'm not a complete moron, I know how to engineer shows, when I didn't know how to engineer shows before and I manage my website. I know how to go onto Google and do a search and figure this out, but my view on this is that I kind of wanted to make it a little bit more transparent with the learning process. Back when I was a UX designer, the way you did it, is everything has to be out loud thinking. So as you're going through a process, you just discuss the things you're thinking as you're thinking about it, so you can identify friction points.

So that's why I've done it and it's become almost a meme and people have been really insulted the fact that I have a podcast and I haven't set up a node, but here we are! The way I'm going approach this, is in the most basic way possible, because I think there are a lot of people who don't realize they should have a node, why they should have a node. I think some people don't really even know what it is. They will be intimidated by it or they will have the inertia about setting up. There's so much to unpack here.

So I think we'll start very fresh. I'm going to approach this with you, like I've just discovered Bitcoin, right? Just imagine you're my buddy, you've told me about Bitcoin and I finally said, "do you know what, I've done it Brian. I've been on Kraken, I bought my first Bitcoin, here we go. But Brian, I've heard about these nodes. What the hell is a node? What is it? What is a node, tell me about it."

Brian Lockhart: Perfect! So I think a lot of users that have come into Bitcoin are in this exact same situation, where they have gotten Bitcoin not through the old way, which I'll cover later I guess, but nowadays you could just go to Coinbase or what have you or Kraken and just buy it. Then it's, "oh what, why should you do this?" Then you hear somebody talking about what a node is. A node is basically just a piece of software that connects to the Bitcoin network and is an active participant on it.

It downloads a complete copy of all transactions and all blocks and it checks that they adhere to the Bitcoin consensus rules. This allows you to use your node to interact with the Bitcoin network in a trustless fashion, because you know that your node is enforcing the rules of Bitcoin as you want to use them. If you are not running with a Bitcoin full node, like if you're just using a light mobile wallet on your phone for example, you are trusting somebody else's node to handle transactions, to verify the blocks, to verify that you are using the consensus rules of Bitcoin.

So if enough folks out there are not using Bitcoin full nodes, the security and economic strength of the network suffers, because you need to have enough folks out there distributed that are enforcing these rules and refusing to accept transactions and blocks that do not obey consensus rules. Just for simple example, like the consensus rules could be as simple as the 21 million hard cap. 

That's a really standard agreed upon rule that we have in Bitcoin, that we know there're won't be more than 21 million, but what if a hostile act or it could be a miner, tries to mine a block that doesn't obey those rules and says, "oh no, I'm going to go beyond that" or "I'm going to mine things according to my rules." A block could be propagated out there and a full node will not accept that block, it will reject it. Whereas a lightweight node might just blindly take it.

In order to maintain a healthy network, we need to have enough folks out there that are running a full Bitcoin node and so that's basically it. It's a piece of software. It has a wallet built into it that allows you to receive and send Bitcoin from a copy of the entire ledger, the Bitcoin Blockchain, with all transactions in your copy of the memory pool right there on your system.

Peter McCormack: Okay, but there's two things there, because you're talking about almost like a duty to support the network by running a node. But there's also the secondary benefit of you being what Trace Mayer would call, a first class Bitcoin citizen. So lets unwrap them both. Let's talk about the duty to the network. Do we know how many nodes there are right now?

Brian Lockhart: We don't know. There's not a really good way to estimate it, because while you can pull the network for the number of nodes that are in listening mode, you cannot tell how many nodes out there have not opened up a port and we can talk about that a little bit later if you want. But by default, a lot of users just will download the software and run it and the software will reach out to up to eight connections and take down blocks. But it's not visible to others on the network, unless you've opened up your port to allow inbound connections.

So when you see numbers being quoted for number of nodes available in the network, it doesn't include the ones that are just in listening mode. So it's pretty hard. A couple of folks have tried. Luke Dashjr has a script that tries to scrape them, but the number that gets tossed around is usually between 10,000 and 15,000 I think is the maximum I've ever seen. But that doesn't include listening only nodes. So it's hard to get a firm number.

Peter McCormack: But Luke talks about his belief that 85% of people using Bitcoin, need to be running a full node in terms of protecting the security of the network. I haven't seen anyone else talk about this. Do you have a view on that?

Brian Lockhart: I think it's fallen out of the mindset of folks. I think there's a reason for the disconnect between early adopters of Bitcoin that believe more staunchly in running a full node, versus those who don't. Just because, when Bitcoin first came out, full nodes did everything. That was the only way to get, send or receive Bitcoin, you downloaded the full package of software, it would start syncing down the blocks.

You had your wallet there, mining was done on your node, Bitcoin nodes back then mined, so you had all these incentives to keep a full node running. You could be rewarded in Bitcoin if you mined and contributed to find a block. About 2011, that started to break off when GPU mining came into the fray and then nodes became separate from miners rapidly after that and now we have ASICs mining. But you still want to have X percentage of users on the network that are running a full node and respecting the consensus rules.

I'm not exactly sure where the math comes in that gets to Luke's 85%. I'm sure he's done some good thinking about it, but there is a tipping point where if you have not enough nodes propagating and accepting valid transactions and blocks, then a hostile group of miners could propagate enough blocks that just get blindly accepted by light nodes and then all of a sudden the network's split.

Peter McCormack: Okay, so already though, a bunch of the language we've covered in here is going to go over certain people's heads. Also, whilst there is this duty to the network, one that I've obviously disregarded myself and disregarded my own duty as someone who is pretty deeply involved in Bitcoin. One of the things you said earlier as well is that if you aren't running a full node, you are trusting somebody else's node. I trust Ledger or Trezor by using one of their hardware wallets.

So I trust them and people are saying, "you shouldn't be doing that. You should be running your own full node", but I can't see any reason not to trust Trezor or Ledger and I've never heard of an example of where they have done anything as a bad actor. So are we in a situation here where we've got so many people coming into Bitcoin now, it's not just like this hardcore early group of people who've discovered Bitcoin.

There's millions of people around the world hearing about Bitcoin, some are buying and holding on exchanges, some are just getting it on a hardware wallet, is this the new reality, in that it is okay to trust a wallet, but whilst it's okay to trust a wallet, we should be encouraging people? Or do you think there needs to be more of a grass root hardcore campaign to encourage people to run a node?

Brian Lockhart: I think it's just a basic mind shift and self sovereignty and taking responsibility for your own data and your own communications including money versus what we've, in the West especially gotten so used to, is trusting third parties. I'm sure you've heard that quote, "trusted third parties are security holes" and even though we have not seen an example of someone like a Trezor betraying trust, the world's full of examples of trusted third parties betraying the trust of their users, banks especially.

Bitcoin offers a way for you to not give away more trust than you have to and so I think the ethos comes from, "well why would I voluntarily give away trust if I don't have to, with this software that I've got right here readily available and not that hard to set up, if that allows me to run trustless, why wouldn't I do that? So I think you tiered it a little bit. You had priority one being altruistic and helping the network and priority two being, looking out for yourself.

I would flip that, I think your priority one, for one to run a node, is so you are confirming your own wealth and that your own Bitcoin are safe. I like to tell folks sometimes that you can talk all you want about the node count, but the only node that matters is yours and that's the node that you're running and confirming your own inbound money on. If enough people think that way, it maintains that healthy tension of trustlessness and it's okay to have companies out there and give them the benefit of the doubt.

It's definitely convenient being able to point to somebody else who's already set up a node and has the Block Explorer and has it all running and all that. But we shouldn't completely abandon the ideals of Bitcoin which are being able to do it all yourself. Whether not it's easy to do is a variable, because the ease of use can get better over time. I personally worry that enough folks have got leered in by the convenience of all these other services, so that to them, it's not important enough to take on the extra steps of running their own nodes.

I worked in computer security for a large part of my life and I like to tell folks that convenience is a heck of a drug, like passwords. Complex passwords, those are really inconvenient! You can't remember them, You have to use a password manager or some other mechanism. It'd be so much easier if you just didn't use passwords, But then there's the obvious downsides of that.

Peter McCormack: Well Casa are obviously doing an amazing job in encouraging people to set up a node and I think they've done it in a number of ways, which is quite clever. Firstly, they've created something that's beautiful, it just looks good. It looks cool. I've got mine now set up downstairs, it's processing blocks. The UX is amazing and the company has a really nice product... Well actually multiple products now which sit alongside it.

But going back to your point in that trusted third parties are security holes, could you apply that also to Casa? I don't mean that to be inflammatory, I really do love Casa and the whole team. But if I buy a Casa node and you're pre-loading the blocks, is that also a trusted third party? Is that also then a security hole?

Brian Lockhart: Yeah, this is a good example of trying to strike a balance between convenience and absolute trustlessness. So yes, you are trusting Casa when you buy a Casa node, when it comes preloaded with the Blockchain. You're trusting that we haven't slipped you fake blocks or a bad Blockchain or a bad consensus version of Bitcoin core.

You do have however the option of resetting the thing and starting the whole Bitcoin download yourself from scratch. The reason we preloaded it, is the Raspberry Pi 3 hardware it runs off of, is pretty slow and so it would take a long time and might theoretically never catch up if you just started from zero. It just takes so long that it would be a bad user experience.

So for a good user experience, we preload it onto the hard drive and by the time it gets to you and you plug it in, it's behind by days, maybe weeks, however long it is since we set it up for you, but you can catch up relatively quickly. So we decided to strike a balance of convenience of preloading it, but always give the user the option to say, "no, I don't trust you Casa and I want to start over from zero". You have that option in the dashboard.

Peter McCormack: I've got mine catching up with the blocks now, obviously because I left mine up here on the shelf for little bit too long to get around to it. I've approached this and one of the reasons I put off setting up a node, is for a couple of reasons. One was lazy. I was just lazy and I've had other things on. It's like, "oh I'll do that tomorrow" or "I'll do it in the next day" blah blah blah. So I'd never got round to it and that is something I think I can be criticized for. I was also a little bit intimidated, but intimidated, it was almost like a fear without actually... It wasn't even a rational fear.

I was intimidated because of a bunch of collective information that's come to me. Obviously people say that you can plug in a node and it just works, but I'm already in the comfortable position where my Trezor or my Ledger just works for me. I've never had a problem. Okay, I'm trusting a third party, but it has worked for me. But I've had little bits of information coming into me, with regards to my node and that if I was to set up a node, it was one person specifically referring to verifying my UTXOs and I was like, "oh God, that sounds a little bit technical and a little bit out of my depth".

So I just kind of put it off! How do you think we approach this? Because one of the things I think is almost moronic is that, as I've tried to be a bit transparent about this, it's certainly triggered some people to get kind of upset about this. We've had people say things such as... You know directly critical to me, but also saying, "if you want to be self-sovereign, if you are interested in Bitcoin, then you have to learn all this stuff!" But I don't see a way of converting 85% of people. I think to get 10% of people running a node would be incredible. How do you think we break this down to improve things?

Brian Lockhart: So I think firstly there's this dynamic between... This is common across a lot of things, you get folks that have been in a space for a long time and they're experts at it, they're really deep in it. Then a rookie wanders in and asks questions. Rather than like, "Oh hey, it looks like you're interested in trying this out. Maybe I'll give you a really easy path, with not too much confusion to help you on the way", they bombard them with options.

It'd be like if you're a guitar player, you know how to play this stuff, that and the other and I asked you, "hey that looks kind of fun, I'd like to try it" and you immediately start bombarding me with what strings I have to get, what exact manufacturer, this amp not that amp, just bombarding me and all of a sudden I've got an analysis paralysis and I just wanted to learn how to play the guitar. So I don't know if you played or if you still do play video games when you were a kid or maybe even now, but I watched this firsthand when I was at Microsoft and I was one of the early members of the Xbox team.

So what we were doing was trying to set out to make up a premium gaming experience that was more accessible to folks and in the early days of gaming, the first consoles, think about what they were really used for. They were really simplistic games, obviously for little kids, but if you wanted to play like a more hardcore game with high end graphics and online network gaming, you needed to have a pretty healthy PC, a gaming PC, like a rig that you needed to build up yourself and you needed to know how to configure it all and you needed to learn how to configure your video card drivers, sometimes multiple video cards. You need to have your audio card in there.

You needed to know how to do all this stuff to have a premium gaming experience that you just couldn't get on consoles. Then all of a sudden you get these next generation consoles, like the PlayStation 2 and then the Xbox that we came out with also, where we really tried to make it accessible for folks to have a high fidelity, HD gaming experience that just plugged into your TV. You just get this plastic box, you plug it into your TV, hookup a controller and bam! You're playing a beautiful game having a blast. When that started to happen, you see this almost elitist backlash like, "oh, you're not a real gamer if you're playing console games.

You can't possibly appreciate gaming if you haven't gone through all this!" I was in the gaming industry and you would catch a little bit of hell for it all. I couldn't understand it, like why are you so pissed off about bringing in normies? We're expanding the game space, we're expanding the market, we're expanding the viability of being a game developer if there's a higher number of people that can buy your game!

It took a while to get that point and I see a similar attitude happening in Bitcoin now, where we have folks that have come up only knowing how to do it fully manually with the command line interface and to them, maybe they're a little, I don't know, scoffing of those who won't take the time to learn like they did. I get that to a certain extent, but at the same time I also know that there's no way Bitcoin is going to take off if they had to also have all these prerequisite knowledge basis to be successful. I'm never going to get my friends to sit down and fire up a terminal and run command line options to get their Bitcoin!

So I think that we have to meet those folks halfway and as long as we don't sacrifice on the fundamentals, that's okay for everyone. I do see the danger in some approaches that some folks are taking, where they'll have like a wallet that is custodial and I'm assuming at this point users will know the difference between custodial and non-custodial. A custodial wallet can by very nature be very fast. So the user experience is great, but it's only fast because it's taking, what I would call, shortcuts.

It's not doing a full validation of the transaction. It's relying on another service or someone else's node basically and in some cases, depending on the project, they don't even require a confirmation. So those are taking shortcuts in the name of usability, that I don't think are acceptable. So I'm really glad that there's companies out there like Casa, that are still adhering to the "run your full node", trustless ethos, but are also trying to make it still as easy as possible to use. We just came out with a phone app called Sats App and that lets you interact with your Casa node.

You can still send sats using the Lightning network and it's all being done on your phone. So it's pretty, it's slick and all that, but it's making all the calls back to your node running at home. So all the actual activities taking place on a Bitcoin full node, it's just abstracted away from the user a little bit. Another wallet that's really doing a good job with that is Zap. I love what Jack's doing with that.

So that's the "right way" to do it and I think as long as there are folks like Jack and Casa, who are keeping that attitude, we'll be okay. What I worry about is too many wallet implementations, like lightweight wallets that don't rely on a full node. If those become successful, it weakens the economic security and strength of the Bitcoin network and just leaves us more vulnerable.

Peter McCormack: So Jack will hate me for saying this and he'll punch me when I next see him, but my experience so far with Lightning, I've got custodial and non-custodial. My custodial experience with my BlueWallet is brilliant. Also to the point where I'm like, "well, I don't mind keeping $100 in my custodial wallet because if I lose it, it's only a $100 and the experience makes it worthwhile." Whilst nothing's happened yet, I understand the point also that we need... This is in the ethos of Bitcoin, we need to be non-custodial.

Okay, so let's go back to the nodes. Let's talk about this a bit more detail. So you've convinced me, "okay Brian, I hear you. I need to run a node. This is great." There's a few options I've got, I can run a Bitcoin core node and download the full Blockchain, I can set up a Casa one, there's Nodl, there's Raspberry Pi and obviously as you're aware, I've looked at them all. So I've had a play with the Raspberry Pi, I'm almost going to give up with that already. It's just too much effort. All the instructions were unhelpful. The gear turned up today, and then I was missing bits I didn't realize that I needed.

I love it and I think it's great for anyone who's a little techie and they want to sit there and fiddle with things. I don't! I don't want to do that. So I'm binning that one off. So I'm going to do my Bitcoin core node on my external drive from my Mac. I'm going to set up my Casa node. I'm going to set up my Nodl. What are the reasons for choosing, I'm going to put Casa and Nodl together. What are the reasons for choosing those over a Bitcoin core node and at the same time, are there any reasons to choose a Bitcoin core node over a Casa and Nodl?

Brian Lockhart: Right off the bat, Bitcoin core is the implementation of the software and that is running on all of the options you just mentioned. So when you have a Casa node or Nodl, I want say everyone, but all these folks you see out there with their Raspberry Pi's, they're downloading and running Bitcoin core, it's just a question of how fast it will run, depending on what option they choose and how usable it is. As you've seen, the tinkers and those that are a little more tech savvy, can be successful pretty quickly with a Raspberry Pi or a similar micro PC unit like that. 

But if you're not already a little bit comfortable or experienced in mucking about with that stuff, it can be a frustrating experience. Even if you get it all right, it's just not going to be as fast as even, I would say, a medium grade laptop. They're not trying to compete with full hardware. I was very pious trying to come up with the, do as much as you can with a very small piece of compute and they do a pretty good job with that.

But then backing up too, the Bitcoin core developers want to make it as easy as possible to run Bitcoin core. If the requirements to run Bitcoin core are so high that only wealthy individuals with high NPCs can run it, then we run the risk of centralization. If you take that to the logical extreme, you have like a core node that is so weighty that it requires like a server and a data center to run, then you've gone straight back to full centralization.

You can laugh and point fingers at a Ethereum or BitcoinSV as examples of that, where if you have implementations or block sizes that are so huge that you couldn't possibly write it on a consumer grade piece of hardware, that's a problem and it just drives towards centralization.

Peter McCormack: Well that's interesting you should say that, because it's quite cool that in 10.5 years now of Bitcoin, that the entire Blockchain is still under 250 gigabytes!

Brian Lockhart: Yeah, it's going keep growing of course, because as people make more transactions, it's going to keep growing. But along the way, the developers have made it less painful to run a node on okay-grade hardware. It's faster to sync a node now than it ever was when I got started and it's getting faster with every release typically. It's getting harder and harder to eke out performance gains, because there's only so much they can do, but it's definitely gotten faster. So I think the crux of your question is like, what do you get for running it on a PC versus running it on a Casa node or etc?

When you run it on a limited piece of hardware, you probably are going to have to give up things like speed or a full index. If you give up a full index for example, you can't really point a Block Explorer against it, which is another cool way to use your node. This is one of those things where it's like, once you have a node, well what do I do with it? The core use case of node ownership is to receive payments, send payments etc, to do that self-sovereign way to use Bitcoin.

But as you begin running and using your node and you start asking, what else can I do with it? Well, you might want to run a Block Explorer on it and for that you need a full index. You might want to run a Lightning node on top of it, that will require more resources as well. So a lot of folks might not realize that to run Bitcoin Lightning, it runs in concert with a Bitcoin node. You need both to be able to use Lightning.

Peter McCormack: Okay. I guess one of the reasons is, everybody wants a Casa node. Whenever I run a competition, I get so many applications! Everyone wants one because it's cool, it's interesting and it's got a beautiful interface. I would guess an advantage on a Bitcoin node, if you download the software from and run it on your laptop is that you've got no cost of entry there.

Brian Lockhart: True, you've got the sunk cost of the hardware itself. All those things aside, it's free and it's very simple to download it and run it. As long as you've got a fast enough network connection, that's mostly always on and you've got enough space on your laptop or your desktop, it's pretty trivial to run Bitcoin core. There are other implementations I'm less experienced with, I just have got more time playing with Bitcoin core.

Peter McCormack: But also if you do choose to get, say a Casa node, you get a Lightning node as well?

Brian Lockhart: Correct, so the Casa node comes preconfigured with both Bitcoin core and LND, which is one of several Lightning network protocols implementations. The other most popular one being C-Lightning, but LND is the Lightning Network Daemon written by Lightning Labs. They're the main contributor behind LND and that runs on top of Bitcoin core. So the Casa node, we like to think of it as the easiest one-stop plug and play solution for folks that want to both set up a node and start using Lightning almost immediately.

Peter McCormack: So how does a Lightning node differ from a Bitcoin core node? Also what does is it syncing and downloading in a different way? Obviously I get the full Blockchain with Bitcoin core node, what's different with a Lightning node?

Brian Lockhart: So this is a bigger conversation about what is Lightning, but for a Lightning node to function, it has to keep track of when Bitcoin funds move into a channel. So when they come off the main Bitcoin chain and lock into a channel, that's a transaction that's reported and it needs to keep track of these channel states. So to do that, the Lightning Network Daemon is constantly scanning the Bitcoin Blockchain to look for these transactions.

I'm simplifying this greatly, but without those two working together, LND and Bitcoin core, you wouldn't be able to keep track of when funds open a channel or conversely when they close out. When the channels are closed out, that's recorded back to the Blockchain as well. So Lightning network has to keep in sync with the Bitcoin network and to do that, a lot folks prefer to have it running on the same device. That's what Casa is doing.

Peter McCormack: My Casa implementation hasn't fully loaded yet. I've obviously had the screen opened up, it says Bitcoin, it says Lightning, I've got my settings etc. If I was to deposit funds into my Casa Bitcoin wallet and also deposit funds into my Lightning wallet, within the Casa interface, is there an easy way to move funds between wallets?

Brian Lockhart: Yes and the that we expose it is there's a Bitcoin receive and send function, which when you're all synced up, you'll see it. There's basically three panels, one is for Bitcoin, one's for Lightning and one's for settings and connections. The Bitcoin one acts much like you'd see a Bitcoin wallet on your phone. You have a send, a receive, a balance and a list of transactions.

When you open channels in the Lightning side, it's pulling from that Bitcoin balance to open a channel and then you'll see a list of channels and whether you have both inbound or outbound or both capacity for that channel. It'll tell you, "okay, well now that I've got these channels open, my maximum send is this, my maximum receive is that.”

So when it's up and running, you'll see that it's synced the entire Bitcoin Blockchain, it should say 100% and it'll show you what block number it's at. Then the Lightning Daemon is syncing at the same time. So once those are both caught up in and all the way to the end of the tip, then you're up and ready.

Peter McCormack: Okay, so look, let's imagine I'm up and running, I'm going to have both. I'm going to have my Bitcoin full node from Bitcoin core and I'm going to have my Casa node.

Brian Lockhart: Then you'll have two nodes.

Peter McCormack: Yeah, I'll have two nodes, so I'll be contributing to the network. So people have said about, "well, the great thing is you can verify your UTXOs." Now, is this a manual process where I'm actually looking at UTXOs, or is this the fact that because I'm running the node, this is being done automatically for me and there's no chance of there being a mistake?

Brian Lockhart: It's a little bit of both. With both nodes, if the block is accepting the transaction that has been broadcast, and as well as accepting the block that's been mined, then it is validating what's going on the network that you're participating in. If you want to go dig in and look at the transactions themselves, you can do it from the command line, but you'd probably be better off doing it with a Blockchain Explorer.

That could be something that you point to your own node, not with the Casa one currently, we're considering that in future releases. But on your Bitcoin full node running on your laptop, you could definitely install any number of explorers and look at the transaction right there on your PC. You can also do this on the public Blockchain too, there's lots of public facing Blockchains.

You gain privacy by doing it locally on your own node though, because anytime you look at a transaction or an address or a block content on a public explorer, someone can tell that you are looking at that and if someone was trying to really sniff you out, they could map your IP address and see, "okay Peter, you're looking at these three addresses every couple of days. I bet those are his. Oh look, he's got Bitcoin." That sounds awfully paranoid, but that's very possible. People do give up their privacy.

Peter McCormack: Yeah, they do and I think a lot of people are without knowing it. But why do you need to look at the UTXOs and actually physically validate them? If the block's being processed, what good reasons are there to go in and check them?

Brian Lockhart: Well, there's two levels of validation. If you're running your full node and you've created an address and say, "hey, person who owes me Bitcoin, send it." Once you've received it there, that is you validating it. You trust that you're running the current of Bitcoin core, you are seeing that you've got six confirmations now in your wallet on your Bitcoin node, therefore you personally, are confident that it's happened. You don't have to go in deeper than that. If you are by contrast not running your own node and not waiting for confirmations, you're crossing your fingers and hoping that whoever's node is doing the validation.

Peter McCormack: I see. I still think that as Bitcoin grows, a very low percentage of people are actually going to be doing that. Most people are going to be trusting something at some point or another. I accept that and I think a lot of is technical or too much work...

Brian Lockhart: But if they're trusting the node software, that's a hell of a lot better than legacy systems.

Peter McCormack: Yeah and a lot better than trusting something like a hardware wallet. So the next thing I'm thinking about it, so I've got my nodes set up, I have a choice of depositing all my Bitcoin into that node and using that as my primary wallet. But other people talked about, "actually no, what you want to do is connect another wallet to it." A lot of people talk about Electrum. Talk to me about that, why would you use Electrum over the inbuilt wallet?

Brian Lockhart: I think one of the biggest gaps right now in Bitcoin core is easy integration with hardware wallets and multi-sig and Electrum handles those two things very well. There's pros and cons to using Electrum. So backing up, Electrum is an augmented Bitcoin full node. It works with your full node to let you transact with Bitcoin, using a multitude of wallets. You can open a wallet locally, natively in Electrum, you can connect to your Trezor, you could do multisig with multiple Trezors or a Trezor and a Ledger, yada, yada, yada.

It just gives you much more control over what wallets you're using. The downsides of Electrum are by default, you are trusting of pool of Electrum servers that may or may not be run by people you want to trust. So if let's say a state actor or Chainanalysis, like the joke is like, "oh all those public Electrum servers out there, that are pulling information and sharing transaction information, half of those are run by Chainanalysis!"

Peter McCormack: Fuck those guys!

Brian Lockhart: If you're trusting your transactions on Electrum, you're letting Chainanalysis see everything you do and do you want that? You can get around that by running Electrum personal server, which only monitors your wallet transactions that take place in your wallet and they'll call out to their servers. So that's a mitigation for that. I do think that that's a little beyond what your average newbie to Bitcoin is going to want to set up.

I do think that businesses and or folks that are working with significant amounts of Bitcoin, that is their current best approach, is to fire up a Electrum personal server or Electrum server of their own and work with it that way. That said, they are working on enabling hardware wallets really easily in Bitcoin core and so I would expect to see that in a future version of Bitcoin core.

Peter McCormack: Yeah good, because I'm telling you now, this is what I'm kind of getting at. If I'm down the pub with some of my friends, I'm like, "look, come on, you need to get into Bitcoin" and they're like, "okay, Pete, we're going to do it", I was like, "okay, sign up, get yourself a Kraken account or a Coinbase account and buy some Bitcoin. Then get yourself a Ledger and you just transfer it to your hardware wallet and put it away", like that's not hard.

But if I turn around and say, "well, once you've bought your Bitcoin, what you need to do, is you need to set up a Bitcoin full node. You need to connect that to an Electrum personal server and with that, you need a hardware wallet to connect to create your multi-sig." They're gone.

Brian Lockhart: Yeah, you've just lost 98% of the people you might have had on the hook!

Peter McCormack: Exactly, but I'll tell you what. If you turn around to them and say, "yeah, what you need is a Casa node, which is also a wallet and you need this app and you can do it all from the Casa node and your app", you're going to get a lot more people then.

Brian Lockhart: Yeah and so Casa is really trying to make this easier to use with our Keymaster app right now, which allows you to use multisig, storing one key on your phone and other keys could be on hardware wallets, one could be stored with Casa. That's a lot easier than asking folks to own their entire setup and running an Electrum server. I totally get it. When I tried to explain how to securely store significance amounts of Bitcoins of people, I run into these hurdles a lot.

Peter McCormack: Well I guess it's how much you've got as well. If somebody has got $500 of Bitcoin, there's probably little point in them buying a $300 Casa node and setting out to buy two hardware wallets, instead of multisig. I guess though we're at the point where maybe if you had one Bitcoin, that is a worthy investment because that one Bitcoin could be worth a lot more in the future and you're teaching yourself about it now.

I would say this potentially identifies one of the problems, in that I would love to know what some of the average balances are. If you wipe out all the top Bitcoin holders, I would imagine the majority of people own less than $5,000 of Bitcoin. Maybe the majority own less than $1,000 of Bitcoin. So it's going to be very difficult to convince these people that they have a responsibility for the network and also a responsibility for themselves. I think most of them are going to go, "this is just too much effort for my $1000 of Bitcoin."

Brian Lockhart: Yeah, I think it's going to evolve to a point where people think of it in terms of like, "what's my pocket cash versus my checking account versus my savings account?" And the amounts change as you go through those different levels, like maybe you carry $40 or $100 in your wallet, you keep $1,000 in your checking account, you keep $10,000 in your savings account, things like that. Then each of those different levels, you could have appropriate levels of security. You're probably not going to put $50 in deep cold storage that requires you to go to safety deposit boxes to get at it.

You might do that if you're storing millions, for example. So bringing it back to the node though, what I think will happen is, let's assume that Lightning really takes off and so Lightning becomes the pocket change or checking account even amounts of transactions on the network. The Holy grail of the people that say Bitcoin for payments is like buying coffee. You're not going to buy coffee with something on a hardware wallet most likely, you're going to buy coffee with something on an app on your phone, which could just be a quick barcode scan. 

But if that phone app is talking to, in this example, your Casa node back home, you're still validating all those transactions. You're validating what the channel opening and closing transactions were with your own node. So that I think is the best of both worlds, where you still have your node operating back home, maybe with your checking account amount of funds on it, feeding into Lightning channels, which may have your pocket cash amount of funds on it, which you can draw from your phone anywhere on earth.

Then you could take it to the next extreme and go, "okay, well now I've got my pocket and my checking account dollar amounts running around in here, but my longer term storage could be controlled through multisig via Keymaster", which could, let's just say for example, also talk to your node. So you could run that whole spectrum.

Peter McCormack: Do you think one of the problems also here is like, obviously we love Bitcoin, because it's decentralized, but do you think one of the other problems is that because of decentralization, there is an inconsistency of experiences, implementations, terminology, across various wallets and hardware wallets. So it's almost like for the non-technical, the newcomers like, "shit, how do I wrap my head around all this stuff?"

I look at Bitcoin itself and I think it's actually not too bad. It's kind of like, "here's an address, here's a balance, if you want to send some to another address you paste it in here, an hour or two later, the confirmation is going to happen." You add Lightning to that, you've suddenly got this new experience, where you can move balances between Bitcoin and Lightning, but you have to think about channels and also you've got channel capacity. It's almost like it's just too much!

Brian Lockhart: I fully agree and I think that right now Lightning network is, too many concepts. You're asking folks to understand too many concepts before they can make their quick and easy payment. I think that will become abstracted away. I think you'll have wallets that dynamically change modes behind the scenes.

So say you walk into a car dealership, you might be asked like, "hey, put down $1,000 and you can get this car loan and go", well you fire up your Bitcoin app. That app will know, "oh, it's this amount of money and this amount of Bitcoin I need to move." It will just automatically in the background go to a main Bitcoin chain, maybe a multisig, etc. If you then take that same app and walk into a Starbucks and you want to buy your coffee, it's going to say, "oh $5, that's going to take a different path."

It'll run through Lightning, but under the covers. The user won't have to make a decision and figure out like, "am I using Lightning or Bitcoin?" I think we need to get to that point where you just have your Bitcoin app handle that for you under the covers and finds the fastest and or cheapest method of making the transaction.

Peter McCormack: In that app, do you think it will be keeping a certain amount of your Bitcoin in Lightning and a certain amount in the Bitcoin base chain or do you think it will be moving funds around for you automatically? Because again, for example, I've heard about this being abstracted away, but I was like, "well, okay, that's fine. But if it has to open up a Lightning channel, it has to create an on chain transaction, so therefore it has to take some balance away from my Bitcoin." So at some point, surely it needs to then ask me the decision?

Brian Lockhart: You could give it a limit. You could say when you set up like, "what's my spending limit for opening channels automatically without asking for the confirmation." I can think about my credit cards now and I can configure them to alert me if I try to do something over a certain amount or if my balance in my savings dips below X, it'll send me an email. You can do things like that. But I do think that that's where things need to go for usability. Don't make the user have to think about, "well, do I have a Lightning channel? Do I have enough inbound liquidity to receive this payment?"

It should just happen. I think you could have it configurable essentially, "okay I authorize the app to move up to 0.5 Bitcoin around in channels without asking me every step along the way." Right now the Lightning network has a concept called Autopilot in LND, where you can do just that and we expose that. You'll see it in the Casa node when you get into that menu, you can enable Autopilot if you don't have any existing channels and it'll take X amount of Bitcoin, chop it up into Y amount of channels and you determine what those limits are and it'll just go for it for you. I think that's a step in that direction.

Peter McCormack: So I guess we can't get away from the fact that there is going to be always a certain amount of kind of education and learning to become part of this.

Brian Lockhart: Correct.

Peter McCormack: One of the things I do hope is that there is some kind of consistency between the various apps and the experiences, because at the moment it can be quite disjointed and I think that is confusing. Sometimes I'm like, "okay Pete, just forget about it. Just accept the stuff's complicated and accept it." But at the same time I keep thinking and knock myself on the head again going, "a lot of this stuff really is complicated and we are not helping people enough."

Brian Lockhart: No, none of this stuff is easy and especially for folks that are living in developed first world nations. You've got to be honest and say how many problems is Bitcoin solving for you? It's adding problems and it's making harder for you, but what do you get for your trouble? You get permissionless, unconfiscatable money. There's no take backs and that is valuable! It's also sound money and it's got a good economic policy behind it.

Peter McCormack: Yeah, it's sound money. Actually I got into an interesting conversation with somebody yesterday about this, because we were talking about cashless societies and yeah, this is great, but there is a certain amount of people who will be left behind with this. We're going more into the realms of digital money in a cashless society, but there are people who will be left behind. In some ways, a cashless society is discriminatory as well, because people can use cash anywhere.

Brian Lockhart: Oh, it's absolutely discriminatory. If you have folks that are unbanked or just have a hard problem cashing a check for example, they're out of luck. I see that here in Seattle. Seattle's a pretty liberal, left leaning environment and you've got all these tech companies that are trying to make cashless stores. The Amazon store is still there.

You walk in with your phone, your Prime membership, and just boom, you buy everything at Amazon store without even whipping out cash. In fact, it didn't take cash and they complained about that, that it was discriminatory to folks that didn't have a smart phone, didn't have a bank account etc. I'm a big fan of cash for all those reasons and more. It is far more private than anything digital.

Peter McCormack: Yeah, because I was getting into the debate, which was like, "okay, Bitcoin is the hardest form of money, but is it the best?" Is it really? In some ways I understand the argument, I think it's the best if you have and understand all the technology. If you have a node and you understand it, if you have a mobile and you have a wallet and you understand it, but is it the best form of money if you're homeless? No, the best form of money is cash.

I think sometimes we kind of have to try and remember that, like there are a bunch of people who have talked about, "Bitcoin is solving so many problems for the world" and how great hyperbitcoinization is. But actually, I don't think it solves problems for everyone. I think we're forgetting about the real world for many, many people, who struggle day to day.

I've just been out in Vietnam and Cambodia, you've got so many people who are just street vendors and street sellers who are selling banana pancakes and handmade hats. Bitcoin isn't for them. Bitcoin has real no use for them. Right now, they want the dollar.

Brian Lockhart: Yeah, but I would even argue that Bitcoin can be for them as well and there are companies that are making it easier to use Bitcoin on lower power phones, like not a full tilt iPhone, but just text-based. Check out Azteco, I think he's got a shop in London that's up and running right now that's letting you buy Bitcoin that way. So there are folks like that, that are really not forgetting about that part of the population.

Peter McCormack: No, of course. I just think the reality is like, even if you could sit down and explain it to them, these people are going to be like, "hmm, I've just got to survive day to day and I just need my dollars to survive day to day."

Brian Lockhart: I do think that it is going to get better over time though. A lot of people would use the analogy of that it's early days, think about how hard email was back at one point. I can relate to that. I remember I was a computer science student and I had to use a terminal session to send email using Pine and I've just dated myself quite a bit! But then look what happened. Email clients got super easy to use. Think back and CompuServe and AOL probably did more for email than anyone else, because they dumbed it down so that anyone could use email and then people just got used to having that concept in their head.

They abstracted away all these hard concepts of, what is SMTP versus IMAP versus what are the forwarding servers I need to use? How do I find a route for this email? No-one knows how to do that in email because you don't have to and I think in Bitcoin, we're not there yet and I am hopeful that it's going to get better. That's why I was excited to join Casa because there's a whole team of people that are thinking that same thing. Being realistic about it, you have to make the stuff less finicky to use, but you can't compromise on the security and the privacy and the things that make Bitcoin unique. It's a tough nut to crack.

Peter McCormack: Yeah, of course! Okay, so if somebody is listening to this Brian, they're like, "okay, I'm interested. I've heard a bit, I think I need to know more about this", beyond going and buying themselves a Casa node, where would you recommend they go to learn more, to read about this, to kind of get a bit more of an understanding about nodes and why they should run one?

Brian Lockhart: My default go to, is just bitcoin.org. They have some pretty good user-friendly getting started resources. They talk about how it's used, both from a merchant perspective and from an end user perspective. They talk about what wallets you can try, including Bitcoin core, which is one of them. There's phone wallets, there's all kinds of examples there. I still think that's a really good jumping off point.

From there, if they really want to understand more about what a full node is and why it's important to use it, there's a really good website called en.bitcoin.it, I'll send you the link and maybe you can put that in the show notes and that gives not overly technical, but very well written, it's like a Wikipedia for Bitcoin. They have really good write-ups for all manner of things, including full nodes, all things about Bitcoin.

I would send people there. If they go deeper than that, lopp.net, Jameson Lopp, I'll shill for him every day of the week, even before he was a co-worker, I used to shill that site! He has a really good, starting from "explain it like I'm five", all the way down to the deeper stuff. Those are really good places to learn about Bitcoin in general. Then of course, if you do want to get into it, I got to shill Casa and of course companies like Jack Mallers and Zap, I think they're doing really good work to make Lightning and Bitcoin easier to use for everyone.

Peter McCormack: All right man. Well listen, let's finish off with the last couple of questions. Tell me about your role at Casa, what are you doing?

Brian Lockhart: So my official title is just "product manager". I will be focusing on the node and making it easier to use and possibly to extend its usefulness. So kind of like blue sky thinking, once you've got somebody used to idea of like, "hey, I've got my own device in the house. It's letting me use Bitcoin in a secure sovereign way. I'm in control of my money now, that's pretty cool." Well, what else could you do once you get that device in your house?

You could do more Bitcoiny things with it of course. Once it has more power, you could load your own Bitcoin Explorer on it or you could run a Lightning Explorer. You could do a lot more things locally on that box, but think about what other things you might want to get away from trusting other people to do. Maybe it could be a VPN, maybe you could run your email server on that. There's a lot of possibilities that we might want to explore once we get folks thinking about, "hey, this is more than just my Bitcoin and Lightning box in my house. There's more that I can do with it."

Peter McCormack: Do you have Tor built into it?

Brian Lockhart: It does, yeah. So you'll see that when you're in your setup. You can turn that on now and you can run Bitcoin or Lightning or both on Tor. We can do that right now.

Peter McCormack: What about IDs? Have you looked into these decentralized IDs?

Brian Lockhart: We are talking to folks that are working on that with Daniel Buchner at Microsoft. I really love what Daniel's working on there. I used to work at Microsoft, I know a lot of folks in that company and I look forward to working with Daniel.

Peter McCormack: Yeah, Daniel is wild! I mean like he's a full anarchist working within Microsoft.

Brian Lockhart: Yeah, he's definitely a Trojan horse who's way into Microsoft. I love that he and others like him are in there!

Peter McCormack: All right and just tell us also what's coming up for Casa, what we should keep an eye out for and where people find out more about Casa and also where people find out more about you and stay in touch with you.

Brian Lockhart: Sure, so you can find me on Twitter, I'm @brianlockhart. Go to keys.casa and learn more about Casa. We have a Casa node, we have our Keymaster product, which is designed to help folks easily use multisig Bitcoin wallets for securing and storage of perhaps larger amounts of Bitcoin. We also just released something called Sats app and we're using that to help folks use their phones to connect back to your Casa node and send and receive Lightning payments really easily without having to be at a browser.

We're pretty excited about that. We also announced a Sats tag, which is the idea that you don't have to use a Lightning invoice to pay somebody. I could pay you by your Sats tag. You'll have the option of setting up Sats tag and you might be "Peter" and I would just be able to use my Sats App to say, "hey, I want to send "Peter", just by that name, 10,000 Satoshis."

Peter McCormack: Amazing! That whole having to do an invoice thing. I've always found a bit bizarre

Brian Lockhart: Yeah, it's a necessary evil at the moment, but if you can find ways with good UX design to abstract it away and make a little more user friendly, the goal of Sats tags was to make it as easy to send Bitcoin as it is sending a text message.

Peter McCormack: Brilliant! All right, listen Brian, thanks for coming on, I really appreciate this. I'll get the show out tomorrow and I look forward to the feedback.

Brian Lockhart: Yeah, I want to thank you for shining a light on running a Bitcoin node. I think a lot of folks maybe are just a little too freaked out by the number of options and maybe just don't take that first step, but as you know, once you take that first step, it's not that hard.

Peter McCormack: Yeah it's not, especially if you've got a Casa node, it's not hard. I'm going to try out my Nodl, see how that's different and also I'm downloading Bitcoin core. I'll have them all running! The next step is actually having a play with them and I'm sure I'll have a bunch of questions then.

Brian Lockhart: Once your set up, hit me up. My Sats tag is "Brian", so I'll send you some satoshis and get you started with that.

Peter McCormack: You got that nice and early! Is the Sats tag "Peter" still available?

Brian Lockhart: I don't know. I'll see if we can grab it for you. But hey, if you hurry up and download the app and get into beta, you can grab it yourself.

Peter McCormack: Fuck man, I need this thing to sync! Well listen Brian, thanks again man. I really appreciate you coming on.

Brian Lockhart: No problem, thank you!

See this content in the original post