BTC009: BITCOIN ENGINEERING

W/ CORE DEVELOPER JIMMY SONG

20 January 2021

On today’s show, Preston talks to software engineer and Bitcoin core developer, Jimmy Song. Jimmy covers a wide range of topics on how software is developed, deployed, and updated into the protocol. He also covers risks and concerns that many users of the protocol often voice.

SUBSCRIBE

IN THIS EPISODE, YOU’LL LEARN:

  • How are Bitcoin updates generated between developers?
  • How are Bitcoin updates released once complete?
  • How are new versions tested and agreed to?
  • What happens if updates aren’t used by full node operators?
  • Why full node operators are important versus why miners are important.
  • 51% attacks.
  • Quantum computing and it’s potential threat to Bitcoin.
  • Other engineering threats to Bitcoin.
  • Jimmy’s thoughts on interesting software initiatives moving forward.

HELP US OUT!

What do you love about our podcast? Here’s our guide on how you can leave a rating and review for the show. We always enjoy reading your comments and feedback!

BOOKS AND RESOURCES

  • Jimmy Song’s new Book, Thank God For Bitcoin.
  • Jimmy’s Book, Programming Bitcoin.
  • Jimmy’s Podcast, OffChain.
  • Get a FREE book on how to systematically identify and follow market trends with Top Traders Unplugged.
  • Make BendHSA a part of your financial well-being today.
  • Automate your money with M1 Finance. Get $30 when you sign up for free today.
  • Elevate your writing with 20% off Grammarly Premium.
  • ring your WiFi up to speed with Orbi WiFi 6 from NETGEAR.
  • Take your business to the next level by hiring the right people with ZipRecruiter.
  • Push your team to do their best work with Monday.com Work OS. Start your free two-week trial today.
  • Give yourself an upgrade with Helix Sleep‘s perfect mattress for you. Get $200 off all mattress orders and 2 free pillows.
  • Invest in blue-chip art from artists like Monet and Basquiat with Masterworks. Use promo code WSB to skip their 15,000 person waitlist.
  • Browse through all our episodes (complete with transcripts) here.
  • Support our free podcast by supporting our sponsors.

CONNECT WITH PRESTON

CONNECT WITH JIMMY

TRANSCRIPT

Disclaimer: The transcript that follows has been generated using artificial intelligence. We strive to be as accurate as possible, but minor errors and slightly off timestamps may be present due to platform differences.

Preston Pysh (00:00:03):
Hey, everyone. Welcome to our Wednesday release of the podcast where I’m covering Bitcoin. Today’s guest is a well-known software engineer and core developer to the Bitcoin protocol, Mr. Jimmy Song. Jimmy has numerous contributions to the current software baseline, and he’s the author of the go to textbook, Programming Bitcoin.

On today’s show, we get into how updates are made to the code, how these updates are tested by a decentralized group of software engineers, then how does the update get deployed? How do full node operators adopt the code? What risks are associated with this process and much, much more. Jimmy talks about other blockchains. He talks about quantum computing. There’s a lot of variety in this and it all relates to the engineering and it comes from a guy that’s written some of the code itself. So, without further delay, here’s my chat with the one and only, Jimmy Song.

Intro (00:00:53):
You are listening to Bitcoin Fundamentals by The Investors Podcast Network. Now for your host, Preston Pysh.

Preston Pysh (00:01:12):
All right. So, hey, everyone. Welcome to the show. I’m super pumped to be here with Jimmy Song talking Bitcoin and Bitcoin tech. Jimmy, welcome to the show.

Jimmy Song (00:01:21):
Well, thanks for having me. It’s a pleasure to be on. I appreciate that you were on my podcast. So it’s a little nice exchange here.

Preston Pysh (00:01:28):
This is fun because we were talking all investing and now we can talk all the tech and engineering and all the really good stuff. So let’s dive into this, Jimmy. Let’s start off. A lot of the folks that listen to our show really kind of come out of traditional finance, and are just getting introduced to Bitcoin for the first time through the show, and you’ve been in this space for years. So, I just want to give the audience a little bit of background on you. So tell us your story. Tell us how you got attracted to Bitcoin. What year was it? Talk to us about some of that stuff.

Read More
Jimmy Song (00:02:00):
I’m a programmer. I’ve been one since I graduated college in the late ’90s. So, I’ve been in the programming world for a long time, and I program for a lot of different startups. I think I’d counted at one point I did 13 different startups in one way, shape, or form. I did manage to get exit twice with public offerings at two of the companies that I was at. So, that was kind of nice. But I first heard about Bitcoin back in 2011. So, it’s been about 10 years now. And it was on a tech website called Slash Thought. And the big news then was that Bitcoin has broken one dollar. And I didn’t really… I couldn’t even understand what that sentence meant. I was like, “Okay, what is this thing? And why is it significant that it broke a dollar.” And that’s when I clicked on it, read it, and try to understand what it was.

Jimmy Song (00:02:51):
The thing that immediately attracted me was one of the first things I learned, which is that there’s 21 million. And that human instinct, I think, is to collect anything scarce. And as soon as you find out that there’s only 21 million there’s sort of like a tendency to want it, right? This is something that I recognize as sort of inborn. I remember collecting baseball cards when I was little. I still remember, I think it was the Billy Ripken Fleer card that had like a little curse word at the end of the bat. There was only like a small number of them that got printed before they airbrushed that out, or something like that subsequent printings. But that was worth something because it was rare, right? It was scarce.

Jimmy Song (00:03:33):
That same instinct, I think sort of caught me when I first learned about Bitcoin in 2011. Of course, I was kind of primed for it because 2008 was when all of the financial stuff was happening. And that led me sort of down a libertarian rabbit hole of what’s going on, why is the system this way? I wouldn’t say that I understood all of what was going on back then. But it gave me enough of an impetus to be open to Bitcoin. And the 10 years since then has been something of a journey and learning the various aspects of Bitcoin, not just programming, which we’re going to talk a lot about, and the technical, but also the economic aspect of it, the social aspect of it, the game theory aspect of it, and so on.

Preston Pysh (00:04:17):
So, you find out about this, and you see people talking about it online, then you immediately start diving into some of the conversations with some of the people that are working on updates to the code. Is that correct?

Jimmy Song (00:04:29):
Well, I didn’t get into actual contribution as a coder until 2013. So it took me a couple years. At that time, it was just sort of like it was so hard to get any information whatsoever in 2011. It was literally just maybe a few websites. Nowadays, you have explainers and YouTube videos and all that stuff. Back then it was literally just like Bitcoin talk forums, and then Mt. Gox. That was about it. It was a guy who had tried to sell Bitcoin for PayPal that I found, but his account was shut down three months before that. So, I obviously couldn’t buy from him. It was difficult even to just get your hands on Bitcoin. At the time you had to… The only way was really Mt. Gox or there was an exchange where they would take a personal check, but that sounded super sketchy to me.

Preston Pysh (00:05:19):
So if you bought it on Mt. Gox back in this 2011, 2012 timeframe, were you just keeping it on the exchange because it was too hard to really kind of secure it yourself?

Jimmy Song (00:05:29):
Yeah, more or less. So, I had to get it to Dwolla and then do all I had to transfer it to Mt. Gox. And then you could go buy Bitcoin and then if you had your own wallet software, then yeah, you could do it. But there really weren’t that many wallets, right? There was literally the Bitcoin Core wallet, which you had to run like a full node in order to do and that took… I mean, it was a lot less back then. But you had to sync it and so on. You can use I think Armory was the other one, blockchain.info was another one. I didn’t really want an online wallet. I think I did open one, and I remember getting 0.05 Bitcoin from a faucet and I kept it in that wallet. And now it’s worth a few thousand dollars.

Jimmy Song (00:06:15):
Oh, man. So that was from a faucet, just people were giving it away. So things have changed significantly. But yeah, I mean, 2013 was when I really got into the coding aspect of it. And that was actually kind of triggered by what you said. My coins were on Mt. Gox at the time, and I had some friends that were telling me, “Hey, you should really get your coins off of Mt. Gox. I’m just hearing some sketchy things going on over there.” And this was summer of 2013.

Jimmy Song (00:06:43):
So, I looked into the different wallets and I found Armory, downloaded Armory and put the coins into my Armory wallet. I thought it was very non-performant and stuff, which is ironic because I ended up going and working there a couple years later. But that was how I got my Bitcoin and thank God I did that. Because a few months later Mt. Gox turned out to be insolvent, and they’re still in litigation over getting compensated for the coins that they add on Mt. Gox. So I got it off, and I was very fortunate. I’m very grateful to the friend that told me to take it off.

