Transcript
YAaJ6j1DNeg • Ethereum Basics (Vitalik Buterin) | AI Podcast Clips
/home/itcorpmy/itcorp.my.id/harry/yt_channel/out/lexfridman/.shards/text-0001.zst#text/0336_YAaJ6j1DNeg.txt
Kind: captions Language: en so then what is the origin story maybe the human size but also the technical side of ethereum sure so I joined the Bitcoin community in 2011 and they started by just writing I first wrote for the sort of online thing called Bitcoin weekly then I started writing for Bitcoin magazine um and sorry to interrupt you have this funny kind of story true or not is that you were disillusioned by the downsides of centralized control from your experience with Wow world of warcraft is this true or you're just being witty I mean the event is true the fact that that's the reason I do decentralization is witty maybe just a small tangent have you always had a skepticism of centralized control is that sloppy Korea has that feeling evolved over time or is that just always been a core feeling that decentralized control is the future of our human society it's definitely been something that felt very attractive to me ever since I can't afford that such a thing is impossible possible yeah it's so great so you're you joined the Bitcoin community in 2011 you say you began writing so what what's next started writing moved from high school to university halfway in between that spent a year in university then at the end of that year I had dropped out to do Bitcoin things full-time and this was a combination of continuing to write Bitcoin magazine but also increasingly work on software projects and I traveled around the world for about six months and just going to different Bitcoin communities like I went to first in New Hampshire then Spain other European places I'm Israel and then San Francisco and along the way and have met a lot of other people that are working on different Bitcoin projects and when I was in Israel there were some kind of very smart teams there that were working on ideas that people were starting to kind of called Bitcoin 2.0 so one of these worse colored coins which is basically saying that hey let's not just use the watchit for Bitcoin bullets also I kind of issue other kinds of assets on it and then there is a protocol called master coin that supported issuing assets but also supported many other things like financial contracts like domain name registration and a lot of different things together and I spent some time working with these teams and I quickly kind of realized that this master coin protocol could be improved by kind of generalizing it more right so the best the analogy I use is that the master coin protocol was like this Swiss Army knife you have 25 different transaction types for 25 different applications but what I realized is that you can replace a bunch of them with things that are more general-purpose so one of them was that you could replace like three transaction types for three types of financial contracts with a generic transaction type for a financial contract so just once you specify mathematical formula for kind of kooky how much money each side gets by the way it's a small pause what's you say financial contract just the terminology what is the contract what's a financial contract so the this is just generally an agreement where I know if either one or two parties kind of put collateral or kind of in and then they depending on and if certain conditions like this could involve prices of assets this could involve different the actions of the two parties could involve other things but they you kind of get and of different amounts of assets out that it just depends on things that happened so a contract is really a financial contract as at the core it's the it's the core interactive element of a financial system yeah there's there's many different kinds of financial contracts like there's things like options where you kind of give someone the right to buy a thing that you have for some specific price for some period of time there's contracts for difference where you basically are kind of making a bet that says like for every dollar this thing goes up I'll give you $7 or for every dollar the thing goes down you give me $7 like that you know but the main idea that these contracts have to be enforced and trusted there yes exactly you have to trust that they will work out in the system when nobody can be trusted yes this is such a beautiful complicated system okay so the huge seeking to kind of generalize this basic framework of contracts mm-hmm so what is that entail so what what technically are the steps to creating aetherium sure so I guess just they're gonna continue a bit with this master coin story so started by an of giving ideas for how to generalize the thing and eventually this turned into a much more kind of fully fleshed proposal that just says hey how about you scrap all your future is and instead you just put in this programming language and I gave this idea to them and their response was something like hey this is great but this seems complicated and it seems like something that we're not gonna be able to put onto our roadmap for a while and my response to this was like wait do you not realize how revolutionary this is well just go do it myself and then I what was the name of the programming approach I just called it ultimate scripting great so then I went through a couple more rounds of iteration and then the idea for aetherium itself started to form and the idea here is that you just have a blockchain where the cores unit of the thing is what we call contracts as this and if accounts that can hold assets and that they have their own internal memory but that are controlled by a piece of code and so if I send some ether to a contract the only thing that can determine where that and if either the the currency inside aetherium I never goes after that is the code of that contract itself and so basically you're kind of sending assets to computer programs becomes this kind of paradigm for creating these sort of agreement self executing agreements self executing as so cool that code is that are part of this contract so that that's what's meant by smart contracts yeah so how hard was it to build this kind of thing harder than expected I mean originally I actually thought that this would be a thing that I would kind of casually work on for a couple of months publish and then go back to university then I released it and a bunch of people or I released a white paper white paper that yeah the idea paper a whole bunch of people came in offering how about huge number of people and have expressed interest and this was something I was totally not expecting and then I have realized that this would be something that's kind of much bigger than I had ever thought that it would be and then we started on this kind of much longer development slog of making something that lives up to this sort of much higher level of expectations what are the some of those is it fundamentally software engineering challenges it was our social okay so there's a social so so what are the biggest interesting challenges that you've learned about human civilization and in software engineering through this process so I guess one of the challenges for me is that like I'm one of the I know apparently unusual geeks course and have never treated with anything but kindness in school yes and so when I God into crypto I kind of expected everyone will just kind of be the same kind of altruistic and nice in that same way but the and of the algorithm that I used for finding co-founders for this thing was not very good it was and if literally what computer scientists called the greedy algorithm it's said of the first 15 people who replied back offering to help and if I were the cofounders do you mean like literally the the people that for will form to be the founders cofounders of the community the algorithm I like how you call it the algorithm yeah and so what happened was that these but especially as the project's got really big started to be a lot of this kind of infighting and there are a lot of like I wanted the thing to be a non-profit and some of them wanted to be a for-profit and then there started to be people who were just kind of totally unable to work with each other there were people that were kind of trying to get an advantage for themselves in a lot of different ways and this just about six months later led to this big governance crisis and then we got a reshuffled leadership a bit and then the project kept on going that nine months later there was another governance crisis and then there was a third governance crisis and so is there a way to looking at the human side of things is there a way to optimize this aspect of the cryptocurrency world it seems that there is from my perspective there's a lot of different characters and personalities and egos and like you said I don't know you know I also like to think that most of the world mostly people in the world are well-intentioned but the way those intentions are realized may perhaps come off as you know as negative like what is there is there a hopeful message here about creating a governance structure for cryptocurrency that where everyone gets along and after about four rounds of reshef like I think we've actually come up with something that seems to be pretty stable and happy and I think inion I definitely do think that you know most people are well-intentioned I just think that one of the reasons why I like decentralization is just because there's like this thing about power where power attracts people with egos and so that just allows a very small percentage of people to just ruin so many things you think you go as uh you think ego has a use like is ego always bad it seems like sometimes does well then the etherium research team I feel like we've found also kind of a lot of very good people that are just I mean if primarily you're just interested in things for this nology and the thing says seem to just generally be going quite well yeah when you're when the focus and the passion is an attack so on so that's the human side of things but and the technology side like what have you learned what would have been the biggest challenges of bringing aetherium to life on the technology side so I think first of all just you know there's like the first law of software development which is that when someone gives you a timetable of which the unit of time to the next largest unit of time and add one and like we basically fell victim to that and so instead of taking there's like three months it ended up taking like 20 months to watch the thing and that was just I think under estimating the sheer technical complexity over the thing there were research challenges like so for example one of the things that we've been saying from the start that we would do one is uh switch from a proof of work to a proof of stake more proof of stake yes and this alternative consensus mechanism where instead of they're having to waste a lot of a computing power on solving these mathematical Possible's that don't mean anything you kind of prove that you have access to coins inside of the system and this gives you some level of participation and the consensus can you maybe elaborate on that a little bit I understand the idea of proof of work I know that a lot of people say that the idea of proof of stake is really appealing can you maybe linger on a longer explain what it is sure so basically the idea is like if I kind of walk up a hundred coins then I turned that into a kind of quote virtual miner and the system itself fine if automatically and randomly assigns that in a virtual miner is a right to create blocks at particular intervals and then if someone else has 200 coins and they walk and walk there's 200 coins then they get a and if twice as big a virtual miner they'll be able to create a blocks twice as often good so it tries to do similar things to approve of except instead of the thing and if limiting your participation being your ability to crank out solutions to and if hash challenges the thing that real love is your participation is kind of how much coins your interlocking into this mechanism okay so interesting so that that limit of participation doesn't require you to run a lot of compute mmm-hmm does that mean that the richer you are so rich people are more like their identities more right and this stable yeah verifiable or whatever whatever the right terminology is right and this is definitely a copied critic I think my usual answer to this is that like proof of work is even more of that kind of systems exactly yeah I didn't mean it and that's there's a criticism I think you're exactly right that's equivalent the proof of work is the same kind of thing but before work you have to also use physical resources yes and burn computers and burn trees and all of that stuff is there a way to mess with the system of the proof of proof of stake there is but you will once again need to have a very large portion of all the coins that are locked in the system to do anything bad got it yeah and just to that maybe take a small tangent one of the criticisms of cryptocurrency is the fact that it gets for the proof of work mechanism if to use so much energy in the world yes is one of the motivations of proof of stake is to move away from this definitely like what's your sense of it maybe I'm just under informed is there like legitimately environmental impact from this yeah so the latest thing was that Bitcoin consumed as much energy as the country of Austria or something like that yeah and then aetherium is like right now me only like half an order of magnitude smaller than Bitcoin I've heard you talking about a theorem 2.0 so what's the what's the dream of a theorem 2.0 what's the the status of proof of stake is the mechanism that a theory moves towards and also how do you move different mechanism of consensus sure that within a cryptocurrency so theorem 2.0 is a collection of major upgrades that we've wanted to do to aetherium for quite some time the two big ones one is a proof of stake and the other is so we call sharding sharding solves another problem with block chains which is a scalability and what sharding does is it basically says instead of every participant in the network having to personally download and verify every transaction every participant in the network only downloads and verifies a small portion of transactions elands you kind of randomly distribute who gets how much work and because the issue of how the distribution is random it still has the property that you need a large portion of the entire network to corrupt what's going on inside of any shard but the system is still in a very redundant and very secure brilliant how hard is that to implement and how hard is proof of stake to implement like on a technical level yes software level proof of stake in charting are both challenging might say charting is a bit more challenging the reason is that proof of stake is kind of just I changed the how the consensus lawyer works sharding does both that but it's also a change to the networking layer the reason is that charting is kind of pointless if at the networking layer you still do what you do today which is you kind of gossip everything which means that if someone publishes something every other node and the clients yours it a like from on the networking layer and so instead we have to have and if sub networks and the ability to quickly switch between sub networks and other sub networks talk to each other and this is all doable but it's say yeah more complex architecture and it's definitely the sort of thing that it has not yet been done in cryptocurrencies so most most of the networking layer in cryptocurrency is your shouting like broadcast messages and this is more like ad hoc networks like yeah you're shouting within smaller groups small group but do you have like a bunch of sub net like exactly then you have to switch between ah man I'd love to see that as a beautiful idea so from a graph theoretic perspective but just the software that who's responsible is a theorem project like the people involved would they be implementing like what's the actual you know this is like legit software engineering who like how does that work how do people collaborate build that kind of project is this like almost like is there a software engineering lead is there it's like is it legit almost like large-scale open-source projects yeah so we have someone named Danny Ryan on our team has just been brilliant and great all around and he is a kind of de-facto kind of development coordinator I guess it's like you have to invent job titles for this stuff yes the reason is that look we also have this unique kind of organizational structure where the theorem foundation itself and of does research in-house but then the actual implementation is done by independent teams that are separate companies and they're located all around the world and fun places like Australia and and so you know you can kind of just need a bunch of and have almost non-stop cat herding to just keep getting these people to and have talked to each other and never kind of implement the spec make sure that everyone agrees on manev whoa what's going on and kind of how to interpret different things so how far into the future are we from these two mechanisms and aetherium 2.0 like what's your sense of the timeline keeping in mind the previous comment you made about the sort of general curse of software projects so if you're iam 2.0 is split into three phases so face gyro just create supper of steak network and it's actually separate from and of proof of the proof of work that work at the beginning just and if give it time to grow and and improve itself do people get to choose sorry to interrupt if people get to choose I guess we can think yes I choose to move over if they want to then phase one adds sharding but it only adds sharding of and of data storage and not sharding of computation and then after that there is an of the merger phase which is where and if the accounts kind of smart contracts like all of the activity and uh the existing is one system just kind of gets cut and pasted into eighth - and then the proof-of-work chain gets forgotten and then and things all the things that we're living there before you're just gonna have continual living inside of the proof stake system so for timelines um phase zero has been kind of almost fully implemented and now it's just a matter of a whole bunch of security auditing and testing my own experience is that right now it feels like we're at about a phase comparable to when we were doing the original etherium watch when we were maybe about four months away from lunch that's just a hunch then that's just a hunch yeah so how you know it took it took like over a decade for people to move from Python to Python 3 how do you see the move from like this phase of zero of four for different consensus mechanism do you see there being a drastic phase shift in people just kind of jumping to this better mechanism so in phase zero don't expect too many people to do much because in phase zero in phase one then you chain the unit deliberately and it doesn't have too much functionality turned on it's there just like if you want to be a proof of stake a validator you can get things started if you want to store data for other blockchain applications you can get started but existing applications will largely keep living on East one and then when the merger happens then the merger is a operation that happens all at once mmm good so instead of one of the benefits of I can sense a system that Nick on the one hand you have to coordinate the upgrade but on the other hand the upgrade to be coordinated so what's Kasper FFG by the way um Kasper FFG is their consensus algorithm that we are using for our of stake is there something interesting specific about Kasper FFG like some beautiful aspect of it that's there is so in Casper FFG combines together and of two different schools of a consensus algorithm design so the general two different schools of the design are right one is a 50% fault tolerant but dependent on network synchrony so 50% fault tolerant fault tolerant but it didn't sink it's all rate up to 50% of faults but not more but it depends on an assumption that all of the nodes can talk talk to each other within some limited period of time like if I send the message you'll receive it within a few seconds and the second of school is 33% fault tolerant but safe under a synchrony which me instead like if we agree on something then that thing is finalized and even if the network goes horribly wonky the second after that thing is finalized there's no way to revert that thing and that's fascinating how you would make that happen it's definitely quite clever I'd recommends the Casper FFG paper if you just search like archive if I said like arXiv Casper FFG it's that's the papers an archive yeah yeah who are the authors myself and ever Joel Griffith that's awesome I take a small tangent this idea of just putting out white papers and papers and putting them on archive just putting them publicly is it a set is that at the core is that a necessary component of cryptocurrencies that the tradition started with Satoshi nakamoto's what do you make of it like what do you make of the future of that kind of sharing of ideas I guess so yeah and it's definitely something that's like kind of mandatory for crypto because like crypto is all about making systems where you don't have to trust the operators to trust that the thing works and so if anything behind our system works is close sourced and that kind of kills the point and so there is the kind of a sense in which the fundamental properties of the category of the thing we're trying to build just kind of forces openness but also openness just has proven to be a really great way to collaborate and there's actually a lot of event of innovation and academic collaboration that's just kind of happened ad hoc in the crypto space the last few years so like for example we have this forum called ether research that's like e th re se AR and then dot CH and there we publish and of just ideas in a form that's kind of half formal like it's half way in between like it's it's a kind of a text write up and then you can have math in it but it's often and of much shorter than a paper and it turns out that the great majority of new ideas like they're just kind of fairly small nuggets that you can explain and like five to ten why and said they don't really need the whole formality paper exactly they don't require they're kind of like ten pages of Ana filler and so introduction conclusion is not needed yeah and so instead you just kind of published the idea and then people can go comments on it don't really yeah great for us I think I interrupted you was there something else on Casper effigy that's like just Casper FFG is just kind of combines together these two schools and so basically it creates this system where if you have more than 50 percent that are honest then the and you have a network synchrony then the thing kind of goes has a chain but then if network synchrony fails then kind of the last few blocks in the chain might we kind get replaced but anything that was finalized by this side of more asynchronous process gets I can't be reverted and so you essentially get a kind of best of both worlds between those two models okay so I know what I'm doing to name I'm currently reading the gasp refugee paper apologize for the romanticized question but what to you are some or the most beautiful idea in the world of aetherium just something surprising something beautiful something powerful yeah I mean I think the fact that money can just emerge out of a database if enough people believe in it I think it's definitely one of those things that's up there I think one of the things that I really love about aetherium is also this concept of composability so this is the idea that if I build an application on top of aetherium then you can build an application that talks to my application and you don't even need my permission you don't even need to talk to me right so one really fun example of this as there was this Senate game on aetherium called a Krypto kitties the gist involve head of breeding digital cats yes and someone else created a game called crypto dragons where the way you play crypto dragons is you have a dragon and you have to feed it crypto kitties and they just created the whole thing just like as an etherium contract that you would send these these tokens that are defined by this other etherium contract and for the interoperability to happen like the projects that don't really need to like the teams don't really need to talk to each other you just kind of interface with the existing program it's just arbitrarily composable in this kind of ways you have different you know groups they can be working so you could see it scaling to just outside of dragons and kitties it could be you could build like entire ecosystems of software yes I mean especially in the decentralized finance space that's been popping up in the last two years there's been a huge amount of really interesting things happen as a result of this is it particularly kind of like financial applications kind of thing yeah I mean there's like stable coins so this is a kind of tokens retain value I'm equal to one dollar but they're kind of backed by crypt cryptocurrency then there is decentralized exchanges so when as far as thinkin decentralized exchanges go there's this really interesting construction that has existed for about 1 1 and a half years Dale called yoona swap so what Yunus huapi has let's say a smart contract that holds imbalances of two tokens will call them token a and so can be and it maintains an invariants that the balance of token a multiplied by the balance of token B has to equal the same value and so the way that you trade against a thing is basically like you have this kind of curve you know like x times y equals K and yeah before you trade it's at some points on the curve after you trade just like pick some different any to any other points on the curve and then whatever the Delta X is that's the amount of a tickets you provide whatever the Delta Y is that's the amount of beats okay so you get or vice versa and that's just and then and if the slope is I'm at the current points on the curve and it is the price and so that just is the whole thing and that just allows you to have have this exchange for tokens and even if there's very few participants and the whole thing is just like so simple and it's just very easy to set up very easy to participate in and it just provides so much value to people so and the fundamental the the distributing application infrastructure allows that somehow yes so this is a smart contract meeting this is all a computer program that's just running on areum smart contracts to are just fascinating they are you