Ethereum from multiple perspectives - Albert Ni
ETHGlobal·Wed, Oct 9, 2019, 12:00 AM
Speaker
Albert Ni discusses multiple ways of viewing Ethereum the technology at ETHBoston.
Transcript
Class. OK. Um, wait a second. Perfectly. Thank you to everyone who came.
So, you know, we're on campus. I decided to pay a little tribute to my student experience, and we'll do a quick intensive review. We're going to go through a bunch of different ways to look at Ethereum very, very quickly. I won't be able to spend much time on most of these topics, but I hope to give you some interesting food for thought, and I would be happy to discuss each of them later. So, first a quick So, first a quick , not very important, but brief introduction to me.
Studied mathematics and computer science, quite close to here, at MIT back in the day. I live in San day. I live in San Francisco. I had an interesting experience early on at a company called Dropbox. I learned a lot there .
I did other things after that, and for the last couple of years I've been helping the Ethereum Foundation. So, as I said about today's conversation, we're going to look at a bunch of different perspectives. Um different perspectives. Um , but before we dive into specific perspectives, why is this important? And I think one of the reasons why this is important is that when you have a complex topic, it's valuable to look at it from different perspectives to better understand it.
And if you think not, it won't be that hard to understand. Well, I decided to dig up some interesting quotes that are about 20 years old. Um, first of all, ironically Um, first of all, ironically , the inventor of Ethernet has nothing to do with Ethereum, but he had a lot to do with the internet. So it was interesting to see a quote from the inventor of Ethernet about the internet. Um, here's something about, you know, retraining 250 million people.
Who is going to do this for the internet anyway? Um, this one's a little longer, but it's basically about my local mall doing more business than the entire internet and stuff. And I almost felt guilty about including it. He got a lot of criticism for that, but, you know, the infamous Paul Krugman quote. Um, I want to make it clear that I'm not trying to compare blockchain or Ethereum to the internet or Ethereum to the internet .
That would be the complete opposite of what I think we should be doing. Actually, what I'm getting at is , you know, many of you have probably heard the parable of the blind men and the elephant, right? And the idea is similar to how different blind people touch different parts of an elephant. They all have an incomplete and false idea of what they are touching. And if you think about trying to predict the future or understand where things are going, it's kind of analogous.
So I decided to try this multifaceted approach multifaceted approach , and the first aspect is history. As they often say, history doesn't repeat itself, but it rhymes, and I started with a quote from Balaji on Twitter that's only a few weeks old, or maybe a couple of months old . But yes, I think studying the past is often just as fascinating as trying to think about what the future will be like. I recently had a thought: imagine typing on a keyboard for the first time and seeing the letters appear on the screen. Of course, this is quite natural for us today .
But imagine being present at that very first moment. When I thought about it, I realized that most people probably didn't care. Many people must have thought: we can already do this on a typewriter, so what's the big deal? And if you think about, for example, data transfer, right? Many in this room are probably too young to have used the first of these things, but over the years there has been a significant evolution in the ways in which information is transmitted.
I remember that my family was not wealthy. But the only thing we invested a lot in was technology. My parents tell me how, when I was two years old, they spent $600 on a 20 megabyte hard drive for my first computer. I feel very lucky that they cared enough to make such an investment. But just think about it for a moment.
Of course, this is still better than storing data in Ethereum now, but it's a lot of money for a very small amount. Another interesting thing, if you look at it from a historical perspective, is the phenomenon of imitation. As they say, imitation say, imitation is the sincerest form of flattery. And it becomes even more interesting when the imitation is completely meaningless. One of my favorite examples favorite examples is how JavaScript was originally called Mocha.
It was renamed JavaScript because Java, a completely different language that works differently, was extremely popular at the time. They're like, popular at the time. They're like, "Okay, yeah, we'll just call it JavaScript." And now it is the most used programming language in the world. Hmm, there's a pretty interesting parallel here.
There is Solidity, which many of you may know about. It is used for writing, this is one of the ways to create contracts in Ethereum. It is used to interact with the Ethereum virtual machine. The syntax was largely inspired by JavaScript due to its popularity, although I think programming in Solidity is better thought of as writing, you know, bash scripts. It's probably not worth using a front-end developer approach when building something on Ethereum.
Not that it stops many people, but hey, we have what we have. Oh, and just as a fun fact, even the creator of JavaScript is working on the Brave browser. This is actually a great browser. If you have n't tried it yet, you don't necessarily need blockchain to use this browser. Um, but it was funded with a token issued on Ethereum.
So, as I said, history doesn't repeat itself, but it rhymes. In this context, a certain "rhyme" regarding productivity optimization can be traced throughout history. I'll go over this a little bit more quickly, but in 2005, when I got to MIT, I remember there was this controversial notion that performance optimization wouldn't matter anymore. It made sense at the time , as computers were getting faster and faster. Like, yes, you can optimize performance, but you can also make the code more readable or accessible in other ways.
Will it be necessary to optimize things so much in 10 years? Of course, then came the smartphone revolution smartphone revolution , and suddenly everyone had some kind of slow computer with even slower internet, and optimizing performance became important again. And now we have, you know, blockchain computing. This is, in essence, a return to the very beginning. It's almost like computing on punch cards or on mainframes.
Um, now I'll look at it from the other side—from an engineer's perspective, okay? And one thing that I find really fascinating over the last 15 years is last 15 years is how much software development has changed. I remember talking to someone about building products on Ethereum, a very capable guy, a great person, but he said, "How can you write code, then, you know, put it on this blockchain, and not be able to change it after that?" It just seemed impossible. And I'm like, "Oh yeah, you've probably never used a CD-ROM, right?"
How do you think when people released software on CD-ROM, how did they update it back then? And that's because software development companies today have become a much safer environment, and that's great. This made software development much more accessible. On the other hand, blockchain hand, blockchain development is like moving from the city to the jungle. This is a dangerous environment to write code in.
And one of the reasons for this is that blockchain computing is like imposing certain laws of physical reality on the virtual world. This explains why you might have a deficiency, for example. That's why I often say that I'm not sure whether writing software on Ethereum should actually be considered software development. It's more like building hardware than software. And in this vein, you know, I am confident and optimistic about the future of blockchain-based systems.
Because we build cars, bridges, skyscrapers, space shuttles, and I think we can build complex but reliable systems on blockchain. But we will have to use very different best practices than the ones we use today. The third perspective is the research perspective. So, blockchains are often considered inefficient, but they are actually very efficient at what they do fundamentally. They allow a large number of individual nodes or entities to reach a probabilistic consensus on something.
You don't need to know everyone else on the network. You don't need to be connected to everyone. You know, when I was studying distributed algorithms at MIT, we were working with 50 nodes and assuming they were all on the same network and all that. And now you can have 10,000 or more nodes reaching consensus with very high probability, using many of the principles that blockchains work on. It's just that when you try to do more things on top of that, other factors come into play that make them much less effective.
And one more thing that I think is interesting from a research perspective: cryptography, as many of you know, uses computational complexity as its fundamental building block. The fact that certain things are hard to do is actually a good thing, because that's what allows us to have cryptography and build things on top of it . And cryptoeconomics is what blockchains add to this equation. They add this economic component, which essentially gives you more leverage to work with. It uses this economic or incentive-based or game theory complexity as a fundamental building block in addition to cryptography and other such things.
So overall, I find it fascinating that in the context of Ethereum or blockchain, I've come across things that I thought I'd never see again after college, when I decided I wasn't going to, you know, I don't know, get a PhD in mathematics or something. Quick examples would be Fermat's little theorem or just any abstract algebra. Never thought I'd see it again. Um, zero- disclosure evidence. So, I mentioned them at parties because I thought it made me look cool, but in reality it probably had the opposite effect.
Like, hey, you know, there's this thing called zero- disclosure evidence, and if I, for example, hide the ball behind my back and do this, and people ask, "What are you even talking about?" And also Professor Ron Rivest, who I saw last May at the VDF Day event, who I can tell you more about if you can find me later. So it was cool that the Ethereum blockchain brought some of those things back into my life, and in general Ethereum and other blockchain other blockchain systems have done a lot to stimulate research and development in cryptography and zero- knowledge proofs, as well as distributed systems, consensus, and so on. Moving on, we have a look at the compute stack, right? When I think back to the most interesting technical environments I've been in, one of the defining moments for me was when I built a computer at the age of 12.
Well, I mean, I didn't quite put it together. I just bought a bunch of parts. It was an excuse for a school project to make parents pay for all of this. But I bought a bunch of spare parts. I connected them together.
I had to make sure everything fit. Like the body and all that. And I was forever reminded that yes, a computer yes, a computer is a thing that can be taken apart. A computer taken apart. A computer is a thing that has parts, and each of these parts can be disassembled in turn.
And that always stayed with me. And you know, even when I was working at Dropbox when I was working at Dropbox , I found it interesting that I never had to dive that deep into the stack. And Dropbox is deep into the stack. And Dropbox is already a fairly complex engineering software system by modern standards. For example, a desktop application, which currently has very few products.
He had extremely high demands on the correctness of his work. And even then, we barely went beyond this fairly narrow segment of the computing stack. Today, when I look at blockchain I look at blockchain computing, it's very interesting to see this opportunity and the need to reinvent the entire computing stack. I mean, it's one thing to mean, it's one thing to just create a programming language, but today no one will use it unless it has a new context in which it would be particularly useful. So, just as smartphones became a new context and gave rise to many new programming languages and paradigms, we may see something similar in blockchain.
And so is the entire developer experience. You know, I mentioned cars, bridges, and skyscrapers. I often tell people that I wouldn't want to drive over a bridge that was built on JavaScript. And so, we probably have a lot more work to do on this front. Overall this front.
Overall , I think this is the first time in decades that so many parts of the computing stack have become available for practical use at the same time. I've thought a lot about, " thought a lot about, " What was it like to be part of the birth of the internet, or operating systems, or even computers themselves?" And I feel very lucky, because in a way it's like being present at all these events at the same time, just in a new context. So let's move in another direction for a moment—to a legal or game-theoretic perspective. One thing that blockchain and working in a blockchain environment has helped me understand better is, for example, the purpose of the legal system.
I used to think that the legal system existed to enforce laws, but now I understand that it exists in part to create public confidence that laws will be enforced. The presence of such public confidence changes the balance in how people behave on a societal scale. Here's what's interesting. When a large group of people start thinking about something differently, it has other macro effects on how they are likely to act. So one of the things that I think is still underappreciated in blockchains—I'm not sure it's entirely possible yet, but we're moving in a direction where you can have anonymous, trusted commitments for important things, which would have been an oxymoron even 10 years ago .
Previously, we would have achieved this with the help of some jointly trusted third party. But overall, we see this new primitive, and when new primitives appear, it creates new equilibria for new behavior. What kind of behavior? Well, you know, it's still very, very you know, it's still very, very early, but it's an exciting prospect. Many of you are probably familiar with the prisoner's dilemma.
If you don't know what it is, I don't have time to go into it here, but I definitely recommend googling it and just reading about it. This is one of the most exciting things. And one thing I always try to remind people is that the prisoner's dilemma is actually solvable. It's just not directly solvable. In particular, you have to either change the payoff matrix to imply some kind of connection or even deeper commitment, or turn the prisoner's dilemma into an iterative game, and then it becomes much more profitable, even if the one-time game is unprofitable.
And again , with this new kind of language that can be built around guarantees rather than promises, I don't know promises, I don't know if that's really going to happen, but I've heard people talk about this " about this " don't be evil" versus "you can't be evil" confrontation. And hopefully we can see the innovations that lead to that. So, the last important perspective is talent. This is a pretty bold statement, but I really think the amount of technical talent in blockchain will grow significantly. And the reason for this lies in several concepts.
First, the best technicians always want to work with other best technicians technicians . I mean, I think it's pretty easy to understand. But here’s another thing to remember: the best technical talent rarely seeks out new opportunities. They are fine where they are. They usually, you know, work on interesting things, they're appreciated where they are appreciated where they are , and all that.
So if you really want to understand what might emerge, you shouldn't ask people what they do or look at what they do. You want to say, "If you were looking for a change, even though I know you're not, what would you consider?" And so, paradoxically, top talent is actually a lagging indicator, not a leading one. This is something that is really important to remember. And with that in mind, when you see a respected colleague taking an interest in a topic, it's worth more than a thousand days of hype and news.
So, you know, I remember joining Dropbox in 2008. It was a pretty small team, right? And people said, "Well, it's a startup." This is strange. You should go to graduate school, study finance, work at Microsoft, or somewhere else.
And a few years later, the founders were on the cover of Forbes, and people were like, "Oh, this startup is actually pretty interesting." And, you know, before 2016, it was almost strange if you weren't interested in startups. So, it happened pretty quickly. Because I believe that blockchain believe that blockchain computing is the most interesting environment that not only software engineers software engineers , but also economists, cryptographers, lawyers, and even network marketers have encountered in a long time. It is a real center of gravity for a wide variety of people, and when they come together, who knows what will come of it knows what will come of it .
So my final thoughts: like I said, who knows what will come of this? It is not a fact that Ethereum will only be part of the solution to the problems. I think it is quite likely that it will also cause a lot of problems, whether it is Ethereum or other programmable blockchain systems. This is something we must constantly remember, again trying to look into the future to look into the future - it's the same story about the blind men and the elephant. I think it's important for all of us to remain humble and continue to think about what we're missing .
What are we not seeing as we move towards this new frontier? So finally, remember what I said about a lot of people not caring, and probably did care at first—like, so what? There's this computer terminal, but what do you even do with this computer thing? Who is interested in this anyway ? I think it's also important for everyone here to remember everyone here to remember : almost everyone interested in Ethereum or blockchain today has essentially crossed an intellectual divide, but the general public doesn't care.
In order for the mass user to start interacting with blockchains, we will have to overcome the practical utility gap. And in that sense, blockchain is very different from Facebook, the internet, or anything else, where you can say, "Oh, look at these growth numbers." Well, the first 10,000 Facebook users, I know because I was one of them, did pretty much the same thing as the ten millionth user. They just, you know, looked at each other's photos and wrote things on each other's walls. But the first 10,000 blockchain users had a kind of psychedelic insight into how the world works.
And the ten millionth blockchain user blockchain user probably won't even know they're using blockchain. So, we're going to have to bridge this gap in utility. That's why it's so cool to be at a hackathon. Yes, and I hope that as we look at Ethereum in 2019, we will continue to build and evolve together, and see a very different Ethereum in 5 years. So, thank you all.
Automatic transcript — names and jargon may be misspelled.