Preston Pysh (00:07:20):
Because I mean back then, I mean, you’re talking, it was not uncommon for a person have thousands of coins on Mt. Gox, thousands, right? Crazy.

Jimmy Song (00:07:29):
Easily, thousands. [crosstalk 00:07:30]. There were a lot of people that lost a significant amount of Bitcoin on Mt. Gox because it wasn’t a thing to sort of self custody or people hadn’t learned the lessons. And the thing is, there were other exchanges besides Mt. Gox that had gone bankrupt because they got hacked or something before then and people still didn’t learn. And this is why to tell yourself blessed these days because there’s so many wallets, and many of them are hardware-based, and so on. So, it’s a lot easier now. But back then it wasn’t.

Preston Pysh (00:08:01):
And you can see how ingrained this is in the culture. If you’re on Twitter, and you’re talking to anybody that’s been in the space for a while. I mean, they’re just like you got to secure your own keys no matter what because Mt. Gox and whatnot. But you started doing contributions to the code come 2013, 2014. Talk us through what that process is like.

Jimmy Song (00:08:23):
Yeah, so I’m attributed to lots of different Bitcoin projects. And there’s not just one, there’s lots. Bitcoin Core is the one that everyone knows because that’s the node software that you run if you want to validate the entire Bitcoin ledger and so on, which is very helpful because then you don’t have to compromise your privacy whenever you want to know your own transactions and so. I first started contributing to sort of like a fringe project. At the time, it was called color coins in 2013. And it was headed up by a guy in the Ukraine. And basically, the way open source contribution works is that you write code, and then you put in what’s called a pull request, which is sort of like code changes that you’d like to see usually adding some functionality or testing or something like that.

Jimmy Song (00:09:12):
Somebody reviews it, and it could be one or more people, and then they accept the pull request that gets merged into the code base, and it becomes part of that software. This is just a normal process in a lot of software development organizations. So, to be honest, in industry, that level of verification actually isn’t followed a lot. I’ve been at development shops where people patch things directly on production and things like that, which is kind of crazy to me, but that’s what they do and they haven’t been burned yet. So I guess it’s okay or whatever.

That’s how open source contribution is. You make a contribution. You do a pull request. The contributor puts it in and then the people that sort of like… other people review it and then it gets merged, and so on. And this is how Bitcoin Core works except the process is a little more strict because we’re talking about people’s money, and you want to be absolutely certain that it’s not going to harm anyone. Kind of like the Hippocratic Oath, first do no harm.

Preston Pysh (00:10:14):
So Jimmy, who determines that it’s a stricter process because it’s decentralized?

Jimmy Song (00:10:19):
Bitcoin Core, basically is a project on GitHub right now, though, I think Wladimir has put it on various Tor services in case they have a big platform, Bitcoin Core. But basically, it’s software, and there’s a lot of core developers. I think over 500 people have contributed to core, including anonymous developers. After you put in a pull request, members of the community review it. And usually, you need multiple members of the community to say this looks good, and it’s not going to do any harm. And if it’s a critical part of the code that might cause some harm then a lot more review is required. And usually, they ask for us to prove that it’s not going to do any harm. Maybe even like some performance metrics or studies and so on just to make absolutely certain.

Jimmy Song (00:11:12):
When Peter Wuille did SegWit many years ago there were a lot… I mean, there were literally like 20 people that reviewed it, and multiple people that made sure that everything worked the way it was supposed to, and so on. That level of caution is definitely good because it makes sure that nothing bad gets in. But at the same time, it’s decentralized because anyone can fork the code at any time. I can copy the entire code base and run my own software with whatever changes I want. Now, if I make a mistake in that code, then it’s entirely my fault. That’s sort of like anyone’s right. So, Luke Dashjr, for example, he’s a core developer. He has his own fork called Bitcoin Knots. And that has some of the enhancements that he wanted to see that core developers didn’t necessarily agree belong there. So, he made his own and you can go run Bitcoin Knots if you want, he makes it available.

Jimmy Song (00:12:09):
That’s part of what makes it decentralized. And Bitcoin Core isn’t the only software that runs “a full node” or validates the entire ledger and so on. There’s also something called BTC.D, D coin. There’s another one written in C by Amir Taaki. I can’t remember its name for some reason. And there’s another one written in Haskell and so on. So there’s a lot of different software that can do essentially the same thing. And they have their own processes and so on. I’m just describing to Bitcoin Core because that’s the one that most people tend to use because it’s based on Satoshi’s original software, and so on.

Preston Pysh (00:12:48):
You had mentioned earlier that Peter Wuille with his update for SegWit, this is the 2017 timeframe. For people that don’t understand what that update was this was really to allow Bitcoin to scale. This update was massive in the 2017 timeframe. How did people… So when you make this update, and you put it out there, how do you get all the full node operators to adopt it? Like the network effect of running the code that already exists versus an update seems to me like it would be such a hard hurdle or such a hard sell for people to update? So talk us through what that’s like, is it hard? Is it easy in some respects? Just kind of give us some inside information on how that process goes down?

Jimmy Song (00:13:35):
One of the things about Bitcoin that’s I think, more or less unique among all of the other all coins and so on is that it’s always backwards compatible, so you don’t have to upgrade if you don’t want to. It’ll run just fine. That was true of SegWit as was every other update more or less. It didn’t require “a hard fork” which would be a backwards incompatible. So because it’s a backwards compatible, no one forces anyone to upgrade. But if you do upgrade, you get all these benefits. For example, you have one of the things that SegWit fixed was transaction malleability. You can now do SegWit transactions using an upgraded node, which don’t allow transaction malleability. And if you don’t have transaction malleability, well, now you can open lightning channels much easier. And that means that you can use it for a lightning, wallet, and so on.

Jimmy Song (00:14:27):
So there are all these benefits. If you want to use them, then you have to go and get upgrade, but you can run software from 2014 if you want to. And it’ll still work on the network. But if you want these new features, it’s sort of like gives you a natural incentive to go do it.

Preston Pysh (00:14:46):
Jimmy, I’m sure you don’t know the exact number off the top of your head. I’m curious how many people are still running some of the older versions? Like so when you look at the latest version that’s out what percentage of the full node operators are running that versus the version before or the version before that?

Jimmy Song (00:15:03):
I think Jameson Lopp has satoshi.info or something like that. You can go look at what clients people are running, and you can query the network. They can lie to you, but there’s no real reason to, and you can find out what client they’re running. And it might be, most of them are running Bitcoin Core. I think something like 90%, or some version of Bitcoin Core, but others are running BTC.D or Bitcoin or some of these other clients. And you can find out exactly the split. That’s something that you can go and find out at any point. Of course, not every node is broadcasting or connectable, or what Luke Dashjr calls reachable. So it’s possible that those statistics aren’t exactly accurate, but at least you can get a good idea of who’s running previous versions.

Jimmy Song (00:15:50):
But generally, what I’ve noticed is that node operators or if you’re running your own node, generally what people will do is they won’t upgrade until, I don’t know, six months after it’s release. And a lot of car buyers are the same way. They won’t buy the newest year model, if they just changed everything. They’ll buy the year after because they’ll fix all of the things that they didn’t think of or whatever. That’s a perfectly legitimate way to go, especially when you’re talking about other people’s money. Different people have different risk profiles. But that’s the beauty of it is that you don’t have to upgrade if you don’t want to, but there are benefits to upgrading so many people do.

Preston Pysh (00:16:28):
So there’s a lot of talk right now about Taproot, and first just describe what this is. This is an upgrade to Bitcoin, tell us… And it’s not a hard fork, but it’s an upgrade. Talk to us about what it is and what benefits it brings to the network.

Jimmy Song (00:16:45):
Yeah, so Taproot is something that Greg Maxwell, I think, proposed a couple of years ago, and it’s got a lot of things. And there’s a lot of different technologies that are clumped in with Taproot. But essentially, it allows you to sort of get a little bit more privacy. Currently, if you are a single key address, it’s pretty obvious that you’re a single key address versus a multi SIG address. What Taproot does is it combines those, so you can’t tell if it’s singlesig or multisig just by looking at the address. It allows a lot more complicated logic that is very useful. So instead of two of three, you could have to have two of three, or four of five, or seven of eight, many more different combinations. And you can essentially have infinitely many conditions to unlock a particular coin. So this can be very useful for security.

