In this episode, Gün discusses how he originally got into operating systems and the importance of figuring out this tech before moving on to other aspects of the stack. This episode is great for anyone looking to get an interesting and unique perspective of how operating systems and blockchain are intertwined.
Anatoly Yakovenko: Hey, folks. This is Anatoly from Solana, and this is the No Sharding podcast. Today with me, I have Emin Gun Sirer, or, I think, Gun, as you like to be called?
Emin Gun Sirer: Yeah, people that know me should call me Gun. People I’ve met should call me Gun. All the messages that come in “Dear Emin,” they go to spam.
Anatoly Yakovenko: So I’m going to switch from sending you messages with “Dear Emin” To Gun.
Emin Gun Sirer: Yeah. You should, you’ll get way more responses that way.
Anatoly Yakovenko: Awesome. Okay, cool. The people that know me call me Tolie because they think Anatoly is kind of a long name for an American. Okay, fine. Let’s shorten it.
Emin Gun Sirer: That’s a good trick. That’s a good trick.
Anatoly Yakovenko: Cool. You’re a professor from Cornell. You’ve been working on operating systems, distributed systems, probably as long as I’ve been programming, I think. It’s super exciting to have you here because I’ve been working in operating systems since I graduated college in 2003. That was clearly what I spent 10 years working on it at Qualcomm. There’s just so many engineering problems. It’s a never-ending problem. People, I feel, are still going to be building these things 100 years from now. It’s a really cool technology to be working on. Do you want to give a brief background and what you’ve been up to? How did you get into the space?
Emin Gun Sirer: Sure. Let’s see. Maybe, a brief background on my background is simply that I grew up in Istanbul, Turkey. I was always a super geeky kid, and I discovered computers when I was at the ripe age of, like what, 13, 14, maybe 15, 14 or 15. It was pretty late. Personal computers were just coming online. They seemed amazing. I thought, “Whoa, I could really automate a lot of things that I see people doing by hand.” Like most people, I was drawn to AI initially, and I got a very nice scholarship from Princeton. I left Istanbul to go and attend school there. I took some cognitive science courses.
Emin Gun Sirer: I looked around, and I thought, “You know, AI is really cool and all, but we actually don’t know how to build stuff that works. We just don’t.” I thought, “Okay. There are some technologies that are well understood, programming languages.” That’s fairly well understood. It seemed that way at the time. A bunch of other things are very well understood. I built my own compiler. I tell a bunch of things. I’d never been able to write my own operating system. It’s just called lapse, right? I thought, “You know, I’m going to go do to grad school, and I’m going to learn how to build operating systems.” This AI thing will have to wait. We really have to get our infrastructure right.
Emin Gun Sirer: Every year since then, and this was a long, long time ago, every year since then my choices have been validated, I think. We still don’t know how to build basic systems that work. Just look around, most stuff is flaky. It works solely because there’s a [inaudible 00:03:49] on a feed bowl who are concentrated on making it work. The large scale distributed services very hard to get going as you well know, very hard to keep up. Blockchains are exciting for that purpose alone. I think they are resilient in a way that most other services are not.
Emin Gun Sirer: In any case, what I did was I went on to the University of Washington to get my degree. That was the hot bed of OS building activity, UDub and MIT. I didn’t get into MIT. We competed against the MIT approach on how to build extensible operating systems.
Anatoly Yakovenko: What year was this, the year you’re building extensible OS?
Emin Gun Sirer: It was 1993.
Anatoly Yakovenko: Wow.
Emin Gun Sirer: This was a system called SPIN. Back then the difficulty was everybody wanted operating systems to do something different, something interesting, something cool, not the basic stuff. It’s a little hard to change the OS, right?
Anatoly Yakovenko: Yeah, yeah.
Emin Gun Sirer: You want to drop in these modules that change what it does, but you need to make sure that you can do this in a safe manner. We explored one option called SPIN which explored the idea of admitting type safe code into a bigger substrate. You see this technology in applets today. Java is something that came after SPIN that has some of the same ideological features as [inaudible 00:05:28].
Anatoly Yakovenko: See object model. Right?
Emin Gun Sirer: Right, right, right.
Anatoly Yakovenko: Basically, the most successful operating system in the ’90s was built using very similar design principles.
Emin Gun Sirer: Right, but without safety. Exactly. This was the big thing that marked that decade. I think that decade of the ’90s in systems was spent on extensibility. I think we figured it out. Anyhow, I enjoyed the process. Then I became a professor at Cornell. I always thought of myself as an OS person. Deep down, that’s the kind of thing I like to build, but in between building OS, I said, “The world doesn’t need an OS every year. It needs an OS every decade.”
Emin Gun Sirer: In between those two events, the one OS to the next one, you got to do something. I started getting into the operating systems. I started looking at the file sharing and peer-to-peer, which was really hot at the time, and I started by building an [inaudible 00:06:35] system to combat leechers in peer-to-peer file sharing. Remember that?
Anatoly Yakovenko: Dude, Nutella, Napster. What was the big one? [inaudible 00:06:49].
Emin Gun Sirer: Bondwire, these were all big. They were great. Yeah, I started looking into this. At the time Bram was looking into Bit Torrent. His initial starting idea was let’s do Barter. If I want to block and I give you a block, then you give me a block. Then we get something going between the two of us. Barter is very limited. You and I have to be seen in the same swarm. We have to be interested in the same content.
Emin Gun Sirer: I thought, “Well, why don’t I use something else? Why don’t I give everybody an initial purse, and then for every block somebody charges them, depending on how rare that block is. Then for every block they upload, they charge other people.” That was just a primitive form of money. I built a system called Karma for this, and it had two features. One, it’s entirely peer-to-peer. It’s distributed, decentralized, no central [inaudible 00:07:51], and two it had proof of origin.
Anatoly Yakovenko: What? What year was this, just to give people context?
Emin Gun Sirer: The work started in 2002. The launch probably took place in 2003. Way before Satoshi was ever doing anything, way before anybody thought of using proof of work for minting coins with the exception of a short passage in a very nice paper by Rivest. Rivest had mentioned this in passing. I didn’t know about it at the time, but we built it. I’m pretty proud of that work. It didn’t exactly duplicate Bitcoin, so Satoshi had something going for him. He had the longest chain aspect of it sorted out in a way that was better than the way I had. Anyway, Karma was very, very well received academically. It’s very well cited. The problem was the year, 2003. It was weird. This is like-
Anatoly Yakovenko: This is me graduating from college, post.com crash. My friends and I were trying to bootstrap the startup doing voiceover AP Vontage, if you remember this, out of central Illinois. It was just like cricket. Nobody wanted to talk about attack. People thought that computer science was not a good degree to get.
Emin Gun Sirer: Absolutely, yeah. Those were actually bad years. When you’re in a bear time, every idiot just goes bearish on you. You’re like, “Dude, you were so excited just yesterday, and now just because other people around you are, now you are all…” It’s just crazy the way these people. They don’t have principles and if you’re not principled, then you just get blown around by the winds.
Emin Gun Sirer: The other thing, of course, that was happening then was terrorist financing was in the news all the time. A lot of networks, like the 911 guys, how did they get their money, blah, blah, blah. I was counseled and I think correctly not to work on the stuff, that I would never be able to get any funding for it which is probably true, and the government would never look kindly upon electronic cash which was true at the time.
Emin Gun Sirer: I didn’t really follow up on the Karma work with anything. I did a bunch of other work in related areas like peer-to-peer reputation and so forth. Then I just cooled off. I started working on large scale distributed data source. Then the Bitcoin thing happened, and I got back into Bitcoin. I looked into what Satoshi had done. We found the biggest known flaw in the protocol. It was mischaracterized. Everybody was saying something. The core devs were going around making a bunch of claims. These are what are known as folk theorems, things that folks believe to be true. We showed that they’re not true.
Anatoly Yakovenko: What was the actual flaw? Can you talk about that?
Emin Gun Sirer: Sure. Satoshi says, “Look, here’s my protocol, and here is what you should do. Every time you mine a block you share it with everybody else. You tell every one, and then you cooperatively build a blockchain. This blockchain is secured as long as a majority of the participants are honest.” It turns out that this claim is incorrect. It turns out that if you don’t do what Satoshi says, but instead if you do the following strategy which is known as selfish mining. When you find a block, you do not immediately share it with other people because you’re not a chump. You put it behind your back. You keep it secret. You are now ahead of everybody by one click.
Emin Gun Sirer: That puts you in an advantageous position. The moment you have found your block, everybody else, in essence, is working on a stale solution. You can see how this is going to lead to a win. The easiest case to imagine, there are multiple cases. It’s kind of like a blackjack strategy. Not every case is necessarily a win. On average you will come out far ahead.
Emin Gun Sirer: Here’s the easiest case to visualize. With some probability I find the block. I keep it behind my back. With some other probability, I find the second block. In fact, it’s the same probability just multiples squared. Now I’ve got two blocks behind my back. Everybody else is too clicks behind me. If they come up with a block, I say, “Oh, guys, that’s pretty nice of you that you worked so hard to come up with that little turd over there,” but behind my back I had two blocks all along and here they are. By the longest chain rule, the work that they did to discover their block is entirely lost. Their block is orphaned. These guys got mislaid. They ended up putting their hash power into a completed wasted work, and it’s not going anywhere. They’re not going to get rewarded for it. You can see how this is a win, and you can use this to knock out the blocks of your honest participants.
Anatoly Yakovenko: This is generally called a selfish mining. I think in your paper you cited a third of the network, but I think some folks have even lowered that bound to about 23%, I think, is as low as I’ve seen it.
Emin Gun Sirer: Well, it all depends on a couple of factors. It actually depends on how effective the attacker is within the network. If the attacker has no effect within the network, he has no ability to push his blocks very, very fast, then he will win with selfish mining if he’s larger than 33%. That already shows you that the honest majority can’t be 51%, it has to 67% or bigger, whilst I can unilaterally go selfish and start winning against the odds.
Emin Gun Sirer: Then, depending on how good my reach is as a selfish miner, I can push the bound lower and lower. In fact, zero is the lower limit. If I’m really good and the other folks are very granular, they’re very small, then I can make the size. even at three percent, I can mine and collect more than three percent of the rewards. The way this goes is with selfish mining at 49%, I collect 100% of the rewards. That’s pretty amazing, and it’s fun to think about. It’s kind of cool to say, “Hey, guys, you all are saying a bunch of stuff. It’s all wrong, and here’s the thought for analysis.”
Anatoly Yakovenko: I think I saw a paper on a proof of stake networks as well that there is some way to, basically, censor the other validaters and withdraw free rewards. I believe intuitively to me that bound seems to be applicable to any distributed system, right? As soon as I have more than a third, we all know that that’s enough to take over the network.
Emin Gun Sirer: [inaudible 00:15:15]. Let’s be careful here. You are absolutely right. That selfish mining style attacks are viable for any protocol. At the core of all of these attacks lies a very simple strategy. I know something you don’t. I don’t tell you. It’s like an episode of Lost. I’ve discovered something. The last thing those bastards ever do is tell other people. I would tell everyone, but I don’t. There’s a hatch in this desert island. [inaudible 00:15:47]. These attacks are valuable for any protocol. Surely, for proof of stake protocols as well. You could knock out validater’s work. Depending on the protocol, you could do things.
Emin Gun Sirer: Now be careful because there are lots of proof of stake protocols, and the bound you are referring to applies solely to protocols in the classical domain. These are protocols that power things like Hyperledger, Corda, ETH20, and a bunch of other systems like that. The bound there is one third. If the attacker is bigger than one third, all of their guarantees go out the door. That bound does not apply to other consensus families. Most notably it doesn’t apply to Avalanche. Avalanche can handle attackers all the way up to 50%. It can even handle attackers above 50% although it cannot guarantee liveness, it will guarantee safety in the presence of attackers greater than 50%.
Emin Gun Sirer: Then there’s this other amazing thing about Avalanche which is if you parameterize your protocol for an attacker of size 33%, and the attacker turns out to be, say, 40%, he doesn’t just immediately win. Against the classical protocol, he does immediately win. He takes over Ethereum 20. Ethereum won’t crap. You can’t trust what’s happened. People have to get on the phone call and sort out what’s happened.
Anatoly Yakovenko: Just so we don’t make too many claims, right? I think the realities of what can happen is the chain can stall. There’s no liveness guarantees if the attacker’s over 30%. Those go out the window.
Emin Gun Sirer: For Ethereum 20?
Anatoly Yakovenko: Yeah.
Emin Gun Sirer: Well, no. He can create, let me see, what can happen. Chain will stall, for sure. Now I believe he can create a safety violation with larger than 33%.
Anatoly Yakovenko: Okay. Because he can, basically, censor the rest of the network and could radically leak them until he takes it over?
Emin Gun Sirer: Well, okay. Let me backtrack. I don’t know ETH20. I have tried to follow it, but it changes way too much.
Anatoly Yakovenko: That’s true. I’m probably basing my assumptions on stale information as well.
Emin Gun Sirer: Exactly. I think the saying is, “I spoke to Vitalik only last week, so therefore I don’t [inaudible 00:18:30].” It changes faster than anything else. I shouldn’t really say anything about ETH20.
Anatoly Yakovenko: Tindermen is a fairly simple system. Everybody understands it.
Emin Gun Sirer: Right. Tindermen will actually have a safety violation at 34% of an attacker. The moment the attacker is larger than 33 or 34%, you’re going to have a safety violation. The attacker is guaranteed to be able to fool the honest participants into thinking that the spend that occurred did not actually happen.
Anatoly Yakovenko: But that requires the attacker also partitioning the network to where the attacker gets to be eclipsed both sides. Both partitions see that they’re in the super majority and then they decide to continue building blocks. One partition happens to be finance, the other one’s coin-based, and you get to rob everybody.
Emin Gun Sirer: Right, exactly. With Avalanche the safety criteria works as follows. Suppose you parameterize the protocol for 33%, suppose the attacker is 40% big, it doesn’t mean that he will immediately win. Instead, a safety violation that would have happened. Avalanche guarantees that safety violations are incredibly rare to the point of once every 20,000 years. If the attacker is bigger than you anticipated, then he doesn’t win and just take over the system, he instead gets to make it a little more frequent than what you targeted. Instead of a safety violation every 20,000 years, you might end up at 40%. It’ll probably be something like a safety violation every 5,000 years.
Emin Gun Sirer: I think that’s a pretty nice way to fail gracefully. One of the biggest problems with these protocols, as you well know, is parameterization. What’s a good number of validaters? I don’t know. Can someone take over a third of them? Why not? Depends on the number you picked. Isn’t that number super fragile? Yes. It’s absolutely super freaking fragile. In fact, you’re going to end up having correlated failures along your validaters anyway if they’re all in AWS or [inaudible 00:20:55].
Anatoly Yakovenko: Yes.
Emin Gun Sirer: It’s so hard to pick these numbers, and it’s so hard to build robust systems. A hard bound is incredibly hard to deal with. It creates this fragility in the protocol that newer protocols, sarcastic protocols, like Avalanche don’t suffer from.
Anatoly Yakovenko: That’s very cool. What is the fundamental reason why that works for Avalanche? How does it actually work? How do you make this probabilistic consensus work out?
Emin Gun Sirer: Okay, that’s a good question. Here is, I think, the very short overview of the entire consensus space. It’s a space that’s been around for 45 years or so. There’s only been three protocol families. One of them is Nakamoto Consensus. You mine, okay? You mine with a bunch of gear, and you consume a crap ton of on energy, and you’re contributing to melting down the polarized caps and chilling the bears, but some people don’t care. I do, but for those who don’t care they’re still leaking value out of their store.
Emin Gun Sirer: The tendency for Bitcoin is for the price to go down unless there’s more money is flowing into the scheme. That’s not a good dynamic. They’re leaking billions per year actually. More than that has to come in for you. That’s Nakamoto.
Emin Gun Sirer: Then the other one is Classical Protocols. In these protocols we have a small set of validaters, like a senate. This number can’t be very large. It has to be around a hundred for a reason that’s going to be obvious in two seconds. The members of the senate all talk to each other to confirm that there’s enough over quorum within the senate to pass a resolution. If I’m a member of the senate, I talk to everybody, and I say, “Hey, guys, we’re leaving the European Union, right, and I get a bunch of responses.” If I get enough responses such that even in the presence of Byzantine people who lie to me and you, there’d be enough honest people in my intersection and your intersection to pass the message that we voted to exit the EU. Then I can actually say this is finalized.
Emin Gun Sirer: That’s Classical Protocols. You can see because everybody has to talk to everybody else, these protocols don’t scale, they’re unsquare, they don’t scale.
Anatoly Yakovenko: Wow. You can squeeze a lot of numbers out of that. We’re a Classical Protocol, and we’re designing to 20,000 validaters, right?
Emin Gun Sirer: People like you can do amazing things. Let’s not underestimate a great connector. The tricks that are used are generally things like sub-selection, committee sub-selection, and batching, a bunch of other tricks. You know these very, very well. They’re all smart tricks. If I were to characterize how these protocols work, I gave a description of PDFT. That’s the simplest way that one would imagine these Classical Protocols are already. You can tweet them, but the bottom line is they really don’t scale to large numbers of active participants in every round. You have to reduce that at some point.
Emin Gun Sirer: For example, Libra is a Classical Protocol. It was designed by my student when he was an intern at VMware. It is, I think, the best of Classical Protocols. Libra doesn’t try to scale to more than a few hundred validaters. They’re growing up to 100. Anyhow, let me tell you how Avalanche works. It’s fairly straightforward. In Avalanche we have a very large group of validaters, and we’re not going to require that we have precise membership. I don’t even know who exactly the set is. It’s like a giant stadium. I know a bunch of people there. You know a bunch of people there, but we don’t know everybody there. We certainly don’t know it precisely.
Emin Gun Sirer: The way the protocol works is in multiple rounds. In every round we’re going to do the same dumb thing, and a magical thing comes out at the end. The dumb thing is in every round I pick a couple of people at random, let’s say, three maybe five people. I say, “Hey, guys, you know, let’s say the decision is between two colors, blue versus red. Do you guys prefer red or blue?” Then they say, “Yeah, you know, we currently prefer red over blue.” Based on what I’m polling, I change my own preference. If I ask three people, “You know, what color do you like?” And they say, “Red, blue, red.” I go red, and you do the same thing.
Anatoly Yakovenko: This is very similar to how Epidemic Protocols work.
Emin Gun Sirer: Exactly like an Epidemic Protocol. Exactly like Gossip Protocols. I will repeat this. You can see, maybe, I don’t know if you can see it. It’s hard to see. It’s [inaudible 00:25:54], right? Imagine a stadium that’s 50/50 split. After one round of this, it’s not going to be 50/50 split. It’s incredibly unlikely that it will be exactly 50/50. It’s possible but very, very unlikely. If it is, then the next round will fix it. More than likely after one round, we will have a slight preponderance of red or blue. We’ll have, maybe, 51% red. Then the next round we’ll accentuate that red. Why? Because there’s more of it, 51% more than one percent more than blues. It’s going to go from 51 to 53, probably.
Emin Gun Sirer: Then you do another round that suddenly will snowball and go down this hill, this gradient, this energy gradient, for the network where people get more, and more, and more red. After a very modest number of rounds, everybody will have the same preference, will have the same color. That’s when you can decide. It’s a pretty straightforward protocol, very, very simple, very [inaudible 00:26:58].
Anatoly Yakovenko: Is it just me hearing this, what would you say is the trade-off between this and a Classical Protocol, or are you like Ava maxim list. There’s no trade-off. It’s better than a re-parameter.
Emin Gun Sirer: Every time somebody asks me this, I have to push back a little bit. Let me push back. Well, it’s become the [inaudible 00:27:21] wise man thing to say that everything’s a trade-off. There’s always some idiot reminding me that everything’s a trade-off. You know what? Everything is not a freaking trade-off. It’s just not. For example, if all you’ve got are unicycles and someone comes by with a bicycle, he’s going to steamroll through there. Speaking of steamrollers, steamroller’s much better than a hand pulled weight. There are umpteen different things like this, burritos versus tacos. Once burritos come along, I think tacos are kind of crappy. They fall out the other end. [inaudible 00:28:02] there. It’s undeniable.
Anatoly Yakovenko: I love the analogy. It’s burritos versus tacos. Burritos win by every metric.
Emin Gun Sirer: They really win. They clearly win by every metric. Okay. Well, I’m obviously exaggerating to make my point. The bottom line is not everything is always a trade-off. There’s always trade-offs within the same family. If you’re going to do, let’s say, Nakamoto Consensus, you’re going to make your blocks bigger. Well, then you’re going to pay in some other form, maybe decentralization will cover that. What is the trade-off with Avalanche? There are trade-offs. One, it’s a probablistic protocol. People have to be okay with that. What’s the difference? A standard protocol will give you 100% guarantee, yet there is no safety violation. Ava gives you a 99.9999999, a gazillion nines percent guaranteed.
Anatoly Yakovenko: How many rounds do I get until I get four nines of finality?
Emin Gun Sirer: Oh wow. It’s more, much more than four nines. Four nines is nowhere near sufficient for us.
Anatoly Yakovenko: Sure, okay. Six nines in one round. Do I get six nines in one round?
Emin Gun Sirer: Well, no. You need about 15 to 20 rounds in a network of 10,000 nodes to get a finality with the likelihood less than one safety violation every 20,000 years.
Anatoly Yakovenko: If I’m building a Satoshi [inaudible 00:29:41], I don’t really care about that. I want faster UX. Can I get four nines in one round?
Emin Gun Sirer: Yeah, possibly. No, no, you can’t get four nines in one round. That’s not going to happen, but probably in much less than what I quoted, like 15 to 20. I think probably 8 or 10 should give you four nines easily, four nines. I suggest not doing that because the extra cost of those rounds is negligible. Just go to something that’s so low probability that you can sleep well at night. The actual number in terms of seconds for Avalanche is one to two seconds. We are going to test it. We are getting sub-one second finality.
Anatoly Yakovenko: To get to the full 17 rounds?
Emin Gun Sirer: Yeah, exactly.
Anatoly Yakovenko: Cool. This is with a network of… How big are the networks you guys are simulating?
Emin Gun Sirer: We’re not simulating, we’re running, 2,000 nodes.
Anatoly Yakovenko: Okay, cool. That’s amazing.
Emin Gun Sirer: A sizeable network, yeah.
Anatoly Yakovenko: Is it all innatively us?
Emin Gun Sirer: Yeah, of course. Where else can I get 2,000 nodes on call?
Anatoly Yakovenko: Yes.
Emin Gun Sirer: It’s definitely going to change when we go live and then real, and I don’t know how. It’s going to be a great sight to see.
Anatoly Yakovenko: Just make sure you’re planning for an umpteen use size of sub-1,300.
Emin Gun Sirer: That’s right. We’re not doing crazy, crazy tricks like you are doing. If I had you working on Avalanche, we would easily get another 10X. We’re not pulling those kinds of tricks. I’ll leave that up to you guys. I’ve done that kind of performance work before, it’s awesome, but not on this project.
Anatoly Yakovenko: It’s blood, sweat, and tears.
Emin Gun Sirer: I know. I know how much effort goes into it.
Anatoly Yakovenko: That’s really amazing. Gossip Protocols, and that approach is really cool. To me, that seems definitely the evolution of classical Nakamoto Consensus.
Emin Gun Sirer: Tolie, do you remember in the naughts and maybe early, early part of this decade, people used to work on distribution networks. They would build these trees, and multi-trees, and complicated graphs, and complicated graph structures for decimating information. Then came the wave of loosey-goosey gossip networks. That was so freaking awesome. It’s so robust. It takes you an afternoon to write. Then it just works.
Emin Gun Sirer: Avalanche is the consensus what gossip was to content distribution. Gossip is lightweight, cheap, randomized, and very effective and so is Avalanche, lightweight, cheap, randomized, very effective. It’s a new code base. If you ask me what’s the other trade-off, it’s all a new code base. There was a lot of building that we had to do from scratch. There was a whole lot of unknowns with regard to the code base itself.
Anatoly Yakovenko: I mean, just like myself too. We wrote this code. February, 2018, was the first line of code written. A lot of it was written at 2:00, 3:00 AM. Yeah, it’s crazy. It’s crazy that these systems that are a lot of projects are building this at breakneck speeds and then launching. Then running a lot of assets under management but it’s these centralized networks. It’s a crazy world to be a part of.
Emin Gun Sirer: Yeah, so let me say a few words about this. There’s an ongoing joke in the office, right next door where we talk about the dark Ava. We’re looking around. Every now and then the temptation comes over us. We’re like, “Guys, like if I don’t have you all working on Ava, we could just go to the Caribbean, find sort of an anonymous Internet drop, and we could own the crap out of so many protocols.” Like the talent there that’s currently focused on building constructive good things on Ava could easily turn to make a crap ton of money from these networks and to force these people out of their life savings. None of that code has got any scrutiny. I’m not going to name names. I can. Shall I name names?
Anatoly Yakovenko: Name names. It’s you naming names, not me. You don’t have to name names.
Emin Gun Sirer: Off the top of my head, NEM. What’s going on with NEM? Where is that code base? I took a look at it once, and you’re like, “Whoa, this is very intricate stuff.” I’m sure that if somebody looked carefully into it, they’d be able to extract some bugs out of it without all that much effort. Yeah, it’s kind of interesting.
Anatoly Yakovenko: You guys are building in Rust, right?
Emin Gun Sirer: No, Agava.
Anatoly Yakovenko: Okay.
Emin Gun Sirer: Go on Python.
Anatoly Yakovenko: Excellent choice go. Python is a little harder to get to production.
Emin Gun Sirer: Oh yeah, absolutely. I wrote the Python code. It’s meant to be a quick prototype for ideas. It’s meant to be a sketch. It’s not going to be robust. It’s just not. It’s also good to have multiple implementations so that in case something happens to one, you have the other. That’s good to have too.
Anatoly Yakovenko: GOES is a great systems language. It was written by… That name escapes me, but-
Emin Gun Sirer: Well, Bike.
Anatoly Yakovenko: Bike, of course.
Emin Gun Sirer: I was an intern at Bell Labs eons ago, and I worked with Rob Fike, Dave Presotto, Ken Thompson, in the Unix room. It was a great crowd. Rob had the original ideas behind GO, sort of information back then. He was working on another system on top of Plan 9. Remember plan 9?
Anatoly Yakovenko: Yeah, that’s an awesome [inaudible 00:36:05].
Emin Gun Sirer: Yeah, it was Unix done right. It was fantastic. I worked on it for a summer, and it was formative for me, that elegance, that simplicity was fantastic.
Anatoly Yakovenko: Do you think the big companies are going to launch their own versions of this, or are they going to basically take the best of what we have and just integrate it because it’s all open source?
Emin Gun Sirer: No, I think every company, every single one will be running some blockchain code in the back end. In fact, they will probably be doing multiple.
Anatoly Yakovenko: Is Microsoft going to build their own, or are they going to take Ava or Solana or whatever and just say, “Okay-
Emin Gun Sirer: Good question. Microsoft specifically has been actually taking a whole lot of existing systems. I’m confident they’ll take Ava. That’s what they’ve done. They’ve taken successful projects and integrated them in easy steps. You look at Facebook. They’re running with their own thing. They’re trying to do their own thing, and they got regulated up the wazoo because they realized just how bad they had been as actors in the global space. Google is an unknown. I’ve had multiple conversations with them. THey’re really fascinating. We’ll see very interesting developments out of Google. I’m not going to say anything else about that.
Emin Gun Sirer: It really doesn’t make sense for a company to try to develop their own at this point. It’s pretty late in the game, and the existing solutions work very well. They won’t be able to do much. If Google comes in and says, “Hey, we took some existing thing, and we tweaked it for our own needs.” Everyone will just look at them with disdain. That’s not very good.
Emin Gun Sirer: Facebook ended up taking HotStuff which was not done by anybody else. They can claim some novelty, but the big, big companies is if they come in without novelty it’ll be a flop on announcement, not even flop on actual rollout. As soon as people hear it, they’ll be, “Okay, no innovation. You don’t belong.” The days of being able to sub-base and tweak it and make money, those are gone.
Anatoly Yakovenko: Is success in the space dependent on innovation, do you think in your mind?
Emin Gun Sirer: Say again.
Anatoly Yakovenko: Is success in the space dependent on innovation?
Emin Gun Sirer: Absolutely, absolutely. Time and time again, I think we see that technology pulls ahead if it has some competitive advantage, if it does something different than everybody else. Taking Bitcoin, changing the block interval time from 10 minutes to 2-1/2 minutes and then calling it, what is it? Silver to Bitcoin’s gold or whatever. Brilliant marketing. Brilliant marketing, but it’s just crap. There is nothing there. In the long, long term it cannot sustain itself. It’s just a glorified [testnet 00:39:11].
Emin Gun Sirer: I think the same is true for every other project. If you want to be ahead, you got to have the best technology. It’s not necessary. It’s not sufficient. Just because you have great technology doesn’t mean you’re going to succeed. If you don’t have great technology, you will definitely not succeed, not to the long term anyway.
Anatoly Yakovenko: I mean, I see the space as very much [inaudible 00:39:36] efficient. Optimizing from one thing, you’re always going to pay somewhere else. In my mind I think we’re going to see a couple of protocols survive that are the thing that they’re going for. Then some use cases will build around that. Do you think that, or are we going to actually have one standard blockchain and Bitcoin for legacy reasons?
Emin Gun Sirer: No, no, no. I disagree that there’s going to be just one chain. I think we’ll have multiple. We probably won’t hae 2,000. Those 2,000 are mostly crap anyway. You and I know very well if we look at the top 20, 30 coins, we know which ones are worthy of being around and which ones are just me too coins or just crappy little things that people push.
Emin Gun Sirer: I don’t see Bitcoin going anywhere, and I mean it both ways. I don’t see it going down and disappearing into oblivion, and I don’t see it going up and becoming a multi trillion, dah, dah, dah. Let’s threaten the dominance of the dollar across the universe kind of a coin either. Bitcoin’s going to be around. There’ll be other coins that surpass it.
Anatoly Yakovenko: Maybe, that is basically the store value narrative. It’ll be around longer than potentially the sovereign state that you’re a part of.
Emin Gun Sirer: Possibly, possibly, yeah. Exactly. That’s fine. If people are putting their money for that reason, then I think that’s okay. They have to realize it’s super volatile at the store value. At least value out of the system. That’s not good. There are a bunch of problems with it, but the community is strong around it. It’s not strong in a good sense. I’m sure you are a part of this as well. Spent a lot of energy pushing the Bitcoin narrative in the early days. In 2014 I testified, not testify formally. I introduced a large number of Politicos, probably more than anybody else, to Bitcoin with that branding. They are still riding that wave, but the coin has stopped evolving. People don’t really build on Bitcoin anymore. They’re now trying to build on Lightning which doesn’t really work, whatever.
Emin Gun Sirer: It’s going to be around. It’ll be find, but that’s not where the action’s going to be. The action’s going to come in on the side of coins that really know how to innovate. Most importantly, that have use cases. I look around. I’m sure you’ve seen this. There are projects where it’s like, “Hey, I came up with a cool idea, and you hear it out.” 90% of the time the idea makes no sense. It’s AI plus blockchain. It’s, “Okay, dude, I don’t want to hear more about this.
Anatoly Yakovenko: Do you show reality in there too to get the trifecta? Is that right?
Emin Gun Sirer: That’s right. ERAI blockchain. We’re done. I can’t tell you that’s pretty bad, but 10% of the time you hear it out. Then you realize, “Okay, what do you have?” It’s something in academia we would call a master’s project. This person came up with a way to compress the blockchain or whatever. Some thing that’s actually good, but they figure it out. It doesn’t necessarily lead to a use case. It’s just one improvement on the metric that doesn’t really mean all that much in the use part of the case.
Emin Gun Sirer: What I think is really exciting are those functionality improvements where it says, “Look, I have a different model entirely. I didn’t just copy my stuff from Satoshi.” Everybody copies everything from Satoshi. They have the same damn stupid network model that Satoshi came up with. Everybody, like a leming, ends up copying that thing except we tried to do something different in Ava. It’s really those innovative differences that lead to different use cases that set projects apart. That’s what we’ve been trying to do.
Anatoly Yakovenko: Cool. That’s very cool. We’re almost out of time, so we can finish up. Thank you for being part of this podcast. I know Ava’s No Sharding, so we didn’t even talk about sharding.
Emin Gun Sirer: Nothing against sharding. I’ve been working on a sharding protocol for some time. I like the idea in general, but Ava doesn’t do sharding. The trade-offs involved are, I think, not very good. I think we’re going to see this as more sharding-based protocols come online. What is really hard to get out of any of these distributed systems is low latency. You know this firsthand.
Anatoly Yakovenko: Yes, yes.
Emin Gun Sirer: I can get ITPS. There are so many tricks for getting ITPS, but low latency is incredibly allusive. Anybody who has dealt with low latency systems know how precious it is. 10 millisecond, or whatever, 100 millisecond response times versus three seconds, this is a world of a difference.
Anatoly Yakovenko: Yeah. Just to give people context, I remember when Google switched from 200 millisecond response times to 50. I didn’t think about it. Why are they doing this? Who cares? As soon as you start using it, you can’t go back.
Emin Gun Sirer: Absolutely can’t go back. Sharding goes in the other direction. It makes common operations take longer which is not a good thing to give up. I’m not a big believer in it, but I do have in review somewhere we have a document that describes the first sound sharding scheme. There are so many gotchas, hidden gotchas, in implementing a sharding protocol as well. I like the idea. I’m not against any of these. I’ve very open minded. People should be exploring these things. There’s a lot of noise made about things.
Emin Gun Sirer: What is bad is pre-commitment. This is science. You cannot pick your direction without having done feasibility studies, without having done measurements and so forth. Any project that does pre-commitments like the way Bitcoin pre-committed to the Lightning network without knowing what its capacity would be, without knowing anything about the emergent properties of the graph. These are mistakes. I think what we like to do in Ava and in general everything I do is explore everything, look at the numbers, let the science guide you as opposed to let your ego or preconceptions guide you. Anyway, that’s my long-winded answer. I like sharding. I think it[‘s cool. I’ve done a bunch of work in it. I’ve done a bunch of work in [inaudible 00:46:44] too, layered protocols as well. I’m not exploring those ideas because even though I still, to this day, have the fastest layer two payment protocol. I think there are too many unknowns about it. It’s not feasible. That’s what I think. Sorry.
Anatoly Yakovenko: No, that’s cool.
Emin Gun Sirer: [inaudible 00:47:02].
Anatoly Yakovenko: The reason why I thought that sharding was a non-starter is just from my work on multi-core CPUs. The latency’s there on the single chip are insane compared to just talking with a single core. If you ask any operating system’s engineer what do you want, I want a single core that’s 200 gigahertz. Give me that. I don’t want 200 cores.
Emin Gun Sirer: Yeah, yeah, yeah. Exactly. You have the right background. One of the things actually told me that happens here is that the word, crypto currency, the word, crypto, attracts and makes people believe that crypto is central to what we do. It’s the biggest con and it’s our biggest advantage, you and me, because crypto is really a sideshow. That’s not where the action is. Satoshi’s biggest invention was a distributed systems protocol. It wasn’t cryptographic, he just used Black Box very simple things that date back to the ’80s and ’90s. He used constructs that are very well understood from crypto, but he had to invent new distributed systems constructs.
Emin Gun Sirer: The same is happening with projects today. You look at the projects that ended up staffing themselves with crypto people. They’ve got a number of tricks up the wazoo. One of those tricks actually helped with the actual task at hand, which is build something that works which takes us back all the way to the beginning of our conversation. Maybe, that’s good enough to end on.
Anatoly Yakovenko: Yeah, yeah. I agree with you. It’s tough. This is engineering problems that are really, really hard. Half of the engineering at Google are still working on them. You feel they’ve solved them all, but they haven’t.
Emin Gun Sirer: No, not at all. It’s such a wide blue yonder world out there. It’s amazing to be in it at this point in time.
Anatoly Yakovenko: Cool. Thank you so much for being on the show. It’s been a super fun conversation.
Emin Gun Sirer: Absolutely. Thank you so much for having me. It’s always fun to have a heart-to-heart hashing out of technical topics between two tech geeks. I hope people found it, at least, somewhat amusing, if not somewhat important.
Anatoly Yakovenko: Cool.
Emin Gun Sirer: Okay.
Anatoly Yakovenko: Take care.
Emin Gun Sirer: Take care. Thank you very much for having me.