WBD109 Audio Transcription
Luke Dashjr on 300k Blocks and Full Nodes
Interview date: Thursday 23rd May 2019
Note: the following is a transcription of my interview with Luke Dashjr, an independent Bitcoin consultant. I have reviewed the transcription but if you find any mistakes, please feel free to email me. You can listen to the original recording here.
This was a short interview at the Magical Crypto Conference where I managed to grab 30 minutes with Luke. We talk about 300k blocks, why 85% of people need to be running a full node for Bitcoin security, and what happened with SegWit2x and UASF.
Interview Transcription
Luke Dashjr: So what happens if I say, "I don't want to answer", to everything?
Peter McCormack: If you say that to everything, that we don't have... Well we have this moment here! That's all we have. We have the short moment here and I'll say I've got an interview with Luke Dashjr and it's 20 seconds long! Do you know what's funny? So I'm a very late newcomer to Bitcoin, crypto and the whole scene. When I first came aware of you, I assumed you worked for Dash!
Luke Dashjr: Should I go after Dash for trademark or whatever?
Peter McCormack: I think you should! All right, well look, great to get you on. Do you even know when I first reached out to you and asked you to come on the podcast?
Luke Dashjr: I could look it up.
Peter McCormack: It was 10th of March 2018, so it was about 14 months and we've finally done it. So thank you! Thank you for coming on. People want to hear from you! I followed you on Twitter for a while and I know you for basically three things.
Obviously you're a Bitcoin developer and support 300kb blocks. You're very religious and you've got six children and I'm not sure which is... I think it's the six children that more than anything intrigues me, because I've got two, you think it's easier with six?
Luke Dashjr: I didn't say it was easy, but easier than two!
Peter McCormack: How is six easier?
Luke Dashjr: With two children, they are constantly fighting for your attention and they kind of just gave up after three or four children. They also have siblings to play with and once they get older, they can help take care of the younger ones, once in a while.
Peter McCormack: And one of them wants to be a Bitcoin developer?
Luke Dashjr: That's what I hear from his teacher!
Peter McCormack: Well listen. So I've got lots of things I want to talk to you about today! So I've watched your presentation at laBITconf; very good, very helpful. For somebody like me who isn't technical, it was very interesting to hear. One of the most important things that stood out to me and I hadn't heard somebody talk about it like this, was with protocol upgrades, how important the consideration is that this is people's money. So does that weigh on you heavily?
Luke Dashjr: I suppose.
Peter McCormack: In what way?
Luke Dashjr: I mean it doesn't really come up that often, because usually upgrades are not going to affect people's money. If it does, then someone's probably done something wrong designing the upgrade.
Peter McCormack: One of the things that's quite clear and quite important within the presentation that you talked about, that I'd like you to expand on here, is the differences between soft forks and hard forks. Can you explain that in a way someone like me would understand? I know some differences, but what is a hard fork and what is a soft fork and what are the different considerations for both?
Luke Dashjr: A hard fork is essentially really just when someone modifies Bitcoin in such a way that it makes it effectively an alt coin and then is proposing to the community to adapt this alt coin as a replacement for Bitcoin. So the only way and the reason that requires a absolute consensus to succeed, is because if anybody chooses not to adopt this new alt coin, then the original Bitcoin continues to use to exist as Bitcoin and the alt coin just remains and alt coin.
Peter McCormack: Has that ever happened? I mean you talked about it happening once in 2013?
Luke Dashjr: Yeah, in 2013 we had a bit of a crisis with the buggy consensus rule and the solution at the time was to fix the consensus rule. Then since nobody knew about this consensus rule, it was assumed that everybody consented to remove it. So that was scheduled for a month or two later.
Peter McCormack: What are the instances where you think in the future a hard fork may be required? Have you thought about that at all, well you must have of course?
Luke Dashjr: Well if we do end up needing to do a block size increase down the road, that obviously will require a hard fork. There are various cleanups that would require hard fork. Whether it's worth it, I don't know. But I mean if we're doing a hard fork anyway, then it makes sense to put them in.
Peter McCormack: I'm assuming though, you've probably tried to figure out if you could do a block size change without a hard fork. Is it completely impossible?
Luke Dashjr: No, I mean it's possible to increase the block size with an extension block instead, which is in between soft fork and a hard fork, but it's more complicated and really doesn't have any benefits over just doing a hard fork anyway.
Peter McCormack: Okay. But you're not going to really support an increase in the block size anyway, because you want to reduce it?
Luke Dashjr: In the short term.
Peter McCormack: In the short term. So can we talk about that? So it's come up quite a bit. You've talked about a few times that you would like to reduce the block size to 300kb. Why is that?
Luke Dashjr: That's the point where technology has been able to keep up with the Blockchain size.
Peter McCormack: In terms of? Is this important for the syncing of nodes?
Luke Dashjr: Right, the initial sync.
Peter McCormack: The initial sync, because at the moment it takes how long?
Luke Dashjr: It depends on your hardware obviously, so for some people it can take a few hours. For others it can take weeks.
Peter McCormack: But people are coping at the moment with a 1mb block?
Luke Dashjr: Not very well and we're up to 2mb blocks now.
Peter McCormack: Well so that's an interesting thing because people say it's a 1mb block but with SegWit... Explain this to me, as somebody who doesn't understand because I thought heard...
Luke Dashjr: Anybody who says it's a 1mb block is being dishonest at this point. It was increased to 2mb. I mean we could theoretically have up to 4mb, but realistically more like 2mb with SegWit.
Peter McCormack: Isn't that the block weight though, or is that something different?
Luke Dashjr: The block weight is how you measure the block and where the limit is. The limit is 4 megaweight units, but that's separate from the block size, which is just how many bytes are in the block.
Peter McCormack: So why does everyone keeps saying it's still at 1mb?
Luke Dashjr: I don't know anyone, that knows what they're talking about, that says that!
Peter McCormack: I've not heard of it referred to a 2mb block. Maybe I'm an idiot, but I was told it was a 1mb block still and it's a 4mb block weights ?
Luke Dashjr: No.
Peter McCormack: Interesting, okay!
Luke Dashjr: Block weight isn't even measured in bytes!
Peter McCormack: Well so this is what's difficult for somebody like me. I just don't understand these things and I have to speak to somebody like you, to find out about it and understand it. So people are struggling to sync at the moment.
Luke Dashjr: A lot of people just choose not to sync at all and are just using light wallets at this point, which is a serious security threat to the network.
Peter McCormack: So you think light wallets are an attack on Bitcoin, don't you?
Luke Dashjr: Not an intentional attack, but they function as an attack. They compromise Bitcoin's security if too many people are using them.
Peter McCormack: And why is that?
Luke Dashjr: Bitcoin doesn't have a centralized authority to dictate the rules. It relies on the community of people to enforce the rules on their own. Light wallets do not enforce the rules.
Peter McCormack: Okay. So it's more important that people have a full node?
Luke Dashjr: Right, because if nobody enforces the rules, then there are no rules. Miners can do whatever. They can make inflation, they can steal Bitcoins that other people own.
Peter McCormack: But we do have a lot of people running full nodes now. So why should everybody have a full node?
Luke Dashjr: It doesn't have to be everybody just at least a super majority.
Peter McCormack: How many do we have right now?
Luke Dashjr: I don't know how many people are using Bitcoin day to day, but unless it's less than 200,000 it's pretty bad situation because we only have at most 100,000 or so in full nodes.
Peter McCormack: Okay. But I would've thought 100,000, that would be sufficient no? Why is 200,000 a good number?
Luke Dashjr: I am not saying 200,000 is a good number of full nodes. I'm saying if we only have 100,000 full nodes and there's 200,000 people using Bitcoin, that's only 50% using full nodes. It's not even a majority.
Peter McCormack: But isn't that kind of realistic that a lot of people wouldn't have full nodes because it takes a lot of work.
Luke Dashjr: That comes back to the block size. I mean, besides the whole Blockchain size and the block size, the work of using the full node is very trivial. You just install it and use it like any other wallet.
Peter McCormack: I think possibly for some people it is a lot more effort than they're willing to do and I would have thought if we have another bull run and hundreds of thousands or millions more people start getting involved in Bitcoin, I would think very few would operate a full node realistically.
Luke Dashjr: That could be an issue.
Peter McCormack: That could be an issue. So is it an important percentage then of people?
Luke Dashjr: Right. Usually I would say around 85% to be safe.
Peter McCormack: Right and why is that?
Luke Dashjr: Partially because, not just you need the majority, you need a majority throughout all 24 hours of the day. There are people in different countries. If all the full nodes are in the USA and USA goes to sleep in the middle of the night, does leave the network insecure overnight and then everyone wakes up to a problem.
Peter McCormack: So I don't understand why say 20% of people with Bitcoin operating a full node is dangerous for the network. Isn't it important that the total number of full nodes rather than the percentage?
Luke Dashjr: No, because if you have 20% of the people that bring full notes, 80% are not and then the miners decide that they're going to cause inflation without telling anyone. Then you've got 80% of the people on the inflationary chain, 20% on the no inflation chain. The 80% are economically stronger. They can essentially bully the 20% into accepting the inflationary chain.
Peter McCormack: Right, okay. So if you wanted to go to 300kb block, how does it happen? You obviously have to go through... Do you have a BIP submitted for this?
Luke Dashjr: If there was community support, someone would submit a BIP at that time after discussing with the development community the technical details, how we want this implemented. There would be a BIP submitted, the community would have to in practice upgrade to software that actually implements this soft fork and this is all after there's community support, to actually justified attempting it.
Then once there's enough people running the enforcement software, the rule effectively becomes... It can be activated one way or another depending on what the technical details of the BIP are. But when it activates then blocks over 300kb would be rejected by the network.
Peter McCormack: Are you actively trying to seek support for this at the moment then?
Luke Dashjr: I think it needs to be a user led effort.
Peter McCormack: Okay. Are you actively promoting this to users? Because it doesn't seem to have a huge amount of support behind it.
Luke Dashjr: It has less support than BIP 148 did at this time two years ago.
Peter McCormack: Well, we'll talk about BIP 148 as well, because that was a very interesting time as well. So what are the practicalities of... Just say there was a BIP for this and it was approved and people supported 300kb blocks. What is the impact of that?
Luke Dashjr: Whenever there's a soft fork, it essentially makes an exception for all previous blocks.
Peter McCormack: So 300kb blocks can be a soft fork?
Luke Dashjr: Right.
Peter McCormack: Because you can go smaller with a soft fork?
Luke Dashjr: Right.
Peter McCormack: Okay. So are there any negatives of going down to a 300kb block?
Luke Dashjr: It depends on who you ask, I suppose.
Peter McCormack: So what have you had fed back to you? What are people's concerns with it?
Luke Dashjr: One concern that a lot of people have is that it's likely we will need bigger blocks in the future and the easiest solution for that is to just make the soft fork inherently temporary. Say after a certain block height, it ceases to apply automatically.
Another obvious thing is people are going to have to adapt to having smaller blocks. People are used to just sending 10 cents here and there. I mean they probably can't send 10 cents already effectively, but they send a Dollar here and there, it may be more cost effective to use Lightning or to use some other layer two technology.
Peter McCormack: Because we will have more congestion?
Luke Dashjr: If everyone tries to... If there's just constant 2mb of traffic, then obviously it's not going to fit in 300kb.
Peter McCormack: And you think a period of time with 300kb would allow technology to catch up with how much data needs to be synced?
Luke Dashjr: Yeah. The technology has historically improved about 17/18% every year. So if we keep the block size low enough, that will eventually catch up.
Peter McCormack: Right. How does Adam Back feel about this?
Luke Dashjr: I'm not sure.
Peter McCormack: You've not discussed it with him?
Luke Dashjr: I don't think I've discussed it in depth recently.
Peter McCormack: Is anybody else publicly supporting you with this though?
Luke Dashjr: I think a lot of people consider it a technically good idea, but don't think it's worth that particular community support for.
Peter McCormack: But you do?
Luke Dashjr: I'm not sure.
Peter McCormack: Oh, you're not sure now? Okay. You think it's just too much effort?
Luke Dashjr: Maybe. BIP 148 itself was a lot of effort!
Peter McCormack: So let's talk about that because I remember that was one of my early days of being involved in Bitcoin, because I joined in late 2016 and obviously all this crazy stuff to try and get your head around in 2017. We had the threats of Bitcoin being forked, being taken away from the core team and you started the campaign for UASF?
Luke Dashjr: No, that was Shaolin Fry.
Peter McCormack: Oh was that not you?
Luke Dashjr: No, I was actually opposed initially.
Peter McCormack: You were opposed to begin with? I didn't know this. So why were you opposed to UASF initially and then why did you change?
Luke Dashjr: I'd have to go re-read what I wrote! Probably didn't seem practical at the time and given enough thought.
Peter McCormack: But then you obviously did think it was important.
Luke Dashjr: Yeah.
Peter McCormack: And why was that? What changed?
Luke Dashjr: I guess not so much the importance changed, as much as the practicality of it and at some point it became where there was going to be a split in the rules. At least some people were going to run BIP 148, even if it made an alt coin. Then at that point the safest route forward was to just get everyone else to join in with that.
Peter McCormack: I guess this did a lot to prove the importance of full nodes?
Luke Dashjr: Yeah.
Peter McCormack: Because full nodes... So explain the relationship between full nodes and miners then?
Luke Dashjr: The miners make the blocks. The full nodes verify them.
Peter McCormack: And so if the nodes adopted UASF, what would have happened to the blocks created by the miners?
Luke Dashjr: The miners would be creating invalid blocks. It'd be no different than if they made inflationary blocks or stealing blocks.
Peter McCormack: Were you ever worried about the hard fork happening and Bitcoin being taken away from core? Was that a concern at the time?
Luke Dashjr: Core doesn't have Bitcoin in the first place!
Peter McCormack: Well yeah, but do you know what I mean?
Luke Dashjr: And people also start alt coins all the time too. It's not like anything there was really a new thing.
Peter McCormack: It's must have still been concerning at the time, with what was happening with Bitcoin, especially as you've worked on it for years?
Luke Dashjr: Hmm, maybe. I don't recall.
Peter McCormack: You were the person who managed to solve SegWit as a soft fork I believe. Is that true?
Luke Dashjr: I didn't consider it solved at the time, but I suppose so.
Peter McCormack: But it wasn't believed it could be done as a soft fork initially right?
Luke Dashjr: I assumed it was obvious to everybody and everybody else apparently assumed it wasn't possible!
Peter McCormack: So I talked to Adam about you and he said, "Luke is on a different level. When Luke looks at things, he sees it almost like the Matrix! He can figure things out that nobody else can." So for everybody else, nobody else realized it could be done, but you were like, "oh no, I've got this."
Luke Dashjr: It actually came up in a completely different discussion. Another developer had suggested having soft forks be plugins for the consensus system, so just these plugins could be released and users could decide the soft forks that way. I simply pointed out that this plugin system he was proposing wouldn't work, if we did SegWit as a soft fork and everyone else was like "you can't do that can you?!"
Peter McCormack: Well you figured it out! What are your views currently on Lightning and how exposed you to working on that?
Luke Dashjr: I haven't done too much work with Lightning so far. I ran a c-Lightning on test net maybe year or two ago and lost all my test net coins, all the ones I put in it!
Peter McCormack: Reckless!
Luke Dashjr: Yeah. That's what test nets are for!
Peter McCormack: Are you a big fan of Lightning or are there any other scaling options that you're also a fan of?
Luke Dashjr: I mean even before Lightning, there were scaling options. There were obviously the centralized exchanges, which aren't the best thing, but depending on what you need to do, it's just a coffee fund, it may be good enough. There was open transactions where you and a group of friends or whatever would just form essentially a federated side chain like Blockstream's Liquid has become. Between you, you could then do Lightning type stuff or layer two stuff in general really.
Peter McCormack: Are there any other options out there outside of Lightning that people like you are considering?
Luke Dashjr: Besides those two I just mentioned?
Peter McCormack: Yeah, any others?
Luke Dashjr: I mean we'll probably come up with some in the future. Nothing's coming to mind at the moment, but there's always improvements we make down the road.
Peter McCormack: What are your views on fungibility with Bitcoin and the future of fungibility with Bitcoin?
Luke Dashjr: Hopefully it will improve! I had some concerns that some people involved in Bitcoin are opposed to it. Earlier you mentioned examples of hard forks and that maybe one of them in some ways, to get confidential transactions type stuff, that would probably require a hard fork and it may be difficult to get consensus for that. At the same time, layer two technologies like Lightning do improve the privacy and potentially the fungibility a significant amount as well. It may be enough by itself.
Peter McCormack: How do confidential transactions on Bitcoin, how are they going to work? How they proposed to work?
Luke Dashjr: Well there is no proposal at the moment. It's cryptographic magic! I don't understand the cryptography behind it.
Peter McCormack: Okay. But you said potentially it would require a hard fork. So how do you know that, if you don't know how it's being done?
Luke Dashjr: Well the purpose of the full nodes is to maintain the set of coins and the conditions they can be spent and each of these coins has an amount associated. What confidential transactions does, is it hides that amount. So it's inherently impossible for existing nodes to support that, because they always know the amount.
Peter McCormack: Okay I see. Is privacy important to you?
Luke Dashjr: To an extent. I don't really care for absolutely anonymity. I think a lot of the examples given for privacy are inherently immoral, but at the same time there are a lot of cases where it's necessary. Otherwise, the alternative is, everybody knows everybody else's finances. If they know that you have this much Bitcoins, they may say that their price is higher for you than for others. There's significant downsides to not having at least some minimal layer of privacy.
Peter McCormack: What are the moral aspects that you mentioned just then?
Luke Dashjr: I know some people like to give an example of purchasing things that shouldn't be purchased.
Peter McCormack: Okay. So almost like dark web transactions?
Luke Dashjr: Sure. I mean, there's probably legit dark web transactions, but I suppose that's not what it's intended for. I wouldn't know!
Peter McCormack: You wouldn't know, I guess you're a law abiding citizen! It was quite interesting, you put out on Twitter recently asking people what subjects they would like you to present on and Adam replied to you and said, "the threat of quantum computing." How big a threat is this?
Luke Dashjr: I'm no quantum computing expert, but my understanding is that there's not much realistic expectation now, that there will be usable quantum computers that are capable of the full extent of quantum computing in the near future.
Peter McCormack: In the near future. So we're all right for a few years!
Luke Dashjr: As I understand it, it would take another breakthrough or two.
Peter McCormack: Okay. If the breakthrough happens, are there ways to protect Bitcoin with it?
Luke Dashjr: Potentially. A lot of people reuse addresses which can weaken the protections that are in place. It's unclear exactly what approach would be used to prevent people from stealing Bitcoins. There's a risk that old Bitcoins such as Satoshi's era may need to be made invalid, to prevent them from being stolen.
Maybe there's a way to make them spend a little again in the future. I'm not sure. It was discussed a lot more in 2011/2012 and I think we reached the point where we can see there's options available if this does happen. We don't need to really think about it, more or less work on it here and now.
Peter McCormack: Okay all right. What are you working on now?
Luke Dashjr: Lately I've been trying to focus on making it easy for people to use their full node with mobile wallets and otherwise light wallets. The combination of the full node with the light wallet, it gives them the full node security. So even if you don't have a full node on your phone, which is becoming less and less practical, you can have your full node at home and then have your phone wallet contact your full node at home.
Peter McCormack: Okay. What about Neutrino? What are your thoughts on that?
Luke Dashjr: It's really no better than the existing light wallet stuff.
Peter McCormack: Okay, interesting. So why are people such a fan of Neutrino? Because I was under the belief that it's going to be very important for Lightning. Also somebody talked about wanting it built into the Bitcoin protocol. So you're not a fan?
Luke Dashjr: No, there's not much use case for it. I suppose one thing it does allow is full nodes that are pruned. It allows them to go back and look at the Neutrino filters and pick out which blocks they need to re-fetch to re-scan their wallet if they need to restore a backup.
Peter McCormack: So is Neutrino of risk then, because if people are supporting Neutrino, perhaps people will have a Neutrino wallet on their phone rather than having a full node? Is that a risk?
Luke Dashjr: It's a serious concern I think. Unfortunately we can't uninvent it!
Peter McCormack: But are you talking to people about this?
Luke Dashjr: To an extent. I just brought it up a few times. I probably haven't even brought it up. I probably just replied to tweets! Nicolas Dorier has an article explaining the risks of it and why it's not really a good idea.
Peter McCormack: Okay, so why are people still pursuing that then? What's the benefit?
Luke Dashjr: Well, like I said, there are a few edge benefits to just the filter part at least. It allows pruned nodes to re-scan backups from a long time ago.
Peter McCormack: Are there any other things that are concerning you right now then?
Luke Dashjr: Just the lack of full nodes in general. This is the biggest thing.
Peter McCormack: It's always interesting to hear you talk about that because I see people promote that you should run a full node and that's important because you... I think I've got a quote of yours here actually. You said something about, "you can't actually use Bitcoin, until you self verify that you've received some."
Luke Dashjr: Right! I mean if you don't have Bitcoins, how are you going to use Bitcoins?
Peter McCormack: So say I have a hardware wallet, say a Trezor or a Ledger. I always keep my Bitcoin on there and never run a full node. What's the difference?
Luke Dashjr: How do you know that you have any Bitcoins on there?
Peter McCormack: Because I opened my wallet and it says so?
Luke Dashjr: But that could be wrong. Unless you have a full node, there's no way to verify that.
Peter McCormack: But I guess I'm putting trust then in Trezor or Ledger giving me accurate information.
Luke Dashjr: Right. If you just want to trust them, then why not just use US Dollars or PayPal?
Peter McCormack: Yeah, that's a good point. I've just not heard in my interviews and conversations. I have not heard anyone go into detail on this and explain that it's that important. So basically the message for everyone then is to just go and run your own full node?
Luke Dashjr: Sure!
Peter McCormack: All right. How do people keep an eye on your work Luke? Is Patreon important now?
Luke Dashjr: Patreon is helpful in funding the work. I post mainly on Twitter because it's important for everyone, whether they're funding me or not to get information.
Peter McCormack: Okay, well listen, I'll share that out and thanks for coming on the show!
Luke Dashjr: Thanks!