Jimmy Song (00:17:44):
You can, for example, have a single key, but should you lose the phone that had the single key you could have as a backup three or four of your friends whom you give slices to or you use their keys or something like that, then they can recover your coins for you, which is absolutely magical, right? That’s a huge win from a security standpoint. There’s also something called Schnorr signatures, which let you essentially do multisig, but in a way that it’s not obvious, and doesn’t take up as much block space. Right now, if you’re doing like a two of three multisig, on the blockchain as part of the transaction that unlocks that two of three multisig, you have to have two different signatures and three different public keys that are in it. And those are fairly expensive. A signature is like 70 something bytes, and a pub key is like 33 bytes. So, if it’s a large multisig like five of seven it adds up and it gets kind of expensive.

Jimmy Song (00:18:47):
What Schnorr allows you to do is to aggregate signatures and aggregate pub keys. So that means that you might have seven pub keys, you can aggregate it down to one, so it ends up being like 32 bytes or something like that. A signature instead of like five times 73 bytes because of the new formatting and stuff like that, it ends up being a single thing of 64 bytes always. So all of those things are absolutely wonderful for saving block space and getting it in cheaper and stuff. But the real thing for me is the next upgrade, which this enables, which is cross input aggregation, which eventually will incentivize coin joins by making it economically advantageous to combine transactions with other people, which I think will be really good for Bitcoin privacy.

Preston Pysh (00:19:42):
So, give us an example of that.

Jimmy Song (00:19:44):
So, for example, what a coin join is, is you take all your inputs of a transaction and all your outputs and combine it with lots of other people’s inputs and lots of other people’s outputs. And that sort of obscures where your coins are going. Right now that if you have like 10 inputs and 10 outputs, well, then you have 10 outputs worth of pub keys and signatures. With Schnorr, you reduce them down to one and one which will be after Taproot. But with cross input, what you can do is you can take all 10 of those input signatures and combine them down to one, all 10 of those input pub keys and combine them down to one. So now you only have one signature and one pub key for 10 inputs. And doesn’t matter if you have 10 inputs or 30 inputs, right? It’s always one signature and one pub key.

Jimmy Song (00:20:35):
So, from a fee perspective, you have less data going in on a per input basis. So that means that it’s going to be cheaper. So as a result, what you end up getting is coin joins, lots of coin joins. It’s economically incentivized, so more people will do it meaning that the anonymity set gets bigger and you get more fungibility, if you will.

Preston Pysh (00:21:00):
So, I’m going to jump to a question I had later on. Michael [Flackman 00:21:03], he had a question about your thoughts on transitioning to a fee based, and that we’re talking years from now. But based on that update that you just described, it seemed like the miners are going to have less incentive to capture some of the fee. Like that would be some of the offset of what you just described?

Jimmy Song (00:21:20):
Well, I mean, they’re not going to capture as much of the fee because essentially you’ll be able to fit more transactions in a block. But yeah, I mean, transaction demand is continually increasing, and I think that’s just going to be the case as Bitcoin gets more popular. His question, though, is about how will this transition happen? Because right now, miners are getting the miner reward, which is 6.25 Bitcoins, and Bitcoin fees, which I think is around one Bitcoin, if I’m not mistaken. Two more havings from that I think that the fees are going to actually be greater than the reward. At that point, the fees are the majority of miner revenue, and the halving after that it’ll be over 75%, and so on.

Jimmy Song (00:22:09):
So I suspect that that will continue to be the case. And that will sort of change the economics quite a bit. And where miners will be very hyper vigilant about fees and making sure that they take the best transactions that pay the most, and optimizing for that rather than finding the block which many miners do. They’ll find an empty block to just get that reward sometimes because it’s optimal for them. But that will no longer be the optimum at a certain point when fees are the majority.

Preston Pysh (00:22:43):
Going back to the Taproot to just cover this just a little bit more. So how many years was this in development by the person that’s developing it or the people?

Jimmy Song (00:22:53):
So it’s been in development for a few years now. It’s had a lot of different people contribute to it. I think Peter might have written the actual code at the end that’s being merged, but AJ Towns and lots of other developers. I would say easily 10 developers have worked on this. There’s been a lot of another 20 or so that have reviewed it. There was a Bitcoin Core review club where they just went over all of the different aspects of Taproot and went over the code and had basically reviewed it as a group, and so on.

So, it’s been going on for a couple of years. This past year, I think, was a lot of review. They found some things that they wanted to change. So it had to be resubmitted. I believe the code has been merged into the latest release, but it’s not activated yet. And right now, the point of contention is how do we activate it? Because the last activation system that we used in 2017 didn’t go so well. So, I think that-

Preston Pysh (00:24:03):
Are you talkinG Jeff Garzik thing?

Jimmy Song (00:24:06):
The activation thing, that mechanism in 2017 was something called Bit9, and essentially what Bit9 does is it waits for miners to say that they’re ready, 95% of mining hash power to say they’re ready before it actually activates. It was meant to be sort of like a courtesy to the miners. Like, “Okay, you guys need to update this. And then when you’re ready, we’ll trigger it.” They saw it sort of as like their ability to veto this change. A lot of people in the community didn’t like that. This led to a lot of words back and forth, and then Barry Silbert came up with the SegWit 2X agreement, which none of the users were invited to, and none of the developers. It was just a bunch of companies. Of course, there was a lot of strife and arguing back and forth.

Jimmy Song (00:24:58):
Ultimately, the users won because they said, “All right, you know what, you guys can do whatever you want, but we’re going our own way. We’re going to have something called the user activated software, and we’re going to activate SegWit no matter what do you want to do.” And that won. That made the miners capitulate.

Preston Pysh (00:25:15):
This is a really, really important part for the history of Bitcoin that people are hearing right now. Because in this situation, this all happened in the summer of 2017 that he’s talking about. What really at the end of this the so what, at least in my opinion, I want to hear your so what. My so what was miners can have this opinion, but at the end of the day, the users, the people that are running full nodes, the person who can set up a full node in their house and say, “This is the software that works best for the majority of participants in this network.” They have the voting rights. It’s almost like a corporate governance thing. And in that example, that was very contentious like you’re describing, we all learned that the users, everybody who’s part of this network. I’ll just say the small people like myself had the power to really govern where the network was going. And you agree with that?

Jimmy Song (00:26:09):
Yeah. That was a significant moment in Bitcoin’s history. And for me, it proved that the corporations weren’t in charge. This is just so rare in-

Preston Pysh (00:26:24):
In anything.

Jimmy Song (00:26:24):
… in anything because whenever corporations and government get together they get whatever they want-

Preston Pysh (00:26:30):
That’s right.

Jimmy Song (00:26:31):
… anywhere. This is the one instance where all these corporations came together, and they failed, and the users won. It was just sort of like, “We could win? This is actually possible?”

Preston Pysh (00:26:43):
When in history has happened? Yes.

Jimmy Song (00:26:46):
It was significant because like you said, you’re a master of your own node. If you run the code, they can’t make you change it. And that’s essentially what these corporations were trying to do is say, “You have to run the code that we tell you,” and the user said, “Nah. No, thanks.” They managed to get everybody else to capitulate, and SegWit2x never happened although Bitcoin Cash did happen, and that was an interesting experiment as well because we didn’t know if a hard fork would survive and it did. And it still survives to this day although it has very little of the value. I think it is like one and a half percent of the value of Bitcoin or something like that. It taught us a lot of lessons, and it showed us essentially that Bitcoin is anti-fragile in many ways.

Preston Pysh (00:27:36):
Yes, very much so. Hey, so this kind of topic is interesting because when I hear complaints or you hear the FUD on Twitter, one of the things that comes up a lot of the times is this idea of hashing power being consolidated into a specific region. And the one that is most often brought up is China. And I think that what we were just talking about is this vote of a full node operator and the corporate governance is the terminology I’m using for that node operator having a vote. I think you get into a really interesting discussion when you combine that with this idea of concentrated hashing power. So, I’m curious to hear some of your thoughts on that idea.

Jimmy Song (00:28:19):
A lot of that hashing power is in China right now. And the reason is actually much more practical than you would think. Essentially, a lot of chip manufacturing is in that region. A lot of heat sinks, and parts, transistors and all that stuff, it’s all manufactured over there. So it’s not a surprise that a lot of the people that can take advantage of that are Chinese. In addition, they also have a lot of really cheap electricity. In large part because the Chinese government has subsidized the construction of these very large hydroelectric dams, and basically in the middle of nowhere. Because if you’re building a dam, you don’t want a near population center because if something happens to dam then the population center is screwed.

