Ethereum from even more perspectives - Albert Ni
ETHGlobal·Fri, Oct 9, 2020, 12:00 AM
Speaker
A talk given by Albert Ni during the Opening Ceremony of the ETHLondonUK hackathon. ETHLondonUK was an Ethereum hackathon that took place Feb. 28 through Mar. 01, 2020 at 8 Northumberland in London. ETHLondonUK was a hackathon organized by ETHGlobal and a team of hackers, developers and enthusiasts interested in building and creating in the Ethereum ecosystem. For more information visit https://ethglobal.co Video produced in collaboration with @Pillar Project
Transcript
but first Who am I well my name is Albert and the most important thing you should know about me is that I am really jet-lagged right now there's a few other things that may be worth knowing you know I studied math and si si had a pretty cool startup experience and that led to other learning experiences and eventually led me to work and help the etherion foundation today now for today's talk for those of you who saw my talkity boston the first half of this talk is mostly a redux of that I've tinkered with some parts and in the second half I'm excited to present some new concepts and tie-ins with each London so the fundamental premise of this talk is that in order to improve our understanding of complex topics we should consider a wide variety of perspectives this doesn't guarantee that we'll have enough understanding you know one of the tricky things about power laws is that you can get 99 things right but the hundredth thing you missed might dominate everything else but considering more perspectives also increases the chances that we hit on the most important thing now one of the most complex topics is forecasting the future and one lens for thinking about the future is to look at the past after all we are in the future compared to the past so to start I collected some quotes about the internet back from the 1990s so this first quote is from Robert Metcalfe 1995 the inventor of Ethernet which has nothing to do with aetherium it's kind of an ironic quote if you think about both the timing and this particular technology that has been vital to the adoption of the Internet this next quote says something I think is pretty reasonable that says that most things that succeed don't require retraining 250 million people of course we know that it's now much much more than that then we have all these promises of what the Internet is going to bring you know airline tickets restaurant reservations sales contracts and of course it makes this note that the local mall still does more business in an afternoon than the entire Internet handles in a month that might sound familiar to some of you in etherium land lastly we have this somewhat infamous quote about the Internet's impact on the economy versus the fax machine and I almost felt bad including this because I believe the context for this quote was actually to to make a somewhat contrarian statement at the time so I do think it's important to put some of these things in the appropriate context the other important context to put here is I'm not trying to actually compare if the a.m. or blotching to like be the next Internet I think doing that would be similar to the type of mistakes that these quotes made now the moment that we start thinking we know what's going to happen it's also the moment that we're at the highest risk and so that's why in almost all of my talks I like to cite the parable of the blind men and the elephant most of you probably heard this parable or some form of it in the story there's multiple blind men they're touching different parts of an elephant for whatever reason and since they each have a incomplete picture they make different and incorrect assumptions about the object they're touching so it's obvious that the blind men are making a mistake with their statements in this picture but there's actually two bigger mistakes going on first they aren't considering that they're directly interfacing with something that like may be much bigger than what what's there that they're able to experience second they are communicating with each other now I won't fault somebody for being blind that's out of your control but given that they're talking I don't think they're deaf so this part I think is on them that's why when trying to grok etherion or anything being complex I think it's important to take multiple perspectives and communicate about them we'll end up with a better picture even if it's not perfect and that's the day of this talk as well to improve our picture at least an expectation improve it by like an ethereal from different perspectives and so the first perspective is history I don't mean watching history or cryptography history or digital cache history those important but I'm going to zoom even further out now make the first four quotes which had to be broadcast by a newspaper as magazine articles or recorded presentations I got this quote directly via Twitter as a tangent I still think about this sometimes I I grew up in the Chicago area I was a big sports fan and back in 1995 Michael Jordan announced he was coming out of retirement to return to basketball if you know it was a big thing back then this announcement undoubtedly would have broken it but instead MJ had to send a fax to various newspapers and TV stations so that they could announce it in other words one of the most famous people on earth couldn't make an announcement directly because the technology essentially didn't exist it does make you wonder what dynamics might exist 25 years from now especially in light of efforts like Twitter's blue sky decentralized social media protocol and all the other things that I'm sure will be explored between now and then so back on topic type of thought experiment of all like tis imagining what it must have been like to be at certain points in history here that point in history is typing on a keyboard attached to a computer terminal now the funny thing is what you actually walk through it it's not experiment you realize that without the benefit of hindsight the reaction might not have been that positive you might go well okay you're typing and it's showing up but I've already been able to do that with this typewriter and that's been around forever another lens that I take is thinking about moving data around and how much that's changed over the years most people in this room probably haven't even used most of the technologies on this list I know for me I had some experience with floppy disks and CD ROMs but I never interacted with a Memorex 8-inch floppy for instance another story that I like to tell is how back in 1989 my parents spent $600 to buy a 20 megabyte hard drive I've joked before that it's still way cheaper than storing the amount of data on etherium but I do wonder about the parents out there who might be utilizing it there in today in spite of its limitations just as my parents did for me and something that I'm forever grateful for so another lens with which to view history is to identify places where imitation occurred as the saying goes imitation is the sincerest form of flattery and it gets especially interesting when it occurs in situations that otherwise don't make sense these in a way that gives you more precision into the thought process at the time than anything else my standard example of this is the history of JavaScript as some of you may know javascript was originally named mocha and then it was renamed to JavaScript because of Java's popularity something that it confuses people to this very day as the two languages while having some overlaps are really very very different of course javascript has long since overtaken Java as the most popular and widely used programming language in the world if there has its own interesting parallel in solidity slily was built to interface with the etherion virtual machine and it's syntax was partly motivated by JavaScript's due to JavaScript's popularity that said I think coding in solidia is probably better thought of this akin to writing bash scripts than it is to using JavaScript you know Java scripts often in a context such as a front-end context well you can get away with certain mistakes or other issues with what you're building something that is a lot less true for solidity and while we're at it there's this fun fact that you know the creator of JavaScript now works on the brave browser the brave browser was funded by an etherium token and as I noted at the beginning of this section history might not repeat but it does seem to rot another rhyme that I enjoyed digging into is that a performance optimization so I remember when I was in school there was this discussion that some would have about how important performance optimization even was anymore there was a timer it seemed like computer just kept getting faster and that any improvement in performance optimization skill would be dominated by improvements in the speed of computers as a whole of course what happened next was the smartphone revolution occurred and all of a sudden everyone had this slower computer and slower internet connection again and so of course performance engineers started matter in that context then we had block chains where performance optimization matters even more and really I think that the takeaways that will always have more use for computing power I expect to see things like homomorphic encryption computing become more popular and more common as we continue to improve those technologies and as we continue to have faster computers after all the goal was never just to be able to do computation so that leads me to the next perspective on a take which is engineering one thing that I found really interesting about the last ten years and really the last thirty but especially in the last ten years is how software engineering has changed I had this really fun conversation with this 20 year old who remarked about the blockchain in the theorem specifically that it seemed impossible to have to write code that you couldn't change afterward I then introduced this person to the cd-rom and talked through how once upon a time in a galaxy far far away you actually to ship software on these fairly immutable devices most people didn't even have the Internet and so you actually had a very similar dynamic where you pretty much had one main shot to get things right what's cool though is that software engineering companies have become increasingly safe coding environments you know coding schools become much more common people can often learn to code for three to six months and start to contribute and it's really great because it just greatly increased the accessibility of software engineering I remember one of the hardest things for me when I was working at Dropbox was that I knew that it was possible to ship a bug that killed the company you know as a file syncing program if you lose someone's files it doesn't matter if you can patch the bug afterward and we see some similar aspects with blockchain engineering it is currently a pretty unsafe coding environment one way I like to think about it is that you know computing on blockchain is kind of like imposing some laws of physical reality on to the virtual world and so one thing that I also like to point out is that maybe thinking of writing software and aetherium as software engineering might not be the most productive lens in some ways I think developing for a blockchain based computer is more like building hardware than software now that's not necessarily a bad thing after all we can build cars we can build bridges we can build skyscrapers we can build space shuttles the list goes on so I do believe that we can build systems that are complex and reliable on blockchain the key is that we're going to take approaches that are maybe more similar to the approaches that go into building complex real-world machinery and utilize different best practices the key point is also that you know people don't start building cars like by using raw metal they don't start building houses by chopping down trees there's a lot of things that we need to build up along the way in order to improve the potential of what we can put together the next perspective I like to take is the computing stack this perspective was motivated by a question that a friend asked me which was what is the most interesting technical environment you've ever worked it for me actually one of the most interesting technical problems I encountered was when I was 12 I built my own computer and I built my own computer I mean I got my parents to buy the parts that I could then assemble for a new computer so that I could have you know a shiny new computer and fulfill a school project it was really genius by me I think in a lot of ways this experience left me with a really strong memory that hey a computer is in a black box it's something that you can take apart it's something that you can kind of assemble and reassemble and disassemble that was a spark that never left me though it's been fascinating to me since then is how few opportunities I've had to work with a new computer even in a place like Dropbox which had pretty high technical requirements you know there was desktop web and mobile support the correctness requirements were high the scalability requirements were high the latency requirements for were fairly high but even there you know most of the work was confined to a fairly narrow slice of the computing stack there was never enough motivation for instance to build in your programming languages operating systems or virtual machines now with programmable blockchains it's really cool to see not just motivation but probably a need to reinvent the entire computing stack for instance no-one's going to use a new programming language today unless there's a new context where it's especially well-suited smartphones were the most recent example of that and you could argue that some of the machinery used for AI is a form of that as well but overall you need to find you context in order to get to work on new parts of the stack again along some of the lines there's going to be a necessary redesign of the entire developer experience one that's already happened a lot in aetherium and that comes with its own opportunities to make us dent you know hopefully save us from unintentional bigger dents along the way overall this is the first time in decades that so many parts of the computing stack are simultaneously accessible to be worked on in a practical context as I mentioned earlier I think it's interesting to think through points of history and what it would be like to be there and I think what's exciting here is there's an element of being present for all of these things the early days of the internet early days of operating systems and even the early days of computers themselves I certainly wouldn't have guessed that building a truly new computer would make more sense today after so much development and adoption has already occurred then it actually would have when I was 12 years old you know assembling that desktop box but as exciting as all this is it still misses what I think is a significant perhaps most significant perspective on what we're all working on here so for the next perspective I'm gonna take more of a legal or a game theoretical or mechanism design perspective as a prop question like to ask what is the purpose of the legal system or any legal system for a long time I thought it was to enforce laws I mean after all that's what it's there for right eventually I realized that a bigger effective legal systems is that they establish or attempt to establish society wide confidence that laws will be enforced this is pretty significant because Society wide confidence that laws will be enforced shifts the equilibrium for how people behave at scale and so speaking of equilibria this means that the legal system is fundamentally an example of mechanism design and people talk a lot about game theory but I don't think they talked enough about mechanism design mechanism design inverts the question of game theory instead of asking how do we play this game to maximize our aims it asks how do we design the game so that when people play to maximize their aims the result is better whatever that might mean Nakamoto consensus itself is kind of a breakthrough application of mechanism design thinking now one of the most exam well-known examples and commonly cited examples of game theory in action is the prisoner's dilemma most of you are probably familiar with this but for those of you are the key idea is that there exist situations where individual irrational behavior results in arguably globally suboptimal outcomes it's often cited as an example of the limitations of game theory however once you put on a mechanism design hat I think it gets much more interesting in particular the prisoner's dilemma is actually solvable just not directly this is what mechanism design thinking comes into play it's true that the original game yields suboptimal behavior but we can also think how do we change the game that's being played now this isn't always going to be possible but changing the payout matrix or turning the prisoner's dilemma into an iterated game instead of a one-shot game can both lead to substantial improvements in the outcomes for players that leads to my next perspective which is a deeper dive into credible commitments the incredible commitments are a really underappreciated element of the world they're almost like atoms in a physics like sense they're everywhere and their properties affect everything but we also don't think about them directly very often commitments of varying levels of credibility are all over the place for example given the choice between buying a TV from a brand that you recognize and an otherwise indistinguishable TV that does not come with a brand which one are you going to prefer brands are a form of credible commitment behind the quality of a product in essence a form of proof of stake and proof of stake itself is used as a form of credible commitment in addition to its main role of civil resistance of course another form of credible commitment is just money itself we all know that paper money has basically no intrinsic use maybe you can burn it for heat or it looks cool artistically but that's about it so its value is almost entirely tied to being a credible commitment which you know encapsulate the authority of the issuer and the difficulty of counterfeiting so one of the things that blotching is fundamentally enable is for a wider range of credible commitments to become possible for example anonymous parties can provide credible commitments using block chains traditionally this has required a mutually trusted third party even though we all don't always realize that it's there you know the legal system the government or just your run-of-the-mill company so let's consider the question that people both frequently ask and probably don't ask enough which is does this really need a blockchain when people ask this question I think they're really asking whether the increased space of credible commitments that are enabled by blockchain related concepts is being utilized along those lines just as how block chains are fundamentally a credible commitment technology etherium is fundamentally an attempt to harness and leverage the potential of credible commitments if they're enables making credible commitments or explicit flexible easy to use and widely applicable this is the crux of all programming block chains at least in my opinion and it has some really powerful implications for example we've seen how a theorem has made it possible to harness much more of the potential of zero knowledge proof based technology and applications than was previously possible on Bitcoin it's one of the clearest demonstrations of where additional flexibility and ease of use can be leveraged to a lens of credible commitments also shapes the way I think about the supposed transition from web 2.0 to web 3.0 I think that a lot of web 2.
0 will end up interfacing with programmable block chains but I don't think most of it is going to be outright replaced one way I like to think about is that computers didn't enable typing because we already had typewriters computers did enable spreadsheets and accessible internet for people similarly smartphones were terrible at word processing and spreadsheets when they first came out and they arguably still are although it was even worse than some of you may remember you couldn't even copy/paste on the first iPhone but smartphones did enable new default expectations you can now default expect a lot of people to have connectivity to have camera access and location access Ben Horowitz has an interview where I think he does a really good job going deeper into this and I think you can find on the Athenian org website along those lines programmable blockchains are also going a lot better but I don't think they're gonna be better at these quote web 2.0 things that web 2.0 currently cares about because those things have already been optimized for rather programming the bar chains enable us to build with credible commitments and brand-new ways as we first saw with Bitcoin money itself can be issued by a random anonymous person in Satoshi Nakamoto this is a concept that would have been inconceivable before now speaking of Bitcoin it's worth noting that if there's increased flexibility comes with an important trade-off it also increases the surface area of risk that actually can impact the credibility of the commitments on top of aetherium after all if you're sure that a piece of code is going to run but you're not sure that it's free of bugs it might still not be that credible in your mind this nicely segues into how aetherium and Bitcoin attempt to harness credible commitments in different and complementary ways Bitcoin doubles down on its core commitments and trying to make them as credible as possible by having a narrower more immutability centric focus now that actually comes with its own trade-offs just as the potential of bugs reduces the overall credibility of a commitment the immutability of a system even in the face of changing needs or security requirements can also reduce the credibility of its commitments there's no optimal point on this spectrum just a series of trade-offs and I in the world is likely a better place with both of these approaches being taken as well as others now another one I said earlier about the prisoner's dilemma ultimately programmable bought chains aim to provide a new primitive on top of which new systems can be designed you know we might be able to use this to ship matrices turn one-shot games into iterated games overall it's just that with new systems comes new equilibria for behavior remember we're talking about the ability to do entirely new things it's pretty hard to predict their long-term impact in a language what's the news thing numbers were a new thing legal systems electricity the internet smartphones the list goes on for things that even if they look big at the time ended up being much bigger than we thought and so with that I view programming on top of the block chains as well there's this substrate for a new type of quote language one that is built around guarantees instead of promises and as some have noted there's a hope that this would transform concepts like don't be evil into can't be evil now for my next perspective I want to talk a little bit about the talent in this space one claim that I repeatedly made is that the amount of talent and blockchain is going to grow a lot I was Dropbox's head of engineering hiring for a few years and I spent about as much time on the recruiting side of things as I did on other aspects of Dropbox during those years I would even make covert visits to other company offices to chat with people I was trying to poach and did a lot of tours of college campuses now there's a few concepts that I learned along the way for analyzing talent migration the first one is that top talent wants to work with other top talent especially when you get to work on challenging problems that also have an opportunity for impact the second concept is that top talent is actually rarely looking for new opportunities this is pretty this is an important concept because there's this assumption that you know the best people are always in the most important fields but that's actually not true because the best people are often in a situation where they're very happy and therefore less likely to be exploring because of this top where top talent is is often a lagging indicator and so one question that I like to ask friends is I know you're not looking for the change right now but if you were then what would you consider asking that question I found is helps you learn a lot more about what as what might become more interesting in the future than asking people simply what they're doing right now so yeah like I said top talent can be a lagging indicator not a leading indicator of what's interesting along those lines seeing one respected peer become interested in a new domain is probably worth more of them a thousand days of hearing about it otherwise actually hearing about it repeatedly otherwise often as a counterproductive effect and I think just like the startup world between 2008 and say 2012 or 13 we're seeing this happen increasingly often in crypto when I said that Dropbox back in 2008 and it started well it looked nothing like it does today I often like to call it startup village because everyone actually knew each other at the time and like certain villages it definitely didn't feel modern it definitely didn't feel developed back then people thought you were crazy to start or join a startup and when I told friends at MIT that I wasn't coming back for senior year they reacted as if I was told them I was going on like Hollywood to become a movie star or something and believe me nobody at MIT has what it takes to be a movie star so by 2012 the narrative had become this begun to shift you know that's true Dropbox founder and four years later he's on the cover of Forbes part of it was that the nuclear winter that had been left by the dot-com bubble was finally flying and you know move forward a few more years the startup community will become the startup world at that point people would actually look at you funny of you said you would not consider ever going to a startup now I think something similar is happening in blockchain but like with many things in this space it's going to take time while also happening at warp speed before you before you know it and then what ensures that the dam is going to burst is just how interesting this space is like these aren't empty calories here you know most people do get distracted by unsavory superficial aspects of say cryptocurrency speculation but if you look at what watch-chain based computing is an interesting environment for the list goes on and on this is one of many reasons why I'm so excited about it their names future and so that takes me to my eighth and final perspective for this talk now the word composability has gotten thrown around a lot in aetherium land lately especially in the context of decentralized finance that got me thinking what does composability look like in aetherium across all levels the first lens that I'm going to use is composability of the applications on the network or the applications on the global computer itself now it's the year 2020 and people have been talking about cross blockchain bridges for almost as long as watchings have existed great progress has been made but they're still pretty limited and decentralized finance has been a great example of the importance of being kind of within one system you know the reason how above about flash loans are a perfect example of this because it's probably gonna be hard to achieve total atomicity in a crosswalk chain way and therefore and toll atomicity is going to be irreplaceable in some contexts and as flash lines have showed Toa lesson is atomicity allows users to provide a type of credible commitment that is otherwise impossible it's an example where the difference between a hunter's me with the difference between being a hundred percent sure about something and 99 percent sure is enormous that said I do believe most examples of the composability of applications will not require you to be on the same network and we're all better off for that there's give me a lot more examples of that I remember even at each Boston there was work on using prediction markets to hedge against Black Swan risk and we've had things like crypto dragons that consume crypto kitties even though they're not actually built by the same people the second lens focuses on tools infrastructure and standards that every software engineer knows how valuable it is to not have to write your own programming language or IDE your own code review tools or even the most of your own libraries you gotta focus on the differentiated aspects of what you're trying to build while standing on the shoulders of others for everything else and beyond tools there's also infrastructure such as not having to sync an entire node just to tinker I'm not saying people shouldn't think nodes in general just that it's nice to not always have to do so and browser and smartphone support is another example of that education materials tutorials and functional tests nets are also a big part of it another thing that I think is underrated is standards now standards don't think it associated with bureaucracy and bloat but that's because we tend to only notice them once they make life harder we don't notice the standards that have made life much much easier in my opinion concepts like ERC 20 or ERC 721 continue to be underrated you know they allow people from around the world to benefit from each other's work and get compounding leverage for their efforts even the simple fact that a token adhering to certain aetherium standards is massively easier for an exchange whether centralized or decentralized to integrate seems to be regularly overlooked by investors and pundits for the third lens I think things start to get really interesting once you actually have a vibrant ecosystem magical things start to happen consider consider the following flow say you discovered a theorem somehow and then you started to tinker with it and maybe along the way you decide to attend an eighth global event you know now at the fillable event you might have even built some cool stuff and that you've met some co-founders and so next up is to get some support for your new project and as you can see there's a long list of ways you can do that and once you've been building it you'll start to showcase your effort maybe it's through online groups maybe it's through more in-person events you might find other people that want to contribute and you might even hire some of them there's also stuff like get coin bounties and other things that make it so that you can get help without always needed and make full hires and that's where maybe you come full circle and become golbez sponsor I swear they didn't tell me to put this slide in but now you have even more builders you know contributing to your project and maybe even meeting their own future co-founders and the cycle starts again now it might not work exactly like what's described here but every single step in this flow happens and has happened surprisingly often look none of this stuff is new by itself open-source isn't new composability as a new hackathons aren't new and talent flow isn't new but the way these things are coming together in a period I think is quite special now for my final perspective since taking things full circle has been a bit a theme of this talk when they take us back to one of the things in the beginning I'd like to remind everyone that we should never be overconfident in our understanding and to state once again at the moment we start thinking we actually know what's going to happen is the moment that we're at the highest risk for example the expanded space of credible commitment sounds really cool the cool doesn't necessarily mean good similarly I'd like to remind the folks in this room that almost everyone interested in a theorem of watchings today crossed an intellectual chasm to get there I jokingly like to call this the acid trip epiphany that we all shared unfortunately acid trip epiphanies don't scale usefulness is what scales and so that's why I think it's really fitting to give a talk like this at an eighth global hackathon so with that note I can't wait to see what happens this weekend and I can't wait to see what happens over the next five years thank you and have an awesome meet London everyone [Applause]
Automatic transcript — names and jargon may be misspelled.