Unchained - What Does Cornell’s Emin Gun Sirer See As The Main Security Threats In Cryptocurrency? ‘Everything’

Episode Date: October 4, 2016

Cornell University computer science professor Emin Gun Sirer, an influential figure in the cryptocurrency and blockchain space, describes his ideas for improving security in the space, his skepticism ...about how to scale these networks, and how the last time financial institutions invested in their systems appears to be for Y2K. He also tells us how growing up in an environment where he saw a lot of scams helps him find problems in code, explains why Bitcoin is the “universal bug bounty,” and reveals how two high school students saved burgeoning cryptocurrency network Ethereum “like in the movies — just before the clock was going to expire.” Learn more about your ad choices. Visit megaphone.fm/adchoices

Transcript
Discussion (0)
Starting point is 00:00:02 Welcome to Forbes Podcasts. Hi, everyone. Welcome to Unchained, a Forbes podcast produced by fractal recording. I'm your host, Laura Shin, a Forbes contributor covering blockchain, cryptocurrencies, and fintech. Thanks for tuning in. If you've been listening to the show and like what you've been hearing, please review, rate, and subscribe to the show on your preferred platform. It helps get the word out about Unchained.
Starting point is 00:00:31 For today's episode, I'm speaking with Emin Gunn Sear, Associate Professor of Computer Science at Cornell University, who works on operating systems, networking, and distributed systems. He is extremely active in the cryptocurrency community. He and his team have written several influential white papers and even blog posts that have changed the trajectory of cryptocurrencies. They've also been behind some improvements to the code in Bitcoin and Ethereum. He's also co-director of the initiative for cryptocurrencies and contracts, an initiative put together by professors at Cornell, Cornell Tech, Berkeley, and other universities to help advance the adoption of cryptocurrencies and smart contracts. He also writes a popular blog at Hacking Distributed. Hi,
Starting point is 00:01:15 Good, welcome to the show. Thank you, Laura. Thank you very much for having me on. So tell me about your work and how you became involved in the cryptocurrency and blockchain space. Sure. So my involvement in this space goes back to, I guess, my graduate student years, when I was working with operating systems but I had an eye towards you know I always was fascinated by systems that that can self-configure that are sort of living things in and of themselves if you will and they also was exposed early on to Millicent which was one of the early microcommer systems and so that was back in the 90s early early in 2000s my research when I became a professor my research took a
Starting point is 00:02:00 turn towards peer-to-peer systems and I did a bunch of things in that space that I won't bore you with, but in almost every system we built, there was a problem of incentivization. It's very difficult in a peer-to-peer setting to make sure that everybody behaves well. Your listeners probably have heard of leachers in torrents, right? So there are people who contribute or who participate in sort of taking, you know, whatever it is, sharing resources, but don't put up any resources themselves. They just leach on the system. This is an undesirable situation. You want to incentivize them to do the right thing for the community. And to that end, I built one of the earliest systems that uses proof of work.
Starting point is 00:02:46 It was a currency, a single currency, a real currency, called karma. And so it was widely cited. It's academically very well known, but I did not sort of proselytize it beyond academics. So it wasn't adopted. This was back in 2002, 2003. And so then I just kind of sat on that work for a while that my interests veered off to other topics. I went back to my roots on operating systems, so flipped back and forth.
Starting point is 00:03:13 And so, you know, and meanwhile, Satoshi came up and came out with a very cool idea and a breakthrough in how he uses proof of work and combines it with a bunch of other things and not only those technical things, but he also built a community. And with any currency system, that is really key. That is what gives it its value.
Starting point is 00:03:34 And so that got me and my interest back in cryptocurrencies. I took a closer look at Bitcoin, and we then did the work on selfish mining, where we discovered that you could misbehave and end up making more money than your fair share. We came up with a fix for selfish mining to the extent that it could be fixed. There are regions where you cannot fix it. And from there, it's just sort of history. then I got pulled into more and more into blockchain and and cryptocurrencies and have been working on this topic since.
Starting point is 00:04:06 It's a fertile space and there's a lot of excitement in it and rightfully so. There's so much to do and so many exciting computer science problems. So that's my, that's how I got involved and that's sort of what's shaped my view coming into the system. And I'm so interested to know, you know, as somebody who I kind of developed your own, you know, a prior version of Bitcoin, I guess you could say. How did you first learn about it? And what were your thoughts when you learned about it? And also, when was that?
Starting point is 00:04:37 So I heard first, I first heard about Bitcoin around 2010, 2011. And one of the first things you do when you hear about something like this is you download the white paper and you'll look at sort of what the core idea is. And the core idea seemed really interesting. It had been previously discussed in some depth by some other people, you know, Arvind Krishna-Murti and James Aspenes had done some work on sort of continually solving proof-of-work puzzles. And so it immediately made me think of related work and you know and then the other thing you do is you check to see if
Starting point is 00:05:17 you're cited, right? And so you look at the white paper like, oh, Satoshi didn't know about my work, so that she ends up citing some other work related to spam deterrence. So the work that Satoshi cites, it uses proof of work as well, but it's not a currency. So if you read that white paper, there's a bunch of stuff that's missing. So anyway, so you think about the kind of person that he might be. You, of course, get pulled into the human story, a pseudonymous person. Is it a single person? Is it multiple people? Is there something more behind it? How did the currency get started? How much money did one put up to prop up the currency in its initial days and so forth? So there's a lot. So there's a
Starting point is 00:05:55 lot that draws you in and so that was my first reaction to it and and then of course you know can I game it now are there security holes and so forth and so so the can I game it question sort of got really serious for me with with Itai Ayal's appearance at Cornell it Thai Ayal is a postdoc here he's about to become a professor at the Tech Neon he's about to go to Israel and it I came here as a stock and you know in a spare time he was interested in in bitcoin his main task was something else related to consensus protocols of traditional consensus protocols but in his spare time he was interested in bitcoin and he came by one day and he said you know i think there there are some issues
Starting point is 00:06:41 with the the uh the consensus protocol in bitcoin and we i think we can game it and make more money than we should make and so so that got me going again and that led to the work known as selfish mining And that sort of leads us to the work that you guys are doing with IC3. What does IC3 do and how did it come to be? Ah, so IC3 is a much, much greater, bigger effort. So so far I described to you sort of how I got into this, and that's my group. That's a group of, I don't know, maybe eight people total. IC3 is an initiative at Cornell that we started.
Starting point is 00:07:18 I'm one of the co-directors. There are three co-directors. The other two are Elaine Shee and Ari Jules. And so what essentially happened is that the three of us got together and we all were supremely excited about cryptocurrencies and we could see certain trends in action. One big trend, of course, is the financial industry needs some help. There's no way to sugarcoat this. They got caught, you know, they just got caught. they just got caught way behind the main game.
Starting point is 00:07:52 Their systems are aging. They haven't really done any investment in their infrastructure for, I would say, about 16 years. And the last time they did any investment was for the Y2K bug, right? So they are way behind the times. They're struggling with simple things like auditability, with being able to reconcile ledgers, keeping ledgers in sync, being able to transparently prove to regulators that they did not misbehave and so forth. There are lots of issues. There are lots of issues facing them. And so it was clear to us that the finance industry had to take a close look at the way they did things. It was also clear to us that there's a big social movement saying, hey, we need other systems for managing money.
Starting point is 00:08:31 And of course, there's the whole issue of smart contracts, one of the next big steps to come after Bitcoin. So there are all sorts of fancy things you can build, new instruments, you can build, new systems you can build that manage money. And the excitement around this is immense. So maybe I'm veering off topic a little bit, but I'm so excited. excited about this. So, you know, all my colleagues, they write programs that, so let's leave aside the roboticists, they write programs that actually move things, but everybody else, they just manipulate pixels on a screen, right? You give them input, and you know, the program some input, it generates some output, you print it maybe, you know, that's the extent of
Starting point is 00:09:07 what you do. But with smart contracts, you've got programs that manage money flows. That's an amazing new capability, and nobody knows how to write these things. It's really easy to get things wrong. So we thought, hey, we have to do something to provide structure to this space, to provide some entity that will organize the efforts in this space. And we got some of our friends together. We wrote a proposal to NSF, and NSF very kindly funded us to quite a good level. And so now we have a fairly strong initiative with industry support. So once you have something that creates the backbone of an organization, then you have industry
Starting point is 00:09:47 start to take you know start to pay attention so we now have a number of sponsors some of them fairly well known others very well knows smaller start-ups that are well-known within their communities so so it's a wonderful situation the sum total number of people I think is somewhere between 50 to 60 maybe more at IC3 I would say that well okay so at least 14 or 15 have PhDs so this I think is the largest concentration of academics under one roof, not literal roof, because some of us are at Berkeley, some of us are in New York City, some of us are in Ethica. But it's a large concentration of people who work together on timely, interesting topics on blockchains.
Starting point is 00:10:34 And who are some of the sponsors? The sponsor, let's see. So IBM is one of them. Intel is one of them. Let's see. Chain is obviously one of them. and there are a bunch of others in the works that we're working on. So those are the three that are the three public ones, and they are our sponsoring of the gold-level sponsors of IC3. One of the big themes I see in your work is around the security of public blockchains, and certainly security has been a big issue this summer, both with the BitFanex hack,
Starting point is 00:11:10 and then also the security of smart contracts with the Dow hack. And so I'm curious, what do you see as the main security threats in the cryptocurrency space and what are some of your proposals for resolving them? So that's such a great question. Where to start? So what is the main security threat? Everything. When you have so much value, everything you've got is essentially a bounty, right? Bitcoin has become the universal bug bounty.
Starting point is 00:11:40 In the good old days, we used to sort of, you know, you'd find a, flaw in I don't know when I was a grad student I found a flaw in Java virtual machines both at Microsoft and Netscape and then you disclose and then they deny that they had a vulnerability and then you know if they're good they finally admit and they give you you know like a few thousand dollars or something and but that's not how it works anymore right so there are a bunch of people who are constantly looking for bugs and the moment they find one they infiltrate your system they take your Bitcoin they become rich and
Starting point is 00:12:14 you know your your your cash is their bounty and uh this is clearly no firm infrastructure to base the rest of our financial infrastructure it's just not this is not how we build things imagine that you know that you've got this cool technology it's called a brick and uh except you know the ukrainian hackers can come in and make your entire you know skyscraper collapse by digging underneath it it's just you know we can't have this happen so um the security issues facing Bitcoin, I would divide into two different categories. At the very highest level, I would say client-side security is a real issue. It has always been. And the flip side of it is, of course, server-side security, the security of the bitcoins that you place, necessarily
Starting point is 00:13:00 place in the hands of other people, although you shouldn't. But there are many, many, many legitimate circumstances where you kind of have to. And in those circumstances, sadly, you typically end up giving up all control and currently end up becoming vulnerable to all sorts of attacks from the server side. And so the scientific challenge facing us is can we do something better than the current state of affairs? And the current state of affairs is really dismal, right? So you lose your private keys, all your bitcoins are gone. And how often do you lose them? Well, it depends, right? There's the guy who tossed out his disc, and it could happen to me. I kind of think of myself as a semi-sophisticated user, but you know, I mislay discs all the time. I misplace stuff.
Starting point is 00:13:48 And, you know, and there are some very well-known people. I think a lot of your viewers might have heard of Christian Decker. He was, I think he was adopter number seven or so of Bitcoin. It was very, very early on. He was a grad student in Switzerland. I was on his PhD committee, and he just got his doctorate about six months ago. An incredibly bright fellow and had incredible foresight. I mined a lot of coins early on and had about 10,000 bitcoins. And guess what happened? One day he discovered that his bitcoins had gone missing
Starting point is 00:14:29 and it wasn't an unsophisticated setup. It was behind two firewalls. And somehow people had traced them back, traced his machine back, took his, took his coins. So question here is, can we do better? And I believe we can. So I can expand on that later on, if you like. We've done a bunch of work on something called vaults and covenants. And those can help people recover their own coins and only their own coins, in the case of a hack.
Starting point is 00:14:57 Yeah, I actually wanted you to describe those for the listeners. Sure. So, okay, so recently, last February, we published a paper called Covenants, and the core idea with Covenants is to enable people to put writers on how certain coins can be spent. And what's a writer? Essentially restrictions. And what does this allow you to do? Well, it allows you to implement all sorts of things in general, but I want to focus on one thing, which is this idea called volts. So what you can do with vaults based on covenants is essentially designate some of your money as cold storage. Essentially what you do is you say, look, I have my wallet right now, and I normally would spend out of it and everything would be in it and life would be fine. But I know that most of it I'm not going to need. So I'm going to take, you know, whatever, some percent of it, 90 percent say.
Starting point is 00:15:56 I'm going to move it into a special vault. Vault is just like every other Bitcoin address. except it has two keys associated with it. You can use one key to un-volt the money. So any money that's in your vault, you would use the regular un-voting key to turn back and move back into your hot wallet. Okay, so suppose I decide for whatever reason I'm going to spend all my Bitcoins, well, I'm going to have to take my money out of my vault,
Starting point is 00:16:24 so I use my un-voting key, and that unvoting process takes some time. It necessarily takes a certain designated amount of money. of time. You decide what that time ought to be yourself. So for my use cases, I think that would be typically, say, 24 hours, maybe 72 hours. I don't have any urgent purchases that I do with Bitcoin. So during that time frame, what you can do is you can actually override an unvoting operation with the second key. We call that the recovery key. So what does that mean? In the usual use case, it means that you just put your money in the vault, you then take it out, you have to wait a little bit, however you know, amount of time, however much you designated it to be, and then after that time, you just use it out of your hot wallet and everything's great.
Starting point is 00:17:14 But much more importantly, suppose, you know, I'm at the beach or whatever, and I'm hanging out, and somebody hacks into my machine and they start moving my funds, then I have the duration of that unvalting period to say, no, no, no, no, this wasn't me. even though this person has the unvoting key just like I do, even though to the system he looks indistinguishable from me, it's actually not me. And I can prove that by producing this recovery key with which I override his transaction. And so that recovery key, which I keep in a separate safer place, if I were to produce it, I would be able to say, no, no, no, you don't get to take this money out. I get to revert this money back into my hot wallet. So this, I think, is a fairly simple idea. It takes a while to describe how it works, but deep down, it's all it is. It's the second key that says, no, no, stop this.
Starting point is 00:18:08 With some restrictions, that's why these covenants are there, these riders, in place, so that nobody, no merchant can be fooled about these transactions. Volts are vaults, and they're separate from hot wallets. So it's not the case that I would be able to buy something from you. and I would use the recovery key to get my money back. That's not how it works at all. And how do you keep the recovery key safe? Ah, so you would keep it, you don't need it for any day-to-day operation.
Starting point is 00:18:36 You would just print it out and put it wherever you would, you put incredibly safe things. If you were to have your recovery key also compromised, that's the worst possible scenario. Then you're in this deep bind. There is absolutely nothing distinguishing you from the the thesis. then what the vaults allow you to do in that terrible scenario is you can burn the money you essentially get to say look you know that person says move the money on vault the money to that location I'm telling you to burn the money and then the money is burned and what that
Starting point is 00:19:12 does is it takes away from the thief any potential for a positive outcome he can hack all he wants into your systems but if your money is in a vault it's really safe if he's not going to get any of it, if you actually intervene in a timely fashion. So we envision that there will be services that actually watch the blockchain for you and can intervene. So this I think is a pretty cool idea
Starting point is 00:19:35 because all of a sudden, you've taken away the universal bug bounty. These people can come in and hack all they want, but they're not gonna get anything. And that can drastically shift the sort of the gameplay here. Because at the moment, every Bitcoin user is just a juicy target. Like every Ukrainian kid,
Starting point is 00:19:53 Why aren't they going in and attacking everybody else? And in fact, you know, we see these, I picked on Ukraine here because the story of Christian Decker involves a hack from Ukraine. But, you know, essentially, you've got hackers everywhere, and you've got all these juicy targets everywhere else, and so you're constantly seeing these attacks, and why shouldn't you? The expected outcome is positive.
Starting point is 00:20:15 You try, every hacker has a, you know, a portfolio of tricks they know. They just throw them at you, and with some probability, you know, they will get in and they will make money. With vaults, even if they get in, they make no money. So now they're going to have to move to a different target. And that's a great outcome. Yeah. So I love how, you know, this system that you just described changes the incentive mechanisms.
Starting point is 00:20:39 And that's another big theme that I see in your work. You know, you often look at kind of how perverse incentives can arise where they're not intended. And I'm so curious, how do you work out these different scenarios? And, you know, how can you be sure that you've covered them all? And how do you think creators of smart contracts can write code that creates the incentives that they actually intend? Yeah, that's a good question. I thought a little bit about this. And, you know, there is no structured answer I can give you.
Starting point is 00:21:12 There is no sort of playbook. It helps to have grown up in an environment where I saw a lot of scams. So that's essentially what you do is you kind of eyeball the situation and you're like, you know, if I were malicious, what would I do? And then, you know, things usually fall apart fairly rapidly. I don't know. But it takes a certain kind of adversarial thinking. Some people have this in spades and some others, you know, are different.
Starting point is 00:21:44 They're more constructive thinkers. I tend to think of myself mostly as a constructive person, actually. So most of my work is about building new systems. On occasion, though, not on occasion, but in many cases, it's actually the new systems we build are motivated by problems, adversarial problems that we've identified. So, yeah, so there's an interplay between the two, and there are two hats I wear. And, you know, when I wear my adversarial hat, you're essentially just probing every single thing you can about the protocols.
Starting point is 00:22:16 essentially you're doing a big search the search space is immensely big right at this point in the protocol what if I were now I'm expected to send the message X but what if I don't what if I delay it what if I send message Y what if I change a field and so forth so you have to think through those circumstances and and when you're doing so there are so so so many that it's it's not always feasible to do it automatically with the help of a computer so so verification of these systems is difficult. So a trained eye can typically sort of navigate that space and, you know, and find the cases that are going to lead to a compromise.
Starting point is 00:22:56 With Amex Platinum, you have access to over 1,400 airport lounges worldwide. So your experience before takeoff is a taste of what's to come. That's the powerful backing of Amex. Conditions apply. And so what suggestions would you give to creators of smart contracts? So that way their programs end up really executing what they intend them to execute? That's um this is the the big big question right um so I think this before we tackle this little let's talk a little bit about the Dow because I think it's a good running example. Um so what's happened with the Dow was um as I think many of your your listeners know about the collapse there.
Starting point is 00:23:44 But before the collapse, me and my colleagues, Vlad Zamfir and Dino Mark, looked into the code of the Dow, and we issued a call for a moratorium saying, look, this is a fascinating contract. It's amassed an enormous amount of money, $220 million, success beyond anybody dreamed of, but it's vulnerable.
Starting point is 00:24:05 It is not adequate for, you know, doing the task, it's set out to do. In particular, it's set out to sort of make funding decisions on behalf of its investors and to make those decisions with the help of a voting scheme. Well, the voting scheme is gainable. They're like umpteen different ways. I think we ended up counting nine separate issues with it by which the DAO could be subverted and not carry out its task of finding the optimal, optimal asset allocation. Let's see, so what are some general techniques for writing correct programs?
Starting point is 00:24:48 Is one question. And I think this is an open research issue. It's one of the grand challenges facing computer science today. So if you think about your desktop programs, right, they're supposed to carry out functions and they're supposed to not crash. And I don't know about you guys, but I see mine crash fairly often, right? blue screen of death, everyone's had it at least once in their lifetime and some of us many, many, many times. So when it comes to smart contracts, it's much more dire.
Starting point is 00:25:19 Like there's real money at stake, sometimes a lot of money at stake, and the bugs can be subtle. So in this whole game or war, really, there are a couple of tools that are useful. So generically speaking, it's incredibly useful to have a spec. if you don't have a specification of what you want to do, then you're just navigating blind. You're going to get to wherever you get to, and that's going to be your destination. If code is law,
Starting point is 00:25:49 then there is no greater truth than what you've got, and if it's got bugs in it, then you're screwed. And essentially, it's kind of odd, right? A lot of people think it's like they kind of view themselves as that famous justice, who said, you know, pornography, I know it when I see it. Well, you know a bug when you see it, but if you don't have a spec, how is anybody else going to agree with you?
Starting point is 00:26:17 So the very first thing is to have a spec, not only to prove to others that this was unintended, but to also document for yourself what it is that you want to do. The second level up from a spec is a formal proof that the code you have matches the spec you've got. And a lot of people think that that's the answer. that this is sort of the golden standard, it is by no means a golden standard. It is, it's, it's, it can in fact be misleading to have a formal proof.
Starting point is 00:26:48 Because there can easily be flaws in the spec, and there can easily be properties of your code that you want it to have, but are not embodied in your spec. So if we were to go back to the Dow case, the current technology we have for specifying things formally, can specify basic what we call safety properties. So what's a safety property? Well, the code will not divide by zero. Okay, so that's an easy thing to check. Relatively speaking, I can go through the code
Starting point is 00:27:21 and prove to myself that all the divisions will be made by numbers greater than zero, or I can put checks in it to ensure that that doesn't have an etc. But the actual spec for the Dow is much more high level, right? the spec in English is the Tao shall reflect the voting preferences of its constituents. Now, I don't know how to write that in logic, in first order logic, or in any amended logic that I'm aware of. It's very difficult to specify what that means, especially when you've got concurrent votes and so forth that are happening in the Tao. The complexity of the system is really
Starting point is 00:27:58 high, and as of now, I don't know of anybody who has the core science, the fundamentals, even be able to express the spec, let alone prove it. So there is a very long road ahead of us with a lot of core science that's needed to make sure that smart contracts are trustworthy. But basic stuff, of the kind that the hacker initially exploited to break into the Dow contract, those we can hope to sort of keep under control.
Starting point is 00:28:30 So he ended up taking advantage of a recursive call error. And essentially that stemmed from the entire community, not understanding that these recursive calls were there and could be problematic. And what is, can you define recursive call for the listeners? Oh, sure. Okay. So what happened is the Dow hacker ended up, it was actually the hacker or hackers were very sophisticated. So they ended up using multiple exploits. The initial exploit that they used took advantage of a little known feature in solidity, the language that is used. to program smart contracts on Ethereum. So the DAO on occasion allows the call. Okay, so here's what you can do with the DAO.
Starting point is 00:29:16 You can invoke a DAO function to transfer some funds to a sub-DOW, a child DAO, that you control. And in that process of transferring funds, the DAO invokes a function that you provide. So if in that function you call the DAO back, then you can get the DAO to go into a loop. It's like inception, right? So you call the DAO, it calls your code to transfer the funds for your code to receive them, in essence.
Starting point is 00:29:49 And when you're receiving them, you call the DAO again. And because of the way the DAO code was structured, it's sort of oblivious about what it's doing, what's in the middle of doing. And it ended up saying, oh, okay, you want to transfer some funds, okay, I'll call you again. And so it calls you again and you call it again and so forth. And instead of making one call, you could, or the hacker did, end up making a gazillion calls, some total of which ended up transferring about $50 to $60 million out of the Dow to a child of the Dow. And so that was an enormous, enormous hack, heist, whatever you want to call it,
Starting point is 00:30:27 or some people would call it just use and not abuse even. But whatever it was, it ended up transferring a lot of money out of the DAO, making everyone poorer and teaching the entire Ethereum community about this one feature that everybody had forgotten about, whereby, you know, contracts could be exploited. So this is a problematic issue, but these kinds of issues, we can make headway towards eliminating them. So Ethereum is very young and, you know, there were differences of opinion on how to resolve this issue. And obviously we have the one side of the community that believes that immutability is an extremely important characteristic. And they were against kind of rolling back the network to be able to return the funds to the people who had lost them. But that is what the majority of the community ended up doing. And tell us what your stance was on that and how you came to that decision.
Starting point is 00:31:35 So let's see. I was mostly neutral in the beginning, but looking at what was happening at this, it seemed like the Dow investors were essentially consisted of a lot of people who had sort of committed to Ethereum as a platform. wanted to see Ethereum succeed, they saw the Dow as an investment vehicle that was going to make the community richer, that would invest in things that benefited Ethereum as a whole. And sinking so much money into this hole in the ground where the hacker stood, and burning it seemed at odds with what the community wanted.
Starting point is 00:32:15 So the situation then was actually quite dire. If you look at what happened the day of the hack, you look forward at your options. you've got two options. You can burn the cash and say the hacker earns this money. Or you can say, well, we're going to claw it back and we're going to make the hacker poorer and we're going to revert this one transaction that was unintended and took advantage of one feature that essentially was forgotten by the community. And this is, both options are pretty bad. In fact, both options are pretty terrible. But given these two terrible options, it seemed like the fork option was better in the sense that it led to greater utility, greater happiness for the community.
Starting point is 00:33:04 You have to remember that cryptocurrencies and blockchains do not stand on their own. They all serve a function. Distribute systems only prosper to the extent that they serve a societal need. And a currency system can only do that which its community wants. If it's not doing that, then, doing that, then it's something else. It's a fetish. It's not the case that I am, you know, there are people out there who just love a blockchain. They just love a bunch of, you know, proofs of work, a bunch of crypto puzzles that depend on each other. I call these people blockchain fetishists. And blockchain fetishism is not going to get us to a good community. I think what is important is at the end of the day, where does the value go? What does the community want it to do?
Starting point is 00:33:53 And in the case of Ethereum, the community clearly wanted it to fork. It's like it was 86% or more, I think, at the last poll that I looked at, that wanted the hack to be undone and revert the funds from the hacker. And so then there was an issue of whether to fork it soft or fork it hard. And then there was, of course, the fork itself and the aftermath involving Ethereum Classic. So before we get into that, I actually just wanted to ask you about the soft fork because you had written a blog post that outlined a way that the soft fork could be attacked. And as a result of that blog post, the Ethereum community changed its mind. So can you tell the story of what happened and how, in general, you see your role in these public blockchains? Sure.
Starting point is 00:34:48 So that was interesting. So once the community decided to fork, the initial idea was, well, let's do a soft fork. And what's a soft fork in this case? Let's have the miners evaluate smart contracts. And if the smart contract ends up touching the Dow, then let's not add it to the Ethereum blockchain. Let's freeze the Tao. Everything related to the Dow, we freeze to buy ourselves time. This is an incredibly sensible idea.
Starting point is 00:35:16 It feels like it would be my first reaction too. And it was my first reaction. And initially when I thought about it, I thought, well, okay, that's not so bad. You can implement this. But I received a message and email from a student with whom I had actually interacted nine months prior or six months prior. He was when I first interacted with him, he was a high school student. And he had written to me out of the blue and he said, I'm very excited about blockchains, da, da, da, da. And I encouraged him to apply to Cornell.
Starting point is 00:35:47 And he had applied to Cornell in the meantime. He had been accepted to Cornell, but he was still in high school, and he was, well, he'd just finished high school, and he was doing an internship at Consensus in New York City. And he said, well, Professor Serer, wouldn't it be the case that if we were to do a soft fork, then the network would be vulnerable to an enormous attack? Wouldn't it be the case that somebody could flood it
Starting point is 00:36:10 with transactions that cost almost nothing to generate and are very expensive to evaluate for the miners? for the miners. The miners would have to execute them for potentially a long time, only to discover at the very end that this thing touches the Dow, and then they have to toss it out. So normally a big invariant in systems like Ethereum is the transactions have to pay gas for their operations. The more computation you do, the more gas you pay. And in this case, you could get the miners to do enormous computations and pay nothing. And you could do this all day long, forever, 724, just bogging the entire thing down.
Starting point is 00:36:44 and therefore this was an enormous denial of service vulnerability. So we wrote our blog post. It ended up coming out maybe two and a half days before the softwork was scheduled to go out. And everyone was slated to do it, and suddenly the opinion changed, and everyone was like, no, of course we don't want a denial of service attack. Of course we do not want the softwork
Starting point is 00:37:12 if it's going to end up hurting Ethereum more. And I think it was, you know, I thought it was an enormous success story by these, well, I should have mentioned, it wasn't just the student, the one student, Jaden Hess, but also his friend, River, and River Kiefer. So River and Jaden were the ones who came up with this, essentially, and they did it in a, you know, they just got in, right, it's kind of like in the movies, right before the clock's about to expire. And I think they did an enormous service by keeping Ethereum from getting bogged down by attacks. Had the softwork gone forward, we would have been looking at a disaster scenario. We would have seen attackers come out full force, attack the system. It would have easily crashed and burned to zero. As it is with our announcement, Ethereum's valuation went from $1 billion to $900 million.
Starting point is 00:38:10 And, you know, for a second or so, I was like, well, you know, that wasn't so good we lost you know 10 percent there but i kind of view our work as having preserved 90 percent of the of the value of the coin and it really would have gone down to zero had it been open to such a such a blatant vulnerability so um so i think calling off the soft fork was uh was a was a very good outcome and i'm glad we got it done in the nick of time so in terms of the outcomes that maybe didn't go or it didn't happen in such an ideal manner. Let's talk about the hard fork. You had written a blog post that laid out several of your fears around the hard fork,
Starting point is 00:38:51 and one was that the minority fork might survive. And that, of course, happens. So Ethereum split into what is Ethereum, which is the part of the network that did roll back so as to return the funds invested in the Dow. and then there's Ether Classic, which did not. So what do you think it will happen to Ether Classic going forward? So that's a good question. Let's maybe talk a little bit about what happened with that split, right?
Starting point is 00:39:18 So before the split, as you pointed out, I had written this blog post saying, look, you know, the game theory says there will be one dominant fork, but there will be a minority fork if it's subsidized. So if there is somebody throwing money at it to succeed, then it's, can linger on. And so at a high level, there's a, you know, there's a lot of noise that came out. In fact, the trolls were out in full force. Twitter was full of everybody and their brothers saying all sorts of things about the how the fork went. But from my perspective, the fork actually was a huge success. It ended up doing what it intended to do. It ended
Starting point is 00:39:58 up reverting the funds. Everybody who put their ether in to the Dow got their ether back. That is a huge, hugely awesome outcome. And that's much better than having to fight it out with some hacker, playing core wars, you know, hacker on hacker, kind of like they write some code, you write some code, you try to keep them from transferring their funds. And that game would have been an unending source of strife and a huge loss of value for everybody who participated. The community would have turned away a lot of the early adopters.
Starting point is 00:40:28 So I think Ethereum would have really, really, really taken a huge hit. if not just died, if the money had not been reverted. So as far as ether is concerned, the fork was a huge success. Now, the fork gave rise to an opportunity for people who were not vested in Ethereum to step in. And behind the scenes, I saw some of this. There were some people trying to buy up old coins. And I know exactly who they are. And it was interesting.
Starting point is 00:41:03 people who started this process. And it was a malicious effort. It was essentially money that wanted Ethereum to die, that falsely saw Ethereum as a competitor with other cryptocurrencies, particularly with Bitcoin. I think this is a false view. I don't think these two currencies compete. And I have a very simple litmus test for it. If you think about Bitcoin and Bitcoiners, and if you look at what they do, they typically worry about merchants. And if you think about Ethereum people, they think about applications. It's just night and day. It's water and oil. These two things are very, very, very different. Sure, there's the same kinds of consensus protocols going on, but it's kind of like a file system person getting upset at, I don't know, at distributed naming service or something. Yes, the protocols used under the covers are very similar, they're completely different functions. And yes, there are tokens and yes, there are people who speculate in them, you know, but that's the speculation, is that what we want to do? That's not what we want to do. That is not what societyally good outcome is not to enable speculators.
Starting point is 00:42:16 But aren't they converging slightly in the sense? Well, maybe converging isn't the word, but there are ways in which they're becoming more similar. For instance, we have root stock being developed on Bitcoin, which, you know, intends to bring kind of like the smart contract capability of Ethereum to Bitcoin. And so, you know, maybe now Bitcoin and Ethereum seem rather different, but there is a way where you could look down the line and say, well, they could be more somewhere in the future. Potentially, that's true. But what you see happening there is Bitcoin deciding to branch out of its actual function. Bitcoin's function currently is value transfer. And Ethereum's function right now is computation. These are two separate domains.
Starting point is 00:43:07 The fact that Bitcoin wants now to go into the Ethereum space, that's fine, that's nice. But that's going to take a bunch of years and I don't know that it will happen in the same form as Ethereum, Ethereum already as the established dominant player there. And so, you know, to sort of look at a competitive potential perceived competitor down the line and to get sort of obsessive about it, that's kind of weird. That is not at least how I work.
Starting point is 00:43:36 And I don't know that that's good. That is infighting between, you know, we've seen the infighting between Bitcoin factions. It's not been good for Bitcoin. And infighting between Bitcoin and Ethereum and other cryptocurrencies is also not going to be good for the entire space. So I think that's a terrible, terrible line of reasoning to say, well, multiple years down the line, I might be in the same space as you. So I'm now going to take an adversarial position. I'm going to try to hamper your, you know, whatever it is, your progress. There's going to be strife.
Starting point is 00:44:09 These are not good things. I don't think we should engage in them. So speaking of infighting, I also did want to ask you about the scaling of public blockchains, which has been, as you mentioned, a big point of contention of Bitcoin. How do you think developers can best accomplish this, though, particularly for these public blockchains where they have these sort of grand visions of what they would be able to do for the world? So there are lots of issues on the table when it comes to scaling Bitcoin.
Starting point is 00:44:40 So if we were to look at it narrowly, which is how do we do we? scale Bitcoin? Well, there's only one answer. You scale it on chain. That's the only answer I know of because of the way the question is framed. And just for listeners, so how do you define scaling on chain? Scaling on chain to me means the chain must grow in some fashion to accommodate more than three and a half transactions per second. So currently the chain works by issuing about one block every 10 minutes and that block is one megabytes big. So that comes out to three and a half transactions per second and that's the max Bitcoin can do. And so if you want Bitcoin to sort of be Bitcoin and scale up, well, you've got to improve that number somehow.
Starting point is 00:45:28 Now, and that when I say on chain, I mean without changing the fundamental structure of Bitcoin itself. And that fundamental structure to me and in my worldview, and I think almost all of your listeners will share this, is one based on Satoshi's initial vision, outlined in the white paper. It's a bunch of blocks that reference each other and build a blockchain. So that's the only way forward. Now, the way the chain is generated will need to change for us to be able to do that. So we might have to have bigger blocks. But there is a limit to how big you can make the blocks and can get scale. So you can't make them a thousand times bigger than that would cause all sorts of problems.
Starting point is 00:46:14 But we want to make the number of transactions about at least 1,000 times, if not 100,000 times larger. So how do we get there? So my group has done some work on protocols that retain the entire Bitcoin structure, just change some mechanistic issues on the wire about how the blocks are generated. The protocol here is called Bitcoin NG, Bitcoin Next Generation. And it essentially is a way to generate the exact same blockchain as outlined in the white paper, but in a slightly different fashion and issuing it in a slightly different manner so as to keep the pipeline full and to generate many more transactions per second
Starting point is 00:46:54 than would be allowed by one megabyte blocks every 10 minutes. So that's one way. There are other techniques, you know, extant, block. blocks is one, compact blocks is another, etc. And they're also sort of layer two solutions. I'm a little skeptical about layer two solutions. So layer two solutions are solutions, one of the most famous ones is called the Lightning Network.
Starting point is 00:47:20 Essentially what these do is they build a credit network on top of Bitcoin. So for example, Laura, you know, I know you at least a little bit, and I know you sufficiently to front, say $100 on your behalf to someone around here. So if you ever wanted to transfer some money, and I happen to know that person,
Starting point is 00:47:40 you could ask me, and I'll give that person some money out of my own pocket, and you and I will settle later. And perhaps I want to transfer some money to somebody who happens to live near you, and this can go back and forth, and we can sort of, without having to hit the main blockchain,
Starting point is 00:47:55 the underlying blockchain, the Bitcoin blockchain, the two of us can have a back and forth of money transfers and thus get some scale. But the problem, There are a bunch of problems with this. The main one, of course, is we're not doing Bitcoin at this point. The Lightning Network, even though it uses the same syntax for transactions as Bitcoin, even though it uses a similar sort of style of addressing, it is not the Bitcoin network that
Starting point is 00:48:19 we're transferring the funds over. We're now transferring the funds over a credit network. And doing so has a whole lot of issues of its own. So first of all, you might say, well, what are these issues? First of all, we don't know what the performance of this network is because we don't know what this network looks like. I happen to know you and there's an edge between us, but I don't know a bunch of other people and the people that I know that you want to transfer money to, who are they, etc. Can we really create these paths and what is their capacity? So that's an open question.
Starting point is 00:48:52 And so the performance and the scale you're going to get with a layer two solution is unclear. Nobody knows what that's going to look like. Anybody who tells you they know the answer to this is flat out lying. We don't know the human interaction patterns. We don't know. You know, I know I have a lot of friends on Facebook. I don't know how many of them I'd actually front money for, by the way, and how much that would be. So that particular credit network hasn't emerged in any form or any medium that I know of.
Starting point is 00:49:20 So that is an enormously big problem. It's a big unknown. And we're not going to settle this until it emerges. and anybody who says that this is going to solve our problems is essentially making a blind faith assumption that when this thing arrives is going to solve these problems. The second issue, of course, is the protocols haven't been developed yet. So finding these routes is difficult.
Starting point is 00:49:44 And finding these routes in a privacy-preserving manner, it's new territory. I don't know if I haven't seen any protocols I would put my faith in. And I certainly don't want, in, some random Joe, to discover that I happen to know you. that you and I have a credit relationship. Why should they? I have a bunch of credit relationships with a lot of people, merchants, and nobody should know who those merchants are.
Starting point is 00:50:07 Why should you know who my best friends are, what their credit limits are? So it's going to be fairly difficult to design a decentralized peer-to-peer protocol that's going to preserve privacy and guarantee anonymity to participants. And it's just, you know, I haven't seen it yet. So we're going blind into into, into the Lightning Network, assuming that these challenges can be solved, and I haven't seen them solved yet. So these are two problems. The third one, and also a major problem, is the user experience. So it's hard enough with Bitcoin to get somebody else to use it, right? It's like, oh, I sent some
Starting point is 00:50:43 transaction, where is it going, it got stuck. The failure scenarios are really complicated. Everybody understands credit cards, right? You sort of give somebody your credential, it's just a terrible idea, right so you know you can get a lot of access to a lot of my money if you know my credit card number so credit cards are are bad but at least they're simple and that's a key feature so bitcoin sadly is not simple it's very hard try explaining to an audience how bitcoin works I've done this to many general audiences by now I've briefed all sorts of people in government on Bitcoin and it takes at least 20 minutes to describe how Bitcoin works now you add on top of this how lightning
Starting point is 00:51:25 works, it's just going to be at least an hour. And then the user experience of what can go wrong, you know, my transaction is lost. Well, where do I look for it? Where is it? Where could it be? Well, you know, what state is the payment channel in? You know, this is kind of, it'll just explode and get very, very, very complicated. So I think these three fundamental issues are currently unsolved. And the first one, of course, is unsolvable until deployment. So putting one's blind faith into layer two solutions I currently see as quite optimistic and not the path of a prudent technologist. Well, when you look at the space and not just Bitcoin, but just the whole space of cryptocurrencies, smart contracts, you know, all of the stuff that's enabled by this type of technology,
Starting point is 00:52:15 what do you think is the most cutting edge or promising technology or project that you're seeing right now? So there is a lot of work going on on all sorts of fronts. It's hard to sort of, it's very difficult to answer that question. So there's a lot of work happening at the forefront of consensus protocols. And I want to put aside Bitcoin for a second. So the Bitcoin use case is special and it requires its own special treatment. But there's a lot of exciting work on deploying blockchain protocols for different scenarios. These are not competing with Bitcoin in any shape or form, but but and with Ethereum for that matter. But essentially providing to financial institutions new tools and techniques and there's a lot of exciting exciting work on that front. My group is doing some of it.
Starting point is 00:53:13 Joe Bono at Stanford, Arvin Narayanan at Princeton and Brian Ford in at EPF So these are some of the groups that are looking at new consensus protocols and or new techniques. And I think there is quite fascinating work happening in the fintech space that is independent of anything that might happen with Bitcoin. And it's essentially nothing to do with it. You could apply these techniques to all sorts of things that have nothing to do with money, actually. And I think some of the exciting use cases have very little to do with money. So there is that. On the Bitcoin front, there is interesting, or Bitcoin-like value transfer systems front,
Starting point is 00:53:53 there's interesting work happening on confidentiality. So in the early days of Bitcoin, it was billed as an anonymous system. That narrative got reverted to pseudonymous, as people figured out that, you know, these addresses were leaking information. And I think, as of today, very few people would actually advise you to use Bitcoin as it is. you know, if you're doing so, if you want to actually retain some privacy, you would need to do at least something like coin join or something of that kind to hide what's going on. Otherwise, your employer can easily see where your money is going, and that is not a good outcome. So Zcash is a promising protocol, I think, in providing confidentiality.
Starting point is 00:54:40 There are other competing protocols that people are pushing. And there are a bazillion other efforts as well. There are lots and lots of alt coins, as you all know, and most of them offer no value whatsoever. So, but some of them are, you know, they have interesting features here and there. Well, this has been such a fascinating discussion. Thank you so much. Where can our listeners find more of your work or contact you in the future? So they can see me rant about various different topics at hackingdistributea.com.
Starting point is 00:55:08 And that's where I do most of my sort of pontification about things related to cryptocurrencies. and I also have a Twitter account. It's hard to, well, I'll spell it out as Elite Haxor, EL33T H4XOR. So they're welcome to come and follow me there. It's in jest, by the way, the name. And so that's where I do my pontification. We also have the IC3 web page.
Starting point is 00:55:40 That's where we do our serious academic work. work, and that is initc3.org. Well, thanks so much for coming on the show. Thank you very much, Laura, for having me. Thanks for joining us today. If you're interested in hearing or learning more about GUN, check out the show notes, which are available on my Forbes page, Forbes.com slash slights slash Laura Shin. And if you've been enjoying the podcast, please remember to review, rate, and subscribe to it to
Starting point is 00:56:07 help others find out about it. Thanks again for listening. Thank you.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.