Jimmy Song (00:29:04):
So these are often in the middle of nowhere. And as a result of that because of electricity transmission costs, what you end up having is these dams that can generate a lot of electricity, but it’s not worth transmitting them to the nearest city beyond the certain amount because it costs too much. So the uniqueness of Bitcoin mining is that the mining equipment can actually be moved, it’s portable, and you can put it wherever there is electricity. And a lot of these Chinese miners, they have access to the equipment. They were able to go to these hydroelectric dams during rainy season when electricity is especially cheap, and get a lot of that excess capacity and use it for mining and so on.

Jimmy Song (00:29:51):
After a rainy season, they might go elsewhere and so on. But that’s sort of been why mining has been concentrated in China. But the latest reports that I’m seeing is that less than 50% of all hashing power is now in China. There are countries that you wouldn’t expect that have a significant amount of hashing power right now, including countries like Iran, which apparently currently has somewhere around 8% of all hashing power, which I think is more than Canada, which is kind of crazy. There are other places like Russia and Kazakhstan and Sweden and Iceland that have access to really cheap electricity that ended up going towards those as well.

Jimmy Song (00:30:30):
Now, as far as sort of the decentralization aspect of this hashing power. If China went offline tomorrow. If the Chinese government said that it is illegal to mine in our country, and just completely raided all of these mining facilities and shut them down, what would happen? Well, you’d still have the other 50% of hashing power. And that means that blocks would be slower, fees would be higher, but the Bitcoin network would still chug on. And in fact, this was one of the arguments during SegWit2x was even if the miners held 80% of the hashing power, which we thought was on the high end of all the miners that would cooperate with SegWit2x, Bitcoin would still have 20% of the hashing power. So, you get 50-minute blocks, hour blocks, something like that. It would still keep chugging along. And because Bitcoin has difficulty adjusting every 2,016 blocks, after 2,016 blocks passed, then it goes back more or less towards 10 minutes.

Jimmy Song (00:31:33):
Now, it’s possible that the miners collude to try to attack the network. And there was a lot of discussions around that. But that ends up not being that much of a threat just given what we’ve learned about different forks. For example, Bitcoin Cash right now has like 1.5% of the hashing rate of Bitcoin, and any large miner could easily attack Bitcoin Cash, but they don’t. In part because they don’t matter. In a sense, if you’ve already won, then you don’t really care. And the thing is, the economic game theory is such that whatever has the more economic value, that’s where miners will be incentivized to go. You’d be mining at a loss and have a tremendous opportunity cost if you mined on a worse chain.

Jimmy Song (00:32:19):
So even if Bitcoin at that point had 20% of the hashing rate, the other 80% would be mining at a loss. And they would either go bankrupt or have to switch. So, in a sense the miners, this is one of the things that we recognize after game theorying out everything is that the miners work for the network. It’s not that the network works for the miners. And that was one of the big key things that we learned out of that whole year was that wherever the miners are, economically, they are incentivized to go with the strongest network, the network that the users want. And that’s why users are ultimately sovereign over the entire network.

Preston Pysh (00:33:04):
So let’s just pull the thread on a scenario that doesn’t make any sense. But if you got a sovereign nation that really wanted to go after this thing, and let’s just say, let’s just say that in China there’s 55% of the hashing there, even though we know that these aren’t the numbers. Let’s say the sovereign nation steps in and says, “We want to attack this network. We want to take it down.” They get all their miners to come online, and they try to attack it. What is the attack? When we talk about a 51% attack, describe what it is and describe in detail what it is that they’re able to actually attack. And then talk about as we would march 15 days into the future after the attack happened, how it has to be sustained, and all those types of factors. Walk us through this attack.

Jimmy Song (00:33:52):
Here’s what a 51% attack is. Every 10 minutes, you essentially get a new page in the ledger. We call this a block, right? It’s a list of transactions that’s in the ledger, that goes into the ledger, that every node in the world validates as consistent with the rest of the ledger, and so on. But sometimes, once in a while, though, you’ll get two candidates for the next page, and they might have some differences. And in that case, every node is supposed to figure out, wait until one of them has an additional page built on top of it. And whichever is longer, that’s what they keep. So at any time, if you see a longer chain than the one that you currently have, then you’re supposed to take the longer chain with more proof of work.

Jimmy Song (00:34:34):
That’s at the heart of what a 51% attack is, is it rearranges the ledger in some way. So a very simple 51% attack would be you first send 100 Bitcoins to an exchange as part of of that block. Say that they don’t wait for more than one confirmation, in which case, you get credited right away. Somehow you’re able to withdraw I guess 100 Bitcoins is like times 35,000, I guess three and a half million dollars or something like that.

Preston Pysh (00:35:12):
Yes.

Jimmy Song (00:35:13):
You’re able to withdraw three and a half million dollars, and then using the hash power you have on hand you create two blocks before the rest of the network finds one. And instead of the 100 Bitcoins going to the exchange, you send 100 Bitcoins back to yourself, in which case that transaction is no longer valid, and you have 100 Bitcoins, and three and a half million dollars. That would be a way to attack it.

Preston Pysh (00:35:42):
But you’re only talking about one transaction in that block.

Jimmy Song (00:35:46):
Correct.

Preston Pysh (00:35:46):
You’re not talking about rearranging all the transactions in that block, correct?

Jimmy Song (00:35:50):
That’s correct. So essentially, what a 51% attack is, is it allows you to do what’s called a double spend. It lets you spend 100 Bitcoins twice, once to the exchange, and once to yourself. So you get to have your cake and eat it too, essentially. You can eat it by converting it to three and a half million dollars. Now, there’s a lot of risks in that scenario. First of all the exchange might sue you. If you tried to do that, well, they know where they sent the money through the Fiat system. So, they’re going to go and find out from the bank and see if they can recover the bank that way, or slap a lawsuit on the bank, and I know of no exchange that gives you a suitcase full of cash, so that’s not going to happen.

Jimmy Song (00:36:38):
And second, you don’t know that you’re able to get more blocks than the other part. It’s all probabilistic. You don’t actually know that you have 55% of the network. Now you might, but it’s not probabilistic. The other chain might find it faster than you just because let’s say 60/40. Well, 40% of the time, they’re actually going to find the block before you so you don’t know. And essentially, you have to be longer before you can broadcast that. So, there’s a lot of tricky things there.

Preston Pysh (00:37:14):
Well, don’t you have to keep up? You have to keep becoming the longer chain and outpacing everybody else block after block. How far out under an attack like this would you have to keep finding the very next block faster than everybody else for everyone else to start building on the chain that you had built?

Jimmy Song (00:37:35):
Yeah. The way that nodes work is basically if I’m a node and I see one chain with one block, and another chain with two blocks then I have to take the two. That’s how the logic in the code works. But here’s a weird social aspect of it. Say you have three blocks and then suddenly something with four blocks comes along. You’re supposed to take the four, but pretty much everyone is going to be alerted that you had a three-block reorg, which is going to ring alarm bells everywhere, including exchanges, where they’re going to be like, “Okay, we accepted this deposit. Now we’re going to have to do something.” And every exchange has, or at least any good exchange should have some protocol for what they do if you have a four block reorg or something like that, especially if you take three confirmations because it might be an attack against you.

Jimmy Song (00:38:26):
That means that at that point, we don’t really know what’s going to happen. It really hasn’t happened. But one of the things that you can do as a node operator, remember you’re a master of your own node. If you’re a node operator, and you’re running your own full node, one of the things you can say is, “Reject the four, I’m going to go with the three.” And you can say, “Disconnect block.” It’s a simple command, you type it in, and it says, “Well, I’m going to go with the one that was there before instead of this for blockchain that just suddenly came online in the last five minutes,” in which case it might not succeed. So there are so many ways in which this thing could go wrong for this sovereign nation state. And one of the things that I remember that Andreas Antonopoulos said, “Okay, so they produce all this equipment, they run this thing, and they do it for one double spend,” then he starts slow clapping.

Preston Pysh (00:39:22):
Yeah. I mean, it’s crazy talk. I’m curious for a lot of these exchanges, how many blocks do they need to call it officially cleared, and they’ll let you start transacting with it again?

Jimmy Song (00:39:37):
For Bitcoin, it’s usually three. Maybe if they’re a particularly strict exchange, they might require five or six. But I mean, even three blocks is a lot of hashing power. And that’s a lot of energy that you have to expend in order to do that. And then for this “sovereign nation state” that’s three blocks of mining reward at least. So that’s what 6.25 times three, 18.75. I mean, you’re looking at close to a million dollars. I mean, not quite, but I think it’s like $700,000 or something that. That’s a lot of money just to do that.

Preston Pysh (00:40:17):
And you’re only reversing one transaction.

