Silvio Micali: Cryptocurrency, Blockchain, Algorand, Bitcoin & Ethereum | Lex Fridman Podcast #168

Turing Award winner Silvio Micali explains blockchain as shared ledger and money as social construct. He contrasts Bitcoin's proof-of-work with Algorand's random, token-based committees designed to solve the blockchain trilemma of scalability, security, and decentralization without sacrificing any.
Chapters
The following is a conversation with Sylvia McCauley, a computer scientist at MIT, winner of the Turing Award and one of the leading minds in the fields of cryptography, information security, game theory, and most recently, cryptocurrency and the theoretical foundations of a fully decentralized, secure and scalable blockchain and Algorand, a company of cryptographers, engineers and mathematicians that he founded in 2017. Quick mention of our sponsors Athletic Greens, Nutrition Drink, the Information In Depth Tech Journalism website, Four Sigmatic Mushroom Coffee and BetterHelp Online Therapy. Click the sponsor links to get a discount and to support this podcast As a side note, let me say that I will be having many conversations this year on the topic of cryptocurrency. I'm reading and thinking a lot on this topic. I just recently finished reading the Bitcoin Standard, a book I highly recommend. As always with this podcast, I'm approaching it with an open mind, with compassion, with as little ego as possible, and yes, with love. I hope you go along with me on this journey and don't judge me too harshly on any likely missteps. As usual, I will play devil's advocate. I will, on purpose, sometimes ask simple, even dumb questions, all to try and explore the space of ideas here with as much grace as I can muster. I have no financial interests here. I only have a simple curiosity and a love for knowledge, especially about a set of technologies that may very well transform the fabric of human civilization.
If you enjoy this thing, subscribe on YouTube, review it on Apple Podcasts, follow.
On Spotify, support it on Patreon, or connect with me on Twitter lexfriedman. And now, here's my conversation with Silvio Macaulay.
Let's start with the big and the basic question. What is a blockchain and why is it interesting? Why is it fascinating? Why is it powerful?
All right, so a blockchain, think of it, is really a common database. Distributed think about is a ledger in which everybody can write an entry in a page. You can write, I can write, and everybody can read. And you have a guarantee that everybody has the same copy of the ledger that is in front of you. So if whatever you see on page seven anyone else sees on page seven. So what is extraordinary about this is this common knowledge thing that I think is really a first for humanity. I mean, if you look at communication like right now, you can communicate very quickly images, thoughts or photos. But do you ever have a certainty that whatever you have received has been received by everybody else? Not really. And so there's a commonality of Knowledge and the certainty that everybody can write. Nobody has been prevented for writing whatever they want. Nobody can erase, nobody can tear a page of a ledger, nobody can swap page, Nobody can change anything. And that is immutable. Common record is extremely powerful, and there's.
Something fundamental that is decentralized about it. So at least in spirit, some degree against maybe a resistance to centralization.
Absolutely. If it is not decentralized, how can it be common knowledge if only one person or a few people have a ledger? You don't have a ledger. You have to ask what is on page seven? And how do you know that whatever they tell you is on page seven? They tell the same thing to everybody else. And so this commonality is extremely powerful. Just just to give you an example, assume a Veta, you do an auction, okay? You have work very hard, you build a building, and now you want to auction off. Makes sense, because you want to auction worldwide. Better yet, you want to tokenize the building and sell it in all in parcels. Now, everybody sees the bids, and you know that everybody sees the bids. You and I see the same bid, and so does everybody else. So you know that a fair price has reached, and you know who owns what and who has paid how much. And if you do it instead of otherwise, you know, in a centralized system, I put a bid, say, oh, congratulations, Alex, you won, and Your price is $12,570. I do, you know, so if instead there's a. Common knowledge is a very powerful tool for humanity.
So we return to it from a bunch of different perspectives, including, like, a technical perspective. But you often talk about blockchain and some of these concepts of decentralization, scalability, security, all those kinds of things. But one of the most maybe impactful, exciting things that leverage the blockchain, this kind of ledger idea of common knowledge is cryptocurrency. So in the financial space, so is there. Can you say in the same kind of basic way, what is cryptocurrency in the context of this common knowledge? In the context of the blockchain, Great.
Cryptocurrency is a currency that is on such a ledger. So imagine that on the ledger, initially, you know, that somehow, say, you and I are the only owner each one. Let's give it ourselves a billion each of whatever this unit. Then I start writing on the ledger. I give 100 of these units to my sister. I give this much to my aunt. And then now, because it's written on the ledger and everybody can see, my sister can give 57 of these units that she received from me to somebody else. And that is money. And that is money. Because you can see that somebody who tenders your payment has really the money there, right? You don't have any more of a doubt when you want to sell an item. If I write you a check, is the check covered or do I have the money at the moment of a transaction? You really see because the ledger is always updated. What you see is what I see, what the merchant sees. You know that the money so is the most powerful money system there is because it is totally transparent. And so you know that you have been paid and, and you know that the money is there. You have not to second guess anything else.
So the. The common knowledge applied there is you're basically mimicking the same kind of thing you would get in the physical space, which is if you give 100 bucks or 100 of that thing, whatever, of that cryptocurrency to your sister, the actual transfer is as real as you giving like a basket of apples to your sister. Because so in the case in the physical space, the common knowledge is in the physics right of the atoms and then it's digital space. The common knowledge is in this ledger. And so that transfer holds the same kind of power, but now it's operating in the digital space.
Correct.
Again, I apologize for a set of ridiculous questions, but you mentioned cryptocurrencies and money. What is money? Why do we have money? Do you think about this kind of from this high philosophical level at times of this tool, this idea that we humans have all kind of came up with and seem to be using effectively to do stuff?
Money is a social construct, okay. In my opinion, and this has been somehow people always felt that somehow money is a way to allow us to transact even though we want to different things. So I have two sheep and then you have one cow and I want the cow, but you are looking for blankets instead. You know, so to have money is really simplifies this. But at the end of that's why a bit was invented. And you started with gold, you started with coinage, then you started with Czech. But at the end of the day, money is essentially a social construct because you know that what you receive, you can actually spend with somebody else. And so there is a kind of a social pact and social belief that you have. At the end of the day, even a barter requires this beliefs that other people are going to accept the quote unquote currency you offer them. Because if I'm a mason and you ask me to build a wall in Your field, and I did. And you, in exchange, you give me a pheasant. Sheep. What am I going to do, eat them all? Now I have to feed them. And if I don't feed them, they die. My value is zero. So in receiving these livestock, I must believe that somebody else will accept them in return for something else. So money is social belief, social shared belief system that makes people transact.
That's fascinating. I didn't even think about that. You have a deep network of beliefs about how society operates. So the value is assigned even to sheep. Based on that, everyone will continue operating how they were previously operating. Somebody will feed the sheep. I didn't even think about that. That's fascinating. So that directly transfer to the space of money and then to the space of digital money. Cryptocurrency. Okay. Does it bother you sort of intellectually when this money that is a social construct is not directly tied to physical goods like gold, for example?
Not at all. Because after all, gold has some industrial value. Nobody denies it. It's a metal. It doesn't oxidate. It has some good things about it. But does this industrial value really represent the value at which it now is traded? No. So gold is another way to express our belief. I give you an ounce of gold, you treat it like, oh, somebody else will want this for doing something else. So it is really this notion of this money is a mental construct and is shared, is a social construct. I really believe. And so some people feel that it's physical. So therefore gold exists. Then, as you know, now countries, most sophisticated countries right now, they print their own money. And you believe that they are not going to exaggerate with inflation. Not everybody believes it, but I'm saying there is at least they are not going to exaggerate blatantly. And, and therefore you receive it because you know that somebody else will accept it, will have faith in the currency and so on and so forth. But whether it is gold, whether it's livestock, whatever it is, money is really a shared belief.
So there, there is something, you know, and I've been reading more and more about different cryptocurrencies. There is a kind of belief that the scarcity of a particular resource, like Bitcoin has a limited amount and it's tied to physical, you know, to proof of work. So it's tied to physical reality in terms of how much you can mine effectively and so on. That that's an important feature of money. Do you think that's an important feature to be part of whatever the money.
Is that is certainly a very useful part. So at some point in time, you know, assume that money is something that all of a sudden we say, daisies are money are the currency. Then I offer you 10 daisies in payment of whatever goods and services you want to provide. But at the end of the day, if you know that you can cultivate it and generate them at will, then perhaps you should not accept my payment. Here is a bouquet of daisies. So you need some kind of a scarcity. The inability to create suddenly out of nothing is unimportant, and it's not intrinsic necessity. But it's much easier to accept once you know that there is a fixed number of units of whatever currency there is. And therefore you can mentally understand, I'm getting this much, this piece of the pie, and therefore I consider myself paid. I understand what I'm receiving.
You describe the goals of a blockchain. You have a nice presentation on this as scalability, security and decentralization. And you challenged the blockchain trilemma that claims you can only have two of the three.
So let's talk about each.
What is scalability in the context of blockchain and cryptocurrency? What does scalability mean?
So remember we said that the blockchain is a ledger and each page receives a. Gets some transaction, and everybody can write in these pages of a ledger, nobody can be stopped for writing, and everybody can read them. Okay, Scalability means how fast can you write? Just imagine that you can write an entry in this spatial shared ledger once every hour. Well, you know, what are you going to do if you have one transaction per hour? The world doesn't go around. So you need to have. Scalability means here that you can somehow write a lot of transactions and then you can read them and everybody can validate them. And that is the speed and the number of transactions per second and the fact that they are shared. So you want to have the speed not only in writing, but in sharing and, and an inspection for validity. That's a scalability. The world is big. The world wants to interact, the people want to interact with each other. And you better be prepared to have a ledger in which you can write lots and lots and lots of transactions in this special way very, very, very quickly.
So maybe from a more mathematical perspective, or can we say something about how much scalability is needed for a world that is big?
Well, really depends how many transactions you want. But remember Vietnam, I think right now yet to go into at least a thousand subtransactions per second, Even if You look at credit cards, right? We are going to go from an average of 1600 to peaks of 20,000, 40,000, something like this. But, but remember, it's not only a question of a transaction per se, but the value is that the transaction is actually being shared and visible to everybody. And the certainty that that is the case, I can print on my own printer. Way more transactions than nobody has the time to see or to inspect. That doesn't count, right? So you want scalability at this common knowledge level. And that is the challenge.
I also meant from a perspective of like a complexity analysis. So does it, you know, when you get more and more people involved, does it need to scale in some kind of way that like. Do you like to see certain kind of properties in order to say something is scalable?
Oh, absolutely. I took a little bit implicitly that the people transacting are actually very different. So if there is two people who can do thousand transactions per second with each other, this is not so interesting. What we really need is to say there are billions of people and at any point in time thousands and thousands of them want to transact with each other. And you want to support that.
So algorand it solves. So that's the company, the team of cryptographers, mathematicians, engineers. So on that challenge, the blockchain trilemma. So let's break it down in terms of achieving scalability. How do we achieve scalability in the space of blockchain, in the space of cryptocurrency?
Okay, so scalability, security, remember and decentralization. So that's what you want.
What's the best way to approach. Can we break it down? Let's start with scalability and think about how do we achieve it.
Well, to achieve it one at a time is perhaps easy, even security. If nobody transacts, nobody loses money. So that is secure, but it's not scalable. Good point. Let me tell you, I'm a cartographer, so I try to fight the bad guys. And what you want is that a vesselager that we discussed before cannot be tampered with. So you must think of it. That is a special ink that nobody can erase. Then it has to be. Everybody should be able to to read and not to alter the pages or the content of the pages. That's okay. But you know what? That is actually easy cryptographically. Easy cryptographically means you can use tools invented 50 years ago, which in cryptographic time is prehistory. Okay, we are cavemen walking around and solve their problem in cryptography land. But you know, but there is really a fundamental problem, which is really almost a social, seems a political problem, is to say who the hell chooses or publishes the next page on the ledger. I mean, that is really the challenge. This ledger, you can always add a page because more and more transaction had to be written on there. And somebody has to assemble this transaction, put them on a page and add to the next page. Who is the somebody who chooses the page and adds their own.
Who can be trusted to do it?
Exactly. Assume it is me for the time being. Not that I won't volunteer for the job, but then I would have more power than any absolute monarch in history, because I would have tremendous power to say these are the transactions that the entire world should see. And whatever I don't write, this transaction will never see the light of day. I mean, no one had any such a power industry. So it's very important to do that. And that is the quintessential problem in a blockchain. And people have thought about it to say, it's not me, it's not you. But for instance, in proof of work, what people say is, they say, okay, it's not me, it's not you. You know what it is? We make a very difficult, we invent a cryptographic puzzle, very hard to solve. The first one to solve it as the right to add one page to the ledger on behalf of everybody else. That now seems okay. Because, you know, sometimes I solve a puzzle before you do, sometimes you solve before I do or before somebody else, somebody else solves it, it's okay.
And presumably the effort you put in is somehow correlated with how much trust you should be given to add to the ledger.
Yeah. So somehow you want to make sure that you need to work because you want to make sure that you get one solution every 10 minutes. Say like in particular example Bitcoin, so that it's very rare that two pages are added at the same time. Because if I solve a puzzle at the same time you do, it could happen that if it happens once or twice, we can survive it. But if it happens every other page is a double page, then which of the two is the real page? It becomes a problem. So that's why in Bitcoin it is important to have substantial amount of work so that no many, how many people try on earth to solve a puzzle? You have one solution out of how many people are trying every 10 minutes so that you distantiate these pages and you have the time to propagate for the network resolution and the page attached to it. And therefore there is one page at a time that is added. And they say, well, why don't we do that? We have a solution. Well, first of all, a page every 10 minutes is not fast enough. So it's a question of scalability. And second of all, to ensure that no matter how many people try, you get one page every 10 minutes, one solution to the riddle every 10 minutes. This means that the riddle becomes very, very hard. And to have a chance to solve it within 10 minutes, you must have such an expensive apparatus in terms of specialized computers, not one, not two, but thousand and thousand of them. And they produce tons of heat, okay. They dissipate heat like maniac, and you need to refrigerate them too. And so then now you have air conditioning galore to add to the thing. It becomes so expensive that fewer and fewer and fewer people can actually compete in order to add to the page. And the problem becomes some crucial veteran in Bitcoin. Depending on which day of the week you look at it, you are going to have two or three mining pools are really the ones capable of controlling the chain.
So you're saying that's almost like leads to centralization, Right?
It started being decentralized, but the expenses become higher and higher and higher. When the cost becomes higher and higher, fewer and fewer people can afford them. And then it becomes de facto centralized, right?
Yeah.
And a different type of approach is instead, for instance, a delegated proof of stake, which is also very easy to explain, essentially boils down to say, well, look at these 21 people. Say, okay, don't they look honest? Yes, they do. In fact, I believe that they're going to remain honest for the foreseeable future. So why don't we do ourselves a favor? Let's entrust them to add the page on behalf of all of us to the ledger. Okay. Okay. But now we are going to say, is this centralized or decentralized? Well, 21 is better than 1, but to say is very little. So if you look at when people rebelled to centralized power, I don't know, the French Revolutions, okay, There was a monarch and the nobles.
Yes.
Were there 21 nobles? No, there were thousands of them. But there were millions and millions of disempowered citizens. So 1 is centralized, 21 is also centralized.
So that's delegated proof of stake. Delegated, kind of like representative democracy, I guess.
Yes. Which is good, working great, right? It's working great, working well. It's better than.
But there's problems.
There are problems. And so we were looking for a Different when thinking about Algorand for a different approach. And so we have an approach in vetino is really, really decentralized because essentially it works as follows. You have a bunch of tokens, right? These are the tokens that have equal power. And you have say 10 billions of tokens distributed to the entire world and the owners, each token has a chance to add the ledger equal probability, everybody else, in fact, actually, if you want, here is how it works. So think about by some magic cryptographic process, which is not magic, it's mathematics, but think of it as magic. Assume that you select a thousand tokens and so sometimes are random, okay? And you have a guarantee that they are random selected. And then the owners of these 1,000 tokens somehow agree on the next page. They all sign it and that is the next page, okay? So it is clear that nobody has the power. But once in a while one of your tokens is selected and you are in charge of this committee to select the next page. But this goes around very quickly. So and if you look at this, the question really is that it's not really centralized and because for agreeing on the same page, it is important that the 1000 tokens that you randomly selected are in honest ends, the majority of them. So which if the majority of the tokens are in honest ends? That is essentially true, because if the majority of the tokens are in honest ends, if you select, say 90% of the people are, 90% of the tokens are in honest ends. So can you randomly select 1000 in this thousand you find the 501 tokens in bad ends very, very improbable.
So basically when a large fraction of people are honest, then you can use randomness as a powerful tool to get decentralization. So what does honesty mean? And now we're into the social side of things, which is, how do we know that like the fraction, the large fraction of people or participating parties are honest?
That is an excellent question. So by the way, first of all, we should realize that the same thing is for every other system. When you look at proof of work, you rely that the majority of the mining power is in honest hands. When you look at a delegated proof of stake, you realize that the majority of these 21 people are honest. What is the difference? The difference is that in these other systems you so to say the whole economy is secure. If the majority of this small piece of economy are honest. And that is a big question. But instead in Algorand and our approach, we say the whole economy is secure. If the majority of the economy is honest, in other words, who can subvert Algorand is not a majority of a small group, but is a majority of the token holders had to conspire with each other in order to sink the very economy for which they own the majority of that. I think it is a bit harder.
To like a self destructive majority essentially.
And you're also making me realize that.
Basically every system that we have in the world today assumes that the majority of participants is honest.
Yes. The only difference is the majority of whom and in some cases the majority of a club and in our case it's the majority of the whole system.
The whole system, okay, so that's fast. So through that kind of random sampling you can achieve decentralization. You can achieve. So the scalability. I understand. And then the security that you're referring to, basically the security comes from the fact that the sample selected would likely include honest people. So it's very difficult to. So by the way, the security as you, as you mentioned that you're referring to is basically security against dishonesty, right? Or manipulation or whatever.
Yes, yes. So essentially then what you're going to do is to the following and say, you say well Silvio, I understood what you're saying, but somebody has to randomly select these tokens. Then I believe you. So then who does this random selection?
That's a good point.
And in Algorand we do something a little bit unorthodox essentially is the token choose themselves at random. And you say if you think about it, that seems to be a terrible idea because if you want to say choose yourself at random and whoever chooses himself is a thousand people committee, you choose the page for the rest of us. Because if I'm a bad person, I'm going to select myself over and over again because I want to be part of the committee every single time. But, but not so fast. So what do we do in Algorand? What does it mean that I select myself? That each one of us in the privacy of our own computer, actually a laptop. What you do is that you execute your own individual lottery. And think about that. You pull a lever of a slot machine. You can only pull the lever once until you win, not enough times until you win. And when you pull the lever, case one, either you win in such a case you have a winning ticket or you lose, you don't get.










