 Watching the Daily Decrypt, it's currency competition time. I'm your host, Amanda B. Johnson, and today's episode is brought to you by Fort Galt. What is the price of a cryptocurrency transaction at any given time, and how can we know this? To discuss the answer to this question, I reached out to Justice Ranvir, a Bitcoin developer and reviewer at the OpenBitcoin Privacy Project, and we got to talking about more than just price discovery. Let's say that. So you are Justice Ranvir, and you are, I mean, give us your bio. I mean, I know that you are a developer and a security researcher, but what is your bio at large? Well, before I got involved with Bitcoin, I was in electrical engineering and industrial automation, and I was doing that for a while, and then I heard about Bitcoin, I believe, in 2010 on Slashdot, and I paid more and more attention to it over time, and then in 2011 and 2012, that Bitcoin became almost my only hobby, and then in 2013, I quit working in the field I was in to focus entirely on Bitcoin and projects, and that's what I've been doing ever since. Well, I first, go ahead. Yeah, you describe me as a developer, but that's actually fairly recent for me, as in less than a year, that I've actually been doing software development. Oh, really? Okay. Wow. Well, yeah, I mean, your development that I'm familiar with, as you well know, was your writing of the wallet BIP for Bitcoin, BIP 47, which I just thought was like so fucking clutch that it would just make privacy like so much better in Bitcoin, and it's like, to this day, I think what, has anybody other than Samurai Wallet picked up on it? That's not even the topic for today's, okay, well good, well maybe we can talk about that later. Not the topic for today's episode, I just thought that was super clutch, but I knew of you before that as well, because of an equally clutch thing that you published, which was a prose, an article to be precise on the website liberty.me, where you said quite boldly, block size caps are not needed if players within the network, basically users and service providers, like miners, whatever, nodes, can simply communicate with one another in some way that makes the price of a transaction knowable at any given time. So describe for us, first of all, why is a block size cap needed in absence of price discovery? Why is there a block size cap in Bitcoin right now? That's a complicated question. The proximate cause for why there's a block size cap is because how Finney thought that we needed one and convinced Satoshi to put one in. To give a more specific answer, there's really no right answer to what does Bitcoin need, because there are different people who want Bitcoin to be different things, and in many cases, these ideas are mutually exclusive. So there are people who want Bitcoin to be peer to peer digital cash and want it to be a sound money system that is capable of competing with and out competing other currencies. There's a lot of people in the world who very much do not want that outcome to happen, and so what makes Bitcoin good for them is the opposite of what makes Bitcoin good for people who want peer to peer digital cash. Whenever you're asking the question, is a particular design decision good, the answer is always yes. Every feature that Bitcoin could adopt is good, but asking that question is the wrong thing. You have to ask good for whom. As in the case of a block size limit, the effect of a block size limit is it does not allow Bitcoin to be universal digital cash. It requires people to transact in Bitcoin promissory notes, and that is good for anybody who wants to prevent or reverse the monetization of Bitcoin, and it's good for the people who want to profit via the process of money creation as fractional reserves are collecting fees on transactions between banks. A block size limit is good for them, and it's bad for everyone who's not them. Now let me just, our signal broke up a little bit, but I would probably ask you to repeat this even if it hadn't. Did you just say that a block size limit is good for creating fractional reserve Bitcoin banking essentially? Yes. If you can't transact in the money directly, you have to transact in money substitutes, and this is basically the model that banking has used for hundreds of years. If you go back to ancient times, people actually physically moved pieces of gold around, and silver or whatever metals they were transacting in, and that's a bad way of transacting. There's all these disadvantages, so they moved to paper, which was a better means of exchange, but the gold and the metals stopped being money at that point, because the actual currency then became the promissory notes, which is a debt. Debt has the feature of it can be expanded indefinitely, so there's effectively no theoretical limits on the money supply when your currency is debt. Okay, now describe to me how Bitcoin could be run in a way that people who held the currency or thought they held the currency were actually holding debt. How does that work? Well, we see that right now. Anybody who has a balance on an exchange is holding that exchange as debt. They're not actually holding the bitcoins or the dollars or whatever currency. Anytime your money is actually not in your physical custody, what you hold is actually a promissory note, and it is the counterparty's promise to redeem the debt on demand. They may or may not have enough of access to actually redeem all of their notes at once. If they don't, that's called fractional reserve. At this point, there's no way to know if all of the entities holding bitcoins on behalf of third parties actually are fully solvent, and I would be shocked if all of them are solvent. That's basically the easiest scam in any kind of system like this is you take people's deposits and then you steal them and just keep enough around to keep the money flowing in and out so that you collect more deposits. This is basically modern banking. There are not enough actual dollars as in printed by the US Mint to satisfy all of the people who think they have dollars in a bank account. Alright, well, let us then move to the reason I called you today since we've established that fractional reserve banking with bitcoins already exists. By the way, can I ask, I'm hearing an echo of myself, but I don't know how that's possible because you're wearing headphones. Yeah, I'm not sure. There's no speakers going here. It must be something with the hangout. Yeah, alright. Well, it's not too distracting. Okay, very good. So, as we've established that there already is fractional reserve banking in cryptocurrency, in Bitcoin especially, let's talk about price discovery of transaction fees. First of all, this is very interesting because I think that, no, I know that we would not be having this conversation if there were not a block size cap because the inflation in Bitcoin right now I would think would be pretty much sufficient for minor profitability. Isn't it that the idea at least was that fees would not come about until after inflation was over because that's a holder of Bitcoin. You're already paying fees in the form of inflation, like already your monetary unit is being slowly, slowly debased as the currency inflates, but that could be okay with you because hey, at least the transactions are free in the inflationary state or am I just totally off base? Yeah, it is true that operation of the network is paid for right now via inflation and via transaction fees. I don't think it's possible for us to know how that balance is going to play out over time. We know that we have two mechanisms for paying for the network and we know that one mechanism decreases exponentially and that's actually one of the biggest reasons that people invest in Bitcoin is because they know that the inflation is a temporary phenomenon. The point at which transaction fees have to become a bigger proportion of the revenue and who will pay those fees and how, that's not anything we can know ahead of time because as the network grows, well, if the network is allowed to grow, if more people come into it, the incentives of the players are going to be very dynamic. For example, I've just been doing thought experiments of who would pay the transaction fees in 20 years and it could be in the present where it's end users paying transaction fees on their transactions. But it could very well, there's all kinds of other arrangements that you can imagine. What if Bitcoin was the money, was the world's money? You've got these big retailers like Walmart, largest retailer in the world, they would be using Bitcoin to get paid by customers, to pay their suppliers and to pay their employees. Maybe they would just devote a percentage of their gross to keeping the mining running because that's what they would need to do to make sure that money still worked because without money they don't have a business. In that scenario, you could see businesses, retailers and other companies using assurance contracts, none of the things to pay miners and users not paying fees at all. But again, I have no idea if that's going to happen, that's just something that could happen. We won't really know until that future arrives and it will probably change. As Bitcoin develops, the ways that people will pay for the network will change based on what's appropriate in that environment. Would you say that there... I was in the Ethereum subreddit the other day and a project which has not come to fruition called EtherX, like an exchange, kind of like a lot of bit shares, like a decentralized exchange within the main Ethereum protocol which can issue other tokens. They're basically saying like the fees are too high for such and such an action that's like kind of ruining our model and that reminded me of a publication from another person who was building a sort of app on Ethereum called Elcoin and he also I believe recently stopped development of that because he also said that fees within Ethereum were way too high for his business model as well and so I was like looking into like they keep saying like gas cost, gas cost and so I was like okay well how is this gas cost established and it turns out it's established on like the protocol level, like there's a minimum price of each type of transaction you could want to do that is established via the protocol level and Ethereum miners can set a higher gas price than that if they want but they cannot set a lower gas price than that and so is that something that exists in Bitcoin to your knowledge or are, is there no minimum on the protocol level and it's solely up to miners what is and isn't appropriate? Yeah, the protocol in Bitcoin doesn't specify any minimum fees. What do you, what do you think in terms of, because you've written before about so anyone who tries to say set a price for various actors is basically going to fail to achieve what you call solving the economic calculation problem and so just as a, as a tangential question, do you believe that a minimum fee being set within the Ethereum network is basically bound to fail because it does not allow users and miners to meet on a price via supply and demand? It's definitely going to cause economic problems for them, so they've picked a set of prices relative to each other and the, in any time that those prices are correct as in they are the economically optimal values it'll only happen occasionally by accident because supply and demand are always changing, right? They're not, they're not fixed quantities. The, you know as technology changes as hardware changes the, like, so what they're trying to do is they're trying to say, well, this operation is, I don't know, 1.4 times as expensive as this operation, but that's, that's a statement that can only ever be true instantaneously. It's never eternally true, you know, because maybe five years from now the computers we're using have more memory bandwidth or they're more efficient at certain instructions so the ratios have changed, but if all that's fixed into the protocol what'll happen is when supply and demand aren't allowed to meet at their, at their natural value you end up with what economists call dead weight loss, which is economic value that could have been produced that wasn't produced. And, you know, systems don't actually have to be perfect. You can get away with a certain amount of it, kind of like how ethanol is toxin to humans, but not everybody who consumes a little bit of alcohol dies, right? So, Ethereum can have problems like this, these centrally planned prices, and the system can work, it won't work as well as it would without those. Now, if you're talking about a government mandated currency, they don't really have to worry about those kind of problems because everyone has to use it anyway, but when you're talking about free market currencies, building in kind of economic time bombs is a problem because your competitors are not forced to implement the same time bombs and so they can just out compete you. Yeah. So, how could, okay, so I was watching a talk that Andreas gave the other day and he was basically saying, oh, this last sort of massive congestion within the Bitcoin network was due to so many people using wallets that don't correctly calculate the price of a Bitcoin transaction at any given time. But is there actually any way to know that or is the correct price simply just like send more than you usually would and maybe even more than that, and if your transaction gets processed within 10 minutes, then you know that it was right. But is there actually any way to take a survey of all existing miners, see what their price minimum is set to be, and then somehow calculate the demand for that? Well, I don't think there is one right price for a transaction, any more than there is one right price for a car. So the price, in principle the price of every transaction is kind of a unique thing because it depends on the preferences of the user who is making it and the resources consumed to actually get it into a block and the willingness of the nodes to relay it and the miner to include it. So yeah, prices do tend to converge to common values. We talk about the price of gasoline, even though what we see is a single price is actually just, it's made up of a whole bunch of individual prices. It's kind of a barrage of there being a single price. And the same is true of Bitcoin transactions. But if you're asking, how can clients better estimate the, because they're trying to pay as little as possible for what they want to achieve, and the miners are trying to charge as much as possible, the same as every other service in the economy. And there are probably better techniques available for clients to negotiate better. And so I think that's interesting. And there are probably better techniques available for clients to negotiate better effectively. Like technical techniques, like something that could be written into a crypto protocol, like, and this will let a client take a brief survey of miners and choose the one that has the best price. Yeah, I mean, yeah, in principle that's possible. I'm trying to think of what's something you buy on a regular basis. Toilet paper. Okay. How do you make sure that you get the right price, you're paying the right price for toilet paper? Yeah, I mean, there is no right price, or I mean, I shop around, right, like a price compare. Right. So since you buy it regularly, you kind of have an idea is if one store is charged, like if you walk up and you see that the price is double what it normally is, then you could know that. And depending on how urgently you needed it and how close other stores were, you may or may not pay that. But you change your purchasing behavior over time based on your experience of prices. Because especially in the case of toilet paper, there's in the context of one single transaction, there's actually not a lot you can do. Like you show up to the store, you see the price, you either accept the price that they charge, or you accept the cost of going to a different store with a probability that you'll get a lower price, which is not guaranteed. So if you were trying to simulate that in software, it would be fairly complicated, but it's something that humans just kind of do intuitively. Right. So it's definitely a process that can happen though. So in terms of how exactly is the best way to program that into a wallet, I don't really know. But we know that it is a process that happens, we do it every day. So it is possible to implement. If the computer that is the human brain can do this, you're saying that certainly there may be some software based solution that could also do this. And also keep in mind that a Bitcoin wallet is not just the software, it's also a software plus a human. So the software is a tool that the human is using. So I mean if there's a way for us to do this in our everyday life, literally every single day, then there's a way we can teach our wallet tools to do the same thing. Right. I don't have like a off the top of my head, this is exactly how it's going to work answer, but there's a lot of people who can work on those solutions. And again, those things will change over time. People will find better ways of doing it. But again, there's kind of a wrong assumption in where you originally went in that if wallets were just better at determining fees, there would be no congestion problems. And that's absolutely not true. A wallet that is better at determining a fee helps you avoid congestion only if there are wallets that are worse at it in the world. Right. Because with the one megabyte block size limit, that is the maximum number of transactions that can happen. So let's say you improve your wallet so that it's better at optimizing fees than all of the other wallets. And so now your fees go through without problems. That's only good until all the other wallets do the same update and now you're back to where you started. But if there is a legitimate demand for two megabytes of transactions every two minutes, they're not going to fit. And no amount of fee optimization will make them fit in. No matter how much the people are willing to pay, they still won't fit. It's like if there are 10 seats on a bus and there are 12 people who want to ride, there is no price that all of them could pay at which all of them could ride. Exactly. And you can only get away with that kind of a supply quota if you have a government-granted monopoly effectively. Because if you try to force the price up by just artificially restricting the quantity, all that will happen is that somebody will build a network that doesn't have the artificial restriction and you'll lose everything. Yeah. That couldn't be why I keep getting frustrated angry emails from Bitcoin maximalists for talking about their competition, could it? Well, yeah. The danger of a block size limit is something we've been talking about for a long time. I mean, there were people, I was way back as we were worried about this, saying, hey, how can we invest in this currency that has this artificial limit on it? But back then, everybody was reassured, oh no, don't worry about it. We're going to raise the limit. There were active plans for a hard fork to raise the limit in the summer of 2012. There are a lot of people who are new to Bitcoin who think this is a recent thing that just started or they think it's a controversy that's been brewing over the last year. We're in year four of this attempt to get rid of this block size limit problem. Basically, it's the same people who've been involved since the beginning. There has been an anti-scaling side and a pro-scaling side. The only thing that's really changed is that the anti-scaling side has gotten a lot of money to help them and the pro-scaling side didn't. So here we are. I want to ask your take because every time I talk about the block size limit on my show, there's someone in the comment section who's like, Segwit, Bro, and Lightning Network, Bro. Let us give them the benefit of the doubt that these pieces of software actually do get written because I believe that the code for this Lightning Network thing actually does not exist. I believe it's a white paper at this point. Anyway, let's give them the benefit of the doubt that these things do get written, do get implemented, and a majority of clients update and all of that works smoothly. You're saying that these off-chain scaling solutions would still, I mean, it would basically turn Bitcoin into something perfect for fractional reserve banking. Is that what you're saying? Well, these are the two different things that you're talking about. Segregated Witness is a different way of putting transactions in the blockchain. Think of it like a different encoding method and it effectively lets us cheat on the block size limit. And so because it's storing transaction data outside the block itself, you can fit some more data in and it's not a huge increase in capacity, but if all the transactions were using Segregated Witness, I think it approximately would double the transaction capability, which maybe that buys an extra year possibly. But Segregated Witness is really a solution for a problem that only Lightning Network has, which is transaction malleability and the issue of large transaction sizes. So they're kind of being sold as a package deal even though they do different things. And Lightning Network is being sold as well. This is a way of making real Bitcoin transactions, but that's not accurate. It's a way of transacting in Bitcoin substitutes. So a balance that is stored in a Lightning Network balance is not actually available to be spent on the blockchain until the channel times out or until you close out the stuff. So it really is a substitute. It's a very neat technical trick and it probably has some uses, but they are not Bitcoin transactions. They are Lightning transactions, which you would expect there to actually be an exchange rate between Lightning balances and actual Bitcoins. Okay, so could say all 21 million coins had been mined for sake of this thought experiment. If a Lightning Network were operating and all 21 million coins had already been mined, could there be transactions on Lightning Networks that were more than 21 million coins worth? Like these money substitutes, could they be inflated beyond 21 million Bitcoins? Well, I don't think that there's a real answer to that. So a group of computers can all agree to sign any message they want. So you could write software that would sign these transactions that look like Bitcoin transactions but are not actually valid on the network and can never be settled. I mean, it is possible to write software that would do that. Would anyone do that? I can't really say. And if we're talking about a future where everybody's using Lightning and nobody's using Bitcoin except to open and close Lightning channels, then we don't really know if the Bitcoin network still exists anymore. Once you've moved to a kind of off-chain transaction system, I don't think you can make reliable predictions about how that system is going to behave. In the short term, I don't think that those kind of transactions would ever show up on Lightning. You know, they would restrict themselves to legal Bitcoin transactions. I don't know what the future would look like in 20 years. The question is just too open-ended. But what you could have is in the near term, what you could have is you could have these Bitcoin banks that are settling between themselves and Lightning Network. And they could have customer liabilities in excess of 21 million Bitcoins. But the maximum settlement amount that would actually settle on the chain would be limited to the amount of real Bitcoins that they held. But they could certainly have customer liabilities in excess of that. So that you just used to the term Bitcoin Bank, I think is pretty... That's a pretty different term from, say, early Bitcoin marketing materials which were your own bank. In fact, I would say that's about as opposite as two things can be. And so you sound like you would prefer to be your own bank form of money. Is that correct? I prefer that. I'm not opposed to Bitcoin banks existing, but I'm very much opposed to Bitcoin users being forced into Bitcoin banks. There are a lot of people who are never going to want to control their own money and be responsible for it. And so there will always be businesses that serve them. But if you create a network where you are deciding, we're going to mandate that the Bitcoin network is now a settlement layer. Now you're saying nobody is allowed to be their own bank, whether you want to or not. And that's just a replication of the corrupt system we have today. So then I have to ask you, do you still own any Bitcoins? I don't like to talk about my Bitcoin holdings. I'll just tell you why I ask. So I would prefer to have the choice of whether to use a bank or to be my own bank because I would always choose to be my own bank because I'm one of the kinds of people who doesn't mind managing my private keys. And so, yeah, I guess I would just, this is me just trying to gauge people, really smart people like you. Because before this interview, I had sent you some materials regarding Dash. And I was wanting to know whether their forthcoming decentralized API could potentially be used as a tool for price discovery of processing fees. And you had mentioned that you weren't familiar with that. And so I guess I'm just trying to gauge, is that because you aren't interested in exploring Bitcoin competitors? Well, I will say I do not hold any cryptocurrencies other than Bitcoin. In the last year, my allocation of assets has changed. My allocation of liquidity has changed, but it hasn't been into other cryptocurrencies. So I guess I'm just trying to understand. So someone who is like, whoa, I don't like the direction that Bitcoin is going. Why would you sell back to Fiat before trying something else that might actually have a better solution? Well, okay, so over the years, thinking about Bitcoin has been a really challenging thing, right? Because we went through 2013 where Bitcoin went from like $10 to $200. And there are times where we were doubling every price every few days. Bitcoin has been challenging as a unit of account to keep track of over the years. So back in 2013, the way I started measuring my savings was in months of living expenses. And so that turned out to be a little bit easier to keep a grasp on. And I would allocate how many months of living expenses do I want in dollars versus how much am I willing to have all in Bitcoins? And that's kind of like a safety margin, right? Because if there's a price dip, then suddenly you might need to use more of those dollars. So as the amount of expenses that I can pay has been payable in Bitcoin, that's kind of affected my ratio of living expenses in dollars versus months in Bitcoin. And so what I would say right now is that I have more dollar runway now than I would have say two years ago, just because of the changes in my own expenses and the uncertainties in Bitcoin. So if I'm going to hedge in some currency, I would hedge in the currency that I actually need to spend on my routine expenses. If I were ever to switch to another cryptocurrency, I would move everything all at once. Well, I'll watch the blockchain for a whale move and I'll wonder if it was you. In a closing question, can I ask, do you have any sort of thoughts about, I don't know if you saw, I made a video about potential risks of the having in terms of there being a network capacity limit last week, and I was wondering if you have any sort of thoughts about are there risks of a having with a network capacity limit or what do you sort of think might happen in July? Well, if a large fraction of the hash rate goes away while the network is operating near the transaction rate capacity, that would be a huge problem for sure. I guess I would say I'm not all that worried about a massive loss of hashing power at the, you know, this summer, especially because there are new ASICs coming online. There's new generations, smaller feature size, and I would expect that those things should roughly cancel each other out, especially because the miners have known this having was coming. So, I wouldn't expect a 50% drop in the hash rate this summer. I mean, I would be surprised if that happened, that's what I'm saying. Okay. All right. Well, thank you for your time, Justice, and remind giving us like a website or two where people can follow what it is that you do. I may have neglected to mention that Justice is a reviewer for the Open Bitcoin Privacy Project, the Wallet Rating Project. Yeah, that's probably the best website to mention right now. You know, I haven't been doing a lot of writing recently, but yeah, we released our second privacy report recently and we're gearing up for the third one. So definitely check out the OVPP website. OVPP, and is it dot com? It's openbitcoinprivacyproject.org. Openbitcoinprivacyproject.org. That's easier to remember. Okay, very good. Well, thank you for your time, Justice. Thank you. Today's episode is brought to you by Fort Galt, which is an early stage community for entrepreneurs and their families located on the coast of Chile, near Valdivia. Fort Galt's 100 acres are pre-installed with water and power lines and Bitcoin is accepted for purchase of property or reservation of apartments. You can find out current availability and prices by visiting fortgalt.com. Well, that does it for today, dear viewer. Thank you for your time and watching and thanks as always to those who send the daily decrypt micro tips. That is quite kind of you and we notice and appreciate them and it's great. Have a good day. What we have here is a network in which users cannot be sure whether developers work for them or for someone else. And this is understandable because after all, Bitcoin users don't pay their developers and never have. And if users don't pay developers, someone else will.