Jimmy Song (00:40:19):
Yeah, I mean, I guess you could do multiple exchanges at the same time or something, if you’re particularly committed to it, but that’s $700,000 just in energy costs. There are also capital costs of all the mining equipment. And there’s, of course, sort of like social coordination to make sure that you have some arguments so people don’t just disconnect your chain. I mean, there are just so many aspects to it that an attack like that is at least in my mind not realistic.

Preston Pysh (00:40:51):
Really improbable. Yeah, really improbable.

Jimmy Song (00:40:53):
Socially, I don’t think anyone would accept it, and they would clearly see this as an attack and just cut it off. You could try. I mean, you could have a nation state do 100 block reorg. There’s no way in hell anyone is going to accept that because they’re going to say, “Okay, these 100 blocks appeared out of nowhere, I’m just going to disconnect it.” That’s it. Now, with other chains, this is a little different. The game theory is a little different. And there’s a reason why if you’re trying to deposit Bitcoin SV into Bitfinex that they don’t accept anything until 50 blocks have gone.

Preston Pysh (00:41:27):
Wow.

Jimmy Song (00:41:28):
Because there’s a lot of ways in which the exchange can get screwed. So that’s just sort of the game theory of it all.

Preston Pysh (00:41:37):
So, Jimmy, Stock-to-Flow is suggesting we’re going from probably 10X from here. If true, the 700,000 becomes seven million for three blocks just within a year from now.

Jimmy Song (00:41:49):
Just in energy costs, yeah.

Preston Pysh (00:41:50):
Just in energy cost alone not even getting into what you were describing earlier, which is that people just unplug. When does this question that I just asked you go away?

Jimmy Song (00:42:00):
I mean, I think it’ll always sort of exist in the popular mind in a way. But the longer it doesn’t happen the more people are able to dismiss it. It’s one of those things that will always be kind of a question in their mind. I mean, I hear questions about like quantum computing. It’s like one of my pet peeves.

Preston Pysh (00:42:22):
Well, let’s go there. Let’s go there. I want to hear.

Jimmy Song (00:42:25):
Well, the thing is very few people actually know the details of quantum computing. And they have these popular misconceptions that somehow quantum computing can do exponential calculations in linear time or something like that. That’s not the case at all. And if you know anything about quantum computing, you recognize that the engineering challenges are so difficult that you need three or four breakthroughs that are the equivalent of essentially doing cold fusion before you’re anywhere near being able to do something like that. And we still don’t have cold fusion. So, there you go.

Preston Pysh (00:43:00):
Do you really see the engineering challenges as being equivalent or at parody with cold fusion type things?

Jimmy Song (00:43:07):
Even setting up a Qubit is incredibly difficult. It’s literally atoms at nano degrees above absolute zero, and you have to keep them in this weird quantum state for a significant amount of time. And you have to error correct for the fact that these atoms have half-lives and things like that. [crosstalk 00:43:26]. And then you have to keep it in some sort of like that quantum state until you observe the thing that you want to observe. So if anything leaks and that shows prematurely then you’re not going to be able to observe the thing that you need to observe. There are so many little things like that from an engineering standpoint that, I mean, obviously, it’s captured the imagination of DC. So, of course, they’re going to write articles about it or whatever.

Jimmy Song (00:43:54):
But from an engineering standpoint, it is extremely difficult, and I don’t think people really appreciate how difficult it is. And when I hear people talk about it as if it’s inevitable, it’s like it is anything but. Kind of like cold fusion, right? People thought it was inevitable in the ’80s because there were all these popular articles about it. I still remember Back to the Future II. It’s like there’s little Mr. Fusion. It’s like cold, it’s just going to happen. Talk to any physicist and they’re like, “There’s no way. It’s not going to happen in my lifetime.” That’s how it is.

Preston Pysh (00:44:29):
I think what you get though is you have people that read a couple articles. They see Google is now they’ve got their own quantum computing, right? This is where everyone goes. And they say, “Well, if Google’s got this computer, and it’s got this many Qubits of processing, it is real, Jimmy. This is happening. No, it’s only a couple years out. So what do you say to that person?

Jimmy Song (00:44:52):
Then go tell me what the Google paper actually said because what they did was actually not that impressive. Essentially, they define quantum supremacy as the ability to come up with a random number. Oh, gee, a quantum computer. Anything quantum related always spits out random stuff. So, of course, it’s going to be better at it than a conventional computer which is deterministic. Acting like that’s some incredible breakthrough is just really disingenuous, and more marketing than anything.

Preston Pysh (00:45:21):
Yeah, it’s marketing.

Jimmy Song (00:45:23):
And this is something about any sort of like… I just want to go on a rant here for just a little bit. This is one of my pet peeves about all these corporate R&D departments is that almost all always you have somebody in charge of that R&D department that needs to justify why that lab exists, and why their job is important. So they love press releases, and they will deceive the hell out of any reporter and make their achievements sound like it’s way more than it is. It’s not just Google. It’s every company that’s ever done anything blockchain-related. It’s like, “Oh, we did this, this and this. And it’s so incredible. And it’s going to change everything.” Yeah, they’re just justifying their jobs.

Preston Pysh (00:46:06):
Well, then you combine it with the fact that the people on the other end that are reading it, they are very excited to bring up in casual conversation that they’re talking about quantum computing.

Jimmy Song (00:46:19):
It’s kind of like, yeah, it ends up being something that they can use to sound smart. And the unfortunate reality is that… I don’t know, quantum computing to me has jumped the shark maybe 10 years ago. It was something that was exciting. We didn’t know that much about it. But then you learn more about the engineering challenges related to that, and you go, “Okay, there’s no way this is going to happen anytime soon.” And even if it did, there are mitigations anyway, so people place just way too much importance on stuff that the press tells you about.

I mean, we’re all over consuming media. So there’s a tendency to get manipulated by the media in ways that we don’t really recognize, and this is one of them is from a science perspective there’s the illusion of making more progress than there actually is. There’s actually very little progress and a lot of areas. It’s just a lot of people that need to justify their salary, so they make it sound like they are.

Preston Pysh (00:47:25):
I want to capture some of your thoughts on some of the other things that are happening in the space mostly because I get a lot of complaints in my feed. I’m sure you get a lot of complaints in your feed. People saying, “Preston, I’m making just… I’m making more money in Ethereum, and this and that, and you’re totally missing the boat.” My background, my undergrad was in engineering. And so, that’s immediately where I gravitate way before the finance to be quite honest with you. I’m curious how you view Ethereum, and then I would also like to get into a little bit of Uniswap, some of the stuff that’s happening there. But let’s talk Ethereum first, and just from a very high level standpoint what are your concerns, and what are some of the things that just kind of raise the flag for you?

Jimmy Song (00:48:13):
Short story before we get into all of that. So, in 2013, I was working on something called color coins on Bitcoin. And this is what you might call photo Ethereum ICO stuff. And it was on the Bitcoin protocol, you could buy coins that are “colored” so you can trade them as assets that are other than Bitcoin, something like that. So that was where… That was sort of my first experience doing open source development on Bitcoin related projects. And one of the people that we had actually writing the white paper for color coins was Vitalik Buterin, and he actually wrote the white paper. It wasn’t what we had written.

Jimmy Song (00:48:56):
So there was a little bit of back and forth, and he said, “You know what, I’m not going to change the white paper to say what you wanted it to say.” It’s like, but that’s what it is technically. And he’s like, “I’m not going to do it.” And it’s like, “Okay.” He’s like, “I think I’m going to go make my own coin anyway.” So that coin, of course, ended up being Ethereum, and that he launched maybe three months later with yellow paper and a white paper. And he did the crowd fundraising in early 2014, and so on. Now, at the time, this was my assessment of Ethereum just given sort of the ambitions that he had for it. First, he wanted Turing complete scripting language.

Preston Pysh (00:49:38):
Why? Because when I look at what Adam Back’s doing with Simplicity, isn’t it the polar opposite of that?

Jimmy Song (00:49:46):
It is, and he wanted Turing completeness. He thought that was a weakness of the Bitcoin smart contract language script, but Satoshi specifically made it not Turing complete because you could DDoS all nodes with an infinite loop. And as soon as you have Turing completeness, you just have… You just put out an infinite loop out there, and this is why Ethereum has such complicated mechanics like the idea of gas. It’s so that you can have infinite loops. Every time you run through a loop you use up some gas, and if you run out of gas too bad. This is why if your transaction doesn’t go through on Ethereum you lose your fees anyway. This is one of the subtle gotchas. The thing is Vitalik has this reputation as some sort of prodigy or whatever.

Preston Pysh (00:50:36):
You didn’t see it.

Jimmy Song (00:50:37):
Yeah, I mean, I’m just a coder, right? I’ve been coding since I was nine, but professionally for 23 years or something like that. And I gotta say, I’ve looked at his code. And the thing is he started as a 19 year old getting into Bitcoin. And then he did Ethereum and all that, and everyone has this incentive to make him out to be this child prodigy genius, or whatever. Thing is what I see is a kid that doesn’t really know how to code well as a programmer, right?

Preston Pysh (00:51:14):
You just have no experience at that age.

Jimmy Song (00:51:16):
Yeah, exactly.

Preston Pysh (00:51:17):
You don’t have 20, 30 years of experience. So, how could you?

Jimmy Song (00:51:21):
Yeah, and I look at Ethereum, and I see all these flaws. Initially, like Ethereum addresses, simple example. But Bitcoin addresses they’re base 58, at least on Tibet 32. If you’re using native SegWit then that’s something else. But Bitcoin addresses are base 58. The last five or six characters are what you call the checksum. So, it makes sure that if you wrote it down wrong, or you pasted it something wrong in that address, any wallet can easily detect it and say, “You know what, this is you pasted it wrong, or maybe did something wrong. Can you check again, and make sure you get the right address? That’s just good practice. If you didn’t have just the checksum, and you wrote the wrong thing then it’ll go somewhere else and you’ll lose those coins, and the person won’t receive them. So, that’s just good engineering. That’s what you would call something, you make it hard for the user to do the wrong.

Jimmy Song (00:52:26):
Ethereum, they had this brilliant idea, we’re going to ditch base 58, and we’re going to use hexadecimal and all our addresses are going to start with zero x. They took out the checksum. So what happens? Lots of people put the wrong address in and they just burn their Ethereum. So they obviously recognized their mistake, but there are all sorts of things like that throughout the entire thing. [crosstalk 00:52:52]. Vitalik to me is sort of like that, and I’ve seen this. I’ve managed college kids that came out, and work for me in different capacities or whatever. And the typical sort of mentality of somebody that comes out of college, maybe they study software engineering in college is they just want to use something cool and do something new or whatever.

Jimmy Song (00:53:16):
Vitalik almost exactly fits that profile to a tee, right? His mentality is, if it’s not built yet, I want to make my own because I think I can make it better. He kind of has that. And the result is usually that’s something that’s a complete mess. And this is in stark contrast to Satoshi’s choices. Almost all of Satoshi’s choices in creating the Bitcoin protocol is take some standard that already existed instead of trying to roll your own crypto, which unfortunately is what Vitalik seems to have done with everything Ethereum related. And this is why Solidity is such a mess, and it has so many security flaws. And it’s very difficult to analyze, and you don’t know what’s going on, and you’re not sure how long it will run. It’s just a giant mess.

Preston Pysh (00:54:06):
At the heart of it for me is going back to a conversation that you and I had earlier, which is about this governance. This full node operator that any person in the world can go out and do inside their house. And more importantly, 10, 15, 20 years from now, they’re still going to be able to do it from their house. When I think about Ethereum is that even possible for a full node? I mean, today, not even talking 10 or 15 or 20 years from now running a full node in order to say, “Hey, this is my vote on the direction I think the protocol needs to go.” You’re just nowhere near that with Ethereum.

Jimmy Song (00:54:46):
You don’t have a vote whatsoever.

Preston Pysh (00:54:48):
You don’t have a vote.

Jimmy Song (00:54:49):
The thing about Ethereum is that they hard fork every six months or whenever they need to because [crosstalk 00:54:55], and their hard fork is essentially backwards incompatible. This is sort of built in so that the Ethereum Foundation and the Ethereum developers will have all the power perpetually, forever. This was I think one of the early things that happened to Ethereum was the “DAO hack.” It wasn’t so much a hack as it was more like good smart contract war. But essentially what had happened was you had this thing called the DAO which was supposed to be a Decentralized Autonomous Organization where the crowd would decide where the fund would invest.

So, it was sort of like a crowdfunded VC fund or something like that, and that was the idea behind it. But of course, the contracts were written wrong, and somebody figured out how to drain it of all its money. And basically they did. And then they decided, “Oh, you know what,” I think at the time, one sixth of all Ethereum was in the DAO contract. So they decided, “Okay, it’s getting drained of all this money. We’re going to roll that back.”

Preston Pysh (00:55:56):
When you say they, you’re saying the Ethereum Foundation.

Jimmy Song (00:55:59):
Yeah, essentially, it was Vitalik.I still remember to this day what Vitalik said the week before he made that decision. Or not Vitalik, but other people in the Ethereum community were saying before the decision. There was a guy that was literally on YouTube saying, “I would understand if Vitalik decided that code is law, and that he would let this go. I would also understand if he decided to roll it back,” which tells me there was no principle here. It was just, let’s just follow our dear leader into whatever he wants to do.

And of course, a week later, he decided, “Okay, we’re going to roll all those transactions back, and that caused what was at that time known as that Ethereum-Ethereum Classic split. The Ethereum Classic node operators were basically saying, “You know what, we think code is law, and we’re going to keep going with it.” Barry Silbert bought into that soon afterwards, and he’s I think pretty much the only one that pumps it at this point.

Jimmy Song (00:56:56):
That proved that Vitalik controls the entire Ethereum ledger. He said, all of these spends to that contract, we’re going to just roll them back. We’re going to pretend they didn’t happen. I mean, this is nothing different than a government bailout of an industry. That’s essentially what Ethereum did. There’s no reason to think that he wouldn’t do it again, if it was sufficiently harmful to Ethereum not do so.

Preston Pysh (00:57:25):
And just for the record, if somebody will… I think we just had the example. I’ve been seeing the article the last two days or whatever. This person who lost their private keys on their computer, and I think it’s $100 million or more, or something like that. It’s not like any one person can roll that back no matter what with Bitcoin. It’s impossible.

Jimmy Song (00:57:48):
It is. It is impossible because it’s a bearer instrument. And somebody told me that the last 50 years of US policy has been getting rid of bearer instruments and Bitcoin is kind of bringing them back. Yeah, the reason why they’ve been taking it away is because then they can have their hands in the middle of it. And they can be the intermediary that can control you financially. With Bitcoin, you get that back with Ethereum, you don’t have that at all because you have this intermediary, a central party that can do whatever the heck they want. But with Bitcoin, you lose your keys, it’s losing the 400 ounce gold bar that you had in your safe or buried in your backyard and forgot where it is, you’re not getting it back.

Jimmy Song (00:58:32):
It’s both sort of a thrilling prospect because you’re your own bank, but it’s also a scary prospect because you’re your own bank because people are not used to taking custody of their own stuff, or having that much responsibility. We’re used to outsourcing it to trusted third parties, which, in a sense, I can kind of understand it makes it more difficult for certain types of attacks, but it makes you way more vulnerable to another type of attack, which is that the government can take it away. That’s horrible.

Preston Pysh (00:59:04):
Yeah, shut down or manipulate it or whatever. All right, real fast. Talk to us about what Uniswap is, and then talk to us about your thoughts on just decentralized lending, and things like that moving forward with Bitcoin, specifically.

Jimmy Song (00:59:22):
Uniswap is what they call a DeFi platform and-

Preston Pysh (00:59:28):
Decentralized finance.

Jimmy Song (00:59:30):
Yeah, which I think is a misnomer because it’s anything but decentralized. Because you have the Uniswap token issuers and the Uniswap contract writers, and they have back doors, and all this other stuff, and who knows. But basically, it’s a platform for some sort of lending or whatever, and you have different assets on there. For some reason, they’re named after lots of different foods. But essentially, you have different ways in which you can collateralize your Bitcoin or Ethereum or whatever. You have to wrap it in an Ethereum contract and of course that Bitcoin is held by BitGo, but it’s wrapped so you have some guarantees. It’s the worst thing to call it decentralized because it’s centralized at six different points. It’s not decentralized at all.

Jimmy Song (01:00:20):
It’s more like anonymous finance or something like that, or pseudonymous finance, because you just put up the collateral and you get the loan and you can, I don’t know, maybe go buy more of Ethereum or more of whatever and that’s how most people use it is some way to leverage it. And as a result you have this platform for doing some, playing financial games that Wall Street has been playing for many years on Ethereum. And, of course, most of these games are zero sum. So really, you’re just taking sucker’s money if you’re good at it, or you’re the sucker.

Preston Pysh (01:00:58):
I’m looking at [inaudible 01:00:59] because the whole yield farming, I mean, it’s just a total scam, right? My thing that I’m looking at it more from is the technology of using an exchange, basically decentralizing an exchange. And even though this particular example with Uniswap, and you’re saying that it’s centralized, I agree with you. Is there a way to do this in a way that would be decentralized in the future? Let’s say we’re five, 10 years from now, is this something that the engineering can actually catch up to? And is this something that could actually be applied to the Bitcoin blockchain protocol?

Jimmy Song (01:01:36):
Here’s the difficult thing, and this is what you always end up at when you talk about smart contracts is something called the Oracle problem. And the Oracle problem is that almost anything interesting requires some information from the real world. Whether or not a house changed hands or that it legally… Something happened in the real world, the score of a baseball game or something, whatever it is.

Preston Pysh (01:02:00):
So this would be a good one, the weather. Everyone wants to do futures contracts based on the way that the weather was reported, right?

Jimmy Song (01:02:08):
Mm-hmm (affirmative).

Preston Pysh (01:02:08):
And so, if it was between 50 [crosstalk 01:02:12]-

Jimmy Song (01:02:11):
You need an Oracle. You need somebody to add that data to the smart contract. Now, there are many ways to do that. But all of them are essentially centralized on that Oracle because the Oracle needs to report truthfully, and you have no guarantees that they will. I mean, you can try to say, “Okay, well, then use 10 Oracles and the majority, we’ll listen to the majority.” Well, there’s no guarantees that there are, first of all, 10 different entities. And second of all, that they won’t collude with each other. You have no idea. So you get into these weird situations with all of this where you still have to trust the third party. And when you’re asking for something decentralized, what you’re asking for is no trusted third party. That is essentially what you’re asking. And from a metaphysical standpoint, it’s not even at the layer of engineering, you can’t get away from that.

Jimmy Song (01:03:03):
If it has anything to do with the real world in any way, shape, or form it cannot even in principle be a decentralized thing because of the external data that you need. Now, within an ecosystem, so even like price based contracts or something like that on Bitcoin, right? You still need somebody to say that Bitcoin exchange for this many dollars on this day on this exchange. That’s data that needs to come in from the outside. So I have a hard time… Unless it’s purely digital and it’s like, okay, blocks will be found within or difficulty will be this. And the next difficulty adjustment are something that’s within the Bitcoin ecosystem that you can sort of measure without trusting a third party to report data from outside the blockchain. It’s in principle impossible because it requires some trust on something.

Preston Pysh (01:03:59):
When I think about my experience in financial markets over the last 20 years, there’s never been a situation where I’ve said to myself, I wish this exchange was decentralized. I wish that these stock certificates that I’m buying or this derivatives exchange that I’m using the buy call options was decentralized. Never. I’ve never had a need for that. Sure, the fees could be lower. But I mean, look at Robin Hood right now, there’s no fees for any of it. Now, they’re selling the data to make some money. But at the end of the day, I just don’t have when you go to the fundamental route, what is the problem that we’re solving for society? Where’s the value capture that we’re adding that the customer isn’t getting right now? I just don’t see what problem you’re solving. When I look at Bitcoin.

Preston Pysh (01:04:49):
My issue that Bitcoin solves is like you and I talked about last week when we were talking about the whole valuation process. You can’t conduct a valuation on something if the unit you’re using, you’re getting the base that’s 15 or 20% annually. You’re using ruler that’s a Gumby ruler that’s changing by the day. And so, I guess when I look at the heart of what it is Ethereum, Uniswap like we’re just talking about, I just can’t wrap my head around what the problem is that they’re solving. It just seems like they’ve discovered all this neat tech. They’ve discovered this massive influx of capital that people are just willingly throwing at it because it’s effectively coming from the problem that I was just describing that Bitcoin is solving.

Preston Pysh (01:05:36):
And so, I think you have this really interesting scenario where you got a lot of engineers who might not be looking at the big picture of what is the problem that we’re solving. But they’re able to play with a bunch of levers and a bunch of gears and a bunch of code. And they’re having fun, right? It goes back to your description of his personality. And that’s totally reflective in how I see what he’s doing, and what the code is actually doing from a performance standpoint.

Jimmy Song (01:06:05):
Yeah, I would say that’s a very accurate description. Essentially, when you have new grads that want to play with new technology, or whatever they kind of get lost. And when they come back with whatever project you gave them, and they come back with this thing, it barely works, it’s not performant. You’re just like, “Okay, go do it again, and use the tech stack that I told you.” They learn that way. With something like Ethereum, Uniswap, all that they don’t have that feedback loop because they get a new injection of money by printing their own money. They’ll create a new token for some reason. And then they sell it to investors or whatever, so they get this new influx of cash. So they can play this game forever, or for as long as that money last.

Jimmy Song (01:06:55):
The unfortunate reality is that there’s a lot of that money and it’s not going away. We can go back to exactly where that money comes from. But they have influx of new cash coming in from retail or VCs or whoever that want them to keep creating these like Rube Goldberg machines that aren’t really doing anything. They’re essentially… The one need that I do think that they are filling is a need to gamble. A lot of people, and we can talk about exactly why that is in this sort of economy. But there’s a lot of people that want to gamble on stuff. This looks like it’s a decent gamble, they might not understand it. But they’re fine buying lots of different lottery tickets and seeing how many of them pay off. That’s the only actual human need that seems to be fulfilled. Nothing actually in the market that people want.

Preston Pysh (01:07:47):
You couldn’t explain it any better than a bunch of lottery tickets. Really, I mean, at the end of the day, I think most people approach this and they say, “This is really complex stuff. This is really hard to understand. There’s no way I can understand it all. And therefore what I’m going to do is I’m just going to typical Wall Street portfolio style, I’m going to invest in 10 different things. I’m going to throw a little money over here, a little over there.” I mean, when you have… I mean, we’re almost at a trillion dollars, Jimmy. This is getting wild. We’re almost at a trillion dollars in the space collectively. And when you look at the growth rate of it, it’s going parabolic. And so that money is just getting thrown at everything. People are just throwing it at the wall because they don’t want to do the hard homework to try to understand the countless technological rabbit holes that are out there.

Jimmy Song (01:08:39):
Like sort of psychologically, you know how if people win at a casino, they don’t really feel like they deserved it on the inside. So, they’ll just sort of spend it very freely on stuff that they would never spend their own money on. I think it’s kind of like that with a lot of people that have received money from some sort of government subsidy or whatever. They are spending it on stuff that very frivolously on things that they’d never otherwise would spend on.

Preston Pysh (01:09:07):
Yeah, it’s never earned.

Jimmy Song (01:09:08):
Yeah, and it’s going towards projects like this that absolutely do not deserve it. That has no value prop. It’s just sort of like gambling vehicles. I’m thinking now that maybe like all coins are a symptom of sort of Fiat disease. It’s one of the ways in which it manifests itself is that people will just sort of gamble and spray and pray or whatever. That’s sort of the style that people tend towards when they don’t know what to do. So yeah, that seems to be the case.

Preston Pysh (01:09:40):
That’s why there’s five Louis Vuitton’s inside of Caesars.

Jimmy Song (01:09:45):
That’s right. That’s right. Because at least you could come away with a nice bag.

Preston Pysh (01:09:51):
Because if you didn’t see the first one, the one that’s four stores down you might see.

Jimmy Song (01:09:55):
Yeah. It is hilarious.

Preston Pysh (01:09:59):
All right. Last question for you, man. This time has gone so fast. Wow. I’ve really enjoyed this conversation. The last question I got for you is Jack Mallers, his big announcement. I mean, it’s just really exciting to see some of the stuff that’s happening out in the payment space. I’m curious if there’s any other projects from an engineering standpoint that you’re seeing that you’re really excited about, particularly with Bitcoin that you see really playing out in the next three to five years.

Jimmy Song (01:10:27):
I really liked Jack’s project. I always thought Strike was revolutionary for the fact that it can convert Fiat to Bitcoin within that transaction of customer to merchant. It’s almost like every other merchant that’s “taken Bitcoin” has gone the other way. Like somebody will pay in Bitcoin and then the merchant will convert that fiat. And it’s essentially people selling their Bitcoin for goods. And for that reason, most of these companies soon saw their Bitcoin sales dry out very quickly after maybe a little bit of an initial burst, and then they’ll stop taking it because the engineering costs of keeping that on their website would be very high.

Jimmy Song (01:11:09):
What Jack’s thing does that’s absolutely brilliant is that for people that want to receive or have no other choice this is perfect because your customer just needs sold dollars, but you receive Bitcoin and you don’t have to convert it in between. So, the customer gets to choose the worst money to spend, but the merchant receives the better money. It’s sort of like subverting Gresham’s law for both parties in a way that works out for both of them. Now, he’s planning to do the same for remittances, which I think is absolutely awesome.

Because if you’re on the other end of remittances, you want the currency that’s going to store value. Because generally you’re in a country that doesn’t have very good stores of value. And you have legal tender laws that make you have to spend your local currency, but no one actually wants to hold it. So if you’re receiving Bitcoin, that’s great. Because now you don’t have to worry about your currency inflating away. And that helps you save, not just on during that transaction, but in other transactions as well. So I think his project is great.

Jimmy Song (01:12:25):
But as far as the other ones that I’m excited about, these might sound pretty mundane, but I think they’re significant from a consumer standpoint. One is Specter multisig wallet. So it’s essentially multisig security that is pretty accepted. Use multiple hardware wallets, and so on. I know so many Bitcoin holders that have a single point of failure, and they get nervous as hell about it. And not having a single point of failure is actually very freeing because now even if something goes wrong with one thing, you have backups. You have ways to get around that. That’s always been there. It’s just that the user experience has been kind of terrible. So, now you have a user experience that’s actually doable, and it’s not that hard, and people can set it up themselves. So, that’s one.

Jimmy Song (01:13:15):
The other one would be the mentality of dollar-cost averaging, which a lot of exchanges, different apps have put in. This makes investing a lot easier. And from a practical standpoint, I think that will accelerate adoption and get people thinking much more about it. And so, those are the two. I know people want to hear, there’s some space mining project or a Mars thing. But I mean, for me, it’s just making Bitcoin good for what it is, which is a store of value and that means security is important. And that means getting money into the system that you want is important. Both of those things have improved significantly.

Preston Pysh (01:14:01):
So Jimmy, you have a new book out. This is called Thank God for Bitcoin. And it is very easy read. You and the other people that assisted in the writing of this, you guys just got straight to the point. And you guys made it in a manner where you’re not trying to impress with your writing, you’re trying to make sure that it’s easily digestible, and you’re hitting the stuff that’s important. That’s what I love about this. So feel free. Just tell people where they can get it. And then anything else that you want to promote or highlight that we can put in the show notes.

Jimmy Song (01:14:37):
Thank God for Bitcoin is a book that I wrote with seven other people. It’s kind of a child of COVID. And it started kind of as a book club/Bible study. We studied a couple of books, Ethics of Money Production by Guido Hülsmann and Honest Money by Gary North. Both are books from sort of an Austrian perspective, but talking about the morality of money, and that’s what this book is about. The thing we didn’t like about either of those books was that it didn’t mention Bitcoin. And we wanted to write one that did mentioned Bitcoin, and that made the moral argument for it. And it comes from a Christian perspective, all of us that wrote the book are Christian. But the thing that we wanted to make sure that we got out there is that moral argument because generally people…

Jimmy Song (01:15:22):
I mean, you can make the investment case, and people will want to do it out of self-interest, but a moral case is one that causes people to think on another level. If it becomes sort of a moral imperative which we argue that it is in this book, then there’s a way more reason to do it. And it’s not just sort of a selfish endeavor. So you can go buy a Lambo, it’s much more about doing something that’s good for the world, that’s good for civilization and make civilization better. That’s the argument that we make. It’s on Amazon, and you can get that print or Kindle edition. And we’ll have the audiobook out soon. So very exciting stuff.

Preston Pysh (01:16:01):
I want to highlight one other thing for folks because anyone listening to this knows you clearly have some programming chops here. Jimmy has another book on Amazon as well that he wrote by himself called Programming Bitcoin, learn how to program Bitcoin from scratch. And having flipped through this book, I’m not a programmer. Having flipped through this book, and it’s over 300 pages long. I don’t know how in the world you could write a book that captures everything that’s going on in… Not everything, but it’s capturing a significant portion of the really important stuff from a coding standpoint. And I know we have people that have an engineering, a computer science background that are listening to this show right now. I just want to make sure that they understand that you have this other book out there as well that I think they might be very interested in.

Jimmy Song (01:16:54):
Yeah. So, Programming Bitcoin that’s published by O’Reilly. All of you tech geeks that know about O’Reilly, they make a lot of books on different technical topics and stuff. I was privileged to be able to write that book for them, and it came out of frustration from my early days in Bitcoin where there wasn’t that much documentation. And nobody taught me anything. And I couldn’t find any of the details for anything. So that just as a programmer, this is the resource that I wish I had. And it came as a result of me teaching a lot of different people how to program Bitcoin stuff. And through doing that I understood where people are getting stuck, and so on. It’s a very interactive book, so it has a lot of programming exercises for you to do to make sure that you understand what the heck is going on. So if you don’t understand that, you’re not going to be able to complete the exercise. So you might want to read that part again.

Jimmy Song (01:17:49):
It’s meant to be a way for you to really understand everything from a nuts and bolts level. It starts with math, with finite fields and elliptic curves, things that you don’t necessarily learn in high school or college, but they’re not that hard to learn. So I teach those and a lot of programming exercises and then it goes through signatures and public key cryptography and the Bitcoin protocol and of what the anatomy of a transaction block headers and the actual networking aspect and by the end of it, you should be able to connect to the Bitcoin network with your programming, and receive transactions and block headers and so on. That’s what the book is.

Preston Pysh (01:18:34):
I just have such a small admiration. I just can’t imagine how long it took you to write this.

Jimmy Song (01:18:38):
It took me like 16 months.

Preston Pysh (01:18:40):
Wow.

Jimmy Song (01:18:41):
It was quite a slog mostly because writing is a lonely endeavor.

Preston Pysh (01:18:46):
It’s so true.

Jimmy Song (01:18:49):
It’s something that you just… Especially when you’re facing that blank page it’s sort of like an existential dilemma. It’s like, “Do I really exist unless I write something down?” But then you find every excuse imaginable to actually not write words on the page. This is why the other two books that I’ve written Little Bitcoin book and Thank God for Bitcoin, I did it as a group because there’s something about writing with other people and having them depend on you that motivates you way better. That’s how I want to write every other book for the rest of my life is with other people and depending on other people.

Jimmy Song (01:19:26):
And part of what you described about Thank God for Bitcoin is that we get to the point. We don’t use flowery language and stuff. It’s because it has eight authors, and we read every page out loud. This was one of the things that we did and if it sounded supercilious or conceited, or something like that people would say so. So would change up the language so that it’s accessible to somebody with like a ninth-grade reading level, and they can understand the arguments we’re making. It’s not necessarily because we’re more virtuous, it’s because we just had a lot more eyes look at it, and you can create something beautiful that way. And that’s something that I learned from startups, and that’s what I brought… I can hopefully bring two books and that’s what I love about it.

Preston Pysh (01:20:11):
The thing I’ve learned about writing is the static friction is so much higher than the kinetic friction. It’s just so hard to get started each day.

Jimmy Song (01:20:20):
This is why I like writing books with people.

Preston Pysh (01:20:22):
Yeah. Yeah, yeah, you’re right. You’re right.

Jimmy Song (01:20:24):
The static friction kind of goes away because if the person next to you is writing-

Preston Pysh (01:20:29):
Yeah, you feel guilty. All right, Jimmy, man, thank you so much for coming on the show. We have got to do this again. I thoroughly enjoyed this. People, go out, check out the book, Thank God for Bitcoin. Checkout Jimmy also has a podcast, very active on Twitter. Where else can they find you, Jimmy? The spots to hit you up.

Jimmy Song (01:20:50):
So, I have a weekly newsletter. That’s sort of the technical developments in Bitcoin that are happening. It’s called the Bitcoin Tech Talk, and it’s at jimmysong.substack.com. And you can go and sign up for my newsletter. You’ll get it in your inbox every Monday. The other thing I have is the podcast like you said, Bitcoin Fixes This. I am on Twitter @jimmysong, GitHub @jimmysong, LinkedIn, Jimmy In/Jimmy Song. So, Medium @jimmysong. I don’t publish too much there anymore because I’m writing this weekly newsletter. But there’s a lot of old articles that might be helpful if you want to understand what happened during SegWit.

Preston Pysh (01:21:30):
Jimmy, thanks for coming on the show.

Jimmy Song (01:21:32):
Thanks for having me.

Outro (01:21:34):
Thank you for listening to TIP. To access our show notes, courses, or forums, go to theinvestorspodcast.com. This show is for entertainment purposes only. Before making any decisions consult a professional. This show is copyrighted by the Investors Podcast Network. Written permissions must be granted before syndication or rebroadcasting.

PROMOTIONS

Check out our latest offer for all The Investor’s Podcast Network listeners!

WSB Promotions

We Study Markets