[LIVE] Ethereum All-Star Tech Talk 以太坊全明星技術座談 | Taipei Ethereum Meetup


My little better Test test test test test You Hello guys so we will start in 102 minutes, so please have a seat Okay so welcome welcome everyone Is wonderful to see you guys here my name is un – with a one coconut of the Taipei easy a meet-up so today is our pressure to invite some so many important guests in even a ecosystem here to share their idea about the shutting clients and general its Ethereum research topic and Probably a lot of you guys know Taipei Ethereum Meetup is a Developer based community, so yeah we always Share some Ethereum relative topic to to to our members and also want to help Engineer to get familiar with Ethereum to get more energy to this to this community, so So sorry I’m a little bit nervous so There’s this perfect to see a lot of developer here, so let’s give a big hand for them And tonight not only the guests on stage for the panel discussion that we also have a lot of people from different from different projects Related to the Ethereum blockchain approach in including Ethereum Foundation ParityTech, Status, Consensys, Prysmatic, and LinkTime So Okay, so let’s get started so this welcome. Karl Hello everybody All right, it’s lovely to see everyone. We’ve got some exciting Panels with some of the most exciting people in the space. Oh my goodness It’s the it’s the well I got to fill up this chair. We got to be we got to be tight Miscounted apologies No absolutely not I clearly did not understand where this was a seat So I this is the third day of a massive sharding workshop and These are all every single person here has been day after day Tirelessly working on sharding talking about sharding and talking about Ethereum and enjoying ourselves So I think we should start out by introducing everyone You can say your name. You know company etc All right hello everyone and nice to be here, I’m Jacek from Status working on obviously a sharding client like the rest of my fellows here Yeah, hope it’s gonna be a nice night here. I Hi everyone, it’s great to be in Taipei so my name’s Ben and I’m from Consensys, Consensys is 700 people now Working almost all of us on the Ethereum blockchain And I lead a research and development team in fundamental Ethereum protocols I’m Piper Merriam. I lead the Python team at the Foundation and Have been code reviewing of the wonderful code that the sharding team here in taiwan has been submitting Hello everyone, great to be here. my name is Fredrick from Parity technologies core developer there and Yeah hoping for a good discussion here Hello, I’m Peter. I’m leading the go team in the Ethereum Foundation and Mostly, I’ve come here to try to understand How we can cater for the whole sharding, and how we can support it from the lower levels Hey, everyone. My name is Raul and I’m the co-founder of prysmatic labs We’re an independent team working on a sharding client for the go implementation of the Ethereum protocol and happy to be here Lovely well, I’m I’m I’m sorry. I’m Karl. I forgot to say that I’m in Ethereum researcher Anyway, I? Followed this Ethereum project, but what is sharding, and I would love you know who can explain sharding to me? What is it? At the base level right you know imagine the current blockchain if you have ten transactions that are pending But just gonna have to process each one of those transactions sequentially Every single node on the network is going to have to run every single transaction With a sharded chain you’re able to kind of you know split the blockchain Into n shards and these n shards are going to be able to process these transactions in parallel So it gives you it gives you a quadratic speed-up Yeah, I think one way to think about it is like adding more CPUs to the virtual machine that can run more things in parallel So many different shards mentally map well to many different CPUs on the machine that are all able to process in parallel so Why don’t we just add more CPUs to our machines like I mean? I think that’s what we’re doing But I think the question you’re asking is like why don’t we just do that with the main chain and the general reason is that Parallelizing the processing of the like current EVM doesn’t give us the Guarantees of deterministic Outcomes when different people run it so everything runs synchronously Which basically makes it like a single threaded? application Another interesting aspect or interesting comparison would be the search engines before and after Google era whereas every search engine before Google they tried to really scale their hardware and That kind of worked well, but it was really expensive It’s kind of similar to how he Ethereum runs now that we try to really push the limits of a single system But it it kind of works But it’s not really optimum and then Google’s brilliant idea was that instead of investing extremely expensive hardware into a single system let’s try to break that system up into little tiny chunks, and let’s try to somehow figure out how to Distribute those chunks so that all the tiny components can work together Then essentially that’s the same thing that we would like to do with the Ethereum that if we can Replace the one big mighty system with tiny small systems, then all of a sudden everything gets faster Of course the challenge is how do we do that and and it’s not just about the technology It’s about the ideology if you like of a distributed system a blockchain To make it democratic so that everyone can participate on their laptop or their cell phone or whatever We don’t want to adjust people who have super computers or server phones, so you can participate in securing the blockchain But but everyone should be able to do this Amazing well, it sounds sounds pretty difficult to do that I’m curious What kind of challenges do you foresee and this can be either you know in the client-side? I know we actually have two groups here who have already started implementing sharding But it can also just be from architecture. We’ve talked a lot over the past few days Yeah, well obviously one big big deal is to sort of maintain this ability to run it on all kinds of devices And at the same time maintain security at an acceptable level and a lot of what we’ve been talking about here is sort of ways to do to avoid state for example because the state keeps growing to run state lines or to at least Have a model where some people can avoid know everything about everything going on out there Another consideration is that you know like sharded systems aren’t something new You know you can envision sharding systems sharded databases in traditional computer science however a lot of these rely on having sort of a centralized coordinator and someone that is able to Kind of guide what’s going on across the shards and in this case in Ethereum We have to do it trust lessly And it just introduces a whole swath of security considerations that we’ve never had we never had to deal with before and you know I think I think that the foundation and everyone here has done a really great job at putting on a few days of Intensive research and understanding of how we could go about this Not a very interesting challenge is that for example when you try to even in? classical databases Sharding is is a well-known thing that you just basically figure out how to split your data up into meaningful chunks You store it on different machines? And everything is work so in theory it seems like a simple enough solution now in practice the problem Is that the Ethereum tries to be generic and we do not know what we want to put in those shards now this means since Nobody is designing the data contents of the shards rather the individual users building on top of the Ethereum will implement it This kind of means that we don’t know the dependencies between those shards so even though for our own data base We can clearly define that we will put some data in one shard that is completely independent from other data but with Ethereum it might happen that data between two shards that are put on different shards actually have a Dependency between one another and this is a real problem communication wise because how do we? How do we get data across shards or how do we make sure that? If for example one shard there’s a rollback or the block a reorg of fork Then how we handle data that depended on that in the other shard Yeah cascading chain reorg are sort of nightmarish and hard to think about and today at least for awhile we ended up kind of down a rabbit hole of talking about That sort of inter shard communication how do we let things on different shards talk to each other and different How we kind of mentally map those two concurrency models in? you know programming languages that we use and the various pitfalls in those concurrency models and deadlock situations and things like that so there’s a And there’s a lot of different topics that that we’ve been going over for the last few days that Make some of this really interesting and kind of terrifying at times Well I wanted to broaden it down, not just talk about the difficulties, but the the opportunities It’s not just about scalability We’ve been talking It’s because the main chain nobody wants to fiddle with the main chain because it is what it is And it’s worth a lot of money nobody wants to break it but doing something with sharding allows us to explore all the really cool new technologies like ewasm and stateless clients and all sorts of exciting new directions for Ethereum so that there’s it’s not just about scalability and That’s going to be challenging, but it’s also very exciting Well how about the one of the topics that we’ve discussed quite a lot was rent and I’m Curious as as client developers shout out to Phil Daian obviously everybody loves paying rent Everyone loves favorite so maybe first. What is this kind of rent thing? And what are your thoughts? Well I think it’s pretty obvious that The growth of the blockchain is not sustainable in definitely the way, it’s going right now there Like it’s growing quite fast and eventually like we were saying before we’ll get into a situation where there’s so much storage on chain that a Normal home computer can’t run it anymore, and we have to move to servers or server farms so the question We’re trying to answer It’s like how do we reduce that and one? idea is To actually make people pay you know per unit of time for their stores and use instead of a fixed fee So this is a storage model that everyone is used to that’s how we pay for storage everywhere else in the computer world so Like I think it’s a pretty natural thing, but it’s a very distinct difference from how things are handled right now So it kind of breaks all the expectations So one thing I forgot to mention is I think it would be great to clarify the difference between Historical data and blockchain state and what that kind of means and then we can talk about how rent plays into that So essentially when when you are Basically when the blockchain new blocks are added to the chain You kind of have the blocks themselves we just contain The transactions that were executed on top of the previous blocks now. This is an immutable historical data that nobody wants to touch however on top of this so this is just a transformation function so we say a Transaction that transforms the old state into the new state now beside this we have the actual state of the network Meaning that how much money do I have or what data does a smart contract have has now? Even though we do not want to touch the immutable parts the transactions themselves because those are important to reconstruct the entire history to validate everything Do we want do we really want to store all this that smart contract data that was inserted there and obviously if I have If I have my account I would really like the system to remember that I still have funds on my account or if we have A popular contract we actually want people that people use we want that contract to stay around however for example the theorem a net has One of the smart contracts the data content is a Windows computer virus now although it doesn’t bother anybody why should that be left there for the end of time and then there are lots of Cases where it’s the data itself not really needed anymore nobody uses it anymore. Maybe it was a contract that we deployed Two years ago. It was really popular everybody used it, but we upgraded it Nobody is using it now. So there’s there’s no reason for that contract to stay alive but of course as It was already mentioned The current model is that if I deploy with anything it will always be there whereas. This is a really really Exotic mind shift that it might not be there eventually One important thing to consider here is that this is this can be a controversial topic because for the community itself You know Ethereum has been basically subsidizing this time value of storage to the point where you know people? That create smart contracts have an easy time They can just you know store this forever on the blockchain don’t have to worry about the time cost of it and you know that was I think fantastic for the growth of Ethereum and Introducing a topic such as this the fact that okay now you’re going to have to pay rent for storage instead Can be extremely controversial and? Really hard pill to swallow for people so that’s something that we were discussing a lot the other day How we’re going to introduce this topic to the developer community, and how we can how how can we capitalize on? How important this is for the long term and the important thing to note here? Is that the solutions were thinking about so we’re trying to think of a smart way to solve this problem, so we? So we don’t just want to say that okay Everybody’s going to have to pay from now on and period Rather we are trying to figure out ways that for example if I create a smart contract that is used by people good we somehow make the Keeping the smart contract alive implicitly part of the transactions that use them so that it’s not it’s not like the monthly Ethereum bill arrives, and I have to pay it rather than it’s it’s handled by the system under the hood and if Somebody’s if for example we have a crypto kitties smart contract, which is used by hundreds or thousands of people then essentially it will be negligible and unnoticeable fee for every one of those users so for any any Meaningful contract it the ideal system will be should form in such a way that you don’t notice that you are actually Paying some micro fees to keep it alive At least that’s hopefully that’s the dream And we’re actually add to that that like in today’s world we’re also paying for this storage of data would like with traditional services We’re paying for it with privacy and control or lack thereof On the blockchain this is all transparent and people have a choice to subscribe to the system, and and and they see what this payment is I would add that as a very Important aspect of what we’re trying to do here Cool and I heard after some after the rent discussions after the sharding discussions some back backroom talk about a interesting scheme to kind of shard in some ways the historical data and I’d love to hear about that cuz that’s even different from sharding the main chain, and how is that different? Well Karl. Let me tell you So after the very difficult discussion about rent we Peter gave me some info on just sort of what your hard drives gonna look like after a fast ink right now and Don’t know The footprint is something like 60 gigs, but only about three of that is the chain State so smart contract storage the other you know roughly 57 is Blocks and transactions and receipts and that information is much more Much less controversial to Well first of all we can’t charge rent for that because that’s not actually part of the Chain State so we were looking into other alternatives for how we can kind of minimize that footprint And so we’re looking at ideas where we effectively sort of shard that information across the network itself so Probably starts as opt-in features, but basically by Enabling a flag or something and how you run your client? You might store only a one out of every two blocks or one out of every ten things like that so We can make a really big dent in the hard drive footprint of running a full Ethereum node With that strategy and very easily drop that footprint down to the you know sub 10 gigabyte marker, or less depending on How confident we are that we can shard that data across the network and still have good availability for it? Yeah, and the challenge usually with these is that although from the outside. It kind of looks trivial. Just store every second block From the inside this breaks a very very important system Invariant that we currently have and that is that every full Ethereum node has all the blocks Now this doesn’t seem like such an important in invariant, but from the networking protocol perspective for example There’s a network packet. Which says give me the next 100 blocks for example now If you only have every second of those then all of a sudden this can cause nasty issues These are all solvable issues, but it’s really interesting to see that There’s a trivial idea in theory it looks like it’s trivial to execute on and the entire network collapses under under a false Basically just by breaking an invariant This is why client development seems terrifying to a researcher And so I’m curious you kind of started touching on these the like networking layer these interesting interactions between clients And I’m curious if you could just fill in like what is it like to to have to you know networking? Consensus making sure that this network is healthy at all times That’s a horrible experience So it’s Actually, it’s everyday you you look at the network eats tests and stuff like that and you wonder what horrifying metric you’re going to see there Whether that somebody Launched a new IC o—- and the whole network bent under the load or it’s a Basically as we are constantly pushing the limits of a theorem every day. We kind of discover something that worked previously But doesn’t work now for example just a typical bugging Goethe reom for a long time fast thinking consumed an enormous amount of memory and Basically we couldn’t really find issues And we try to find why and it worked perfectly until now and simply it turned out that our Buffers were a bit too generous and since we pushed up the gas limits of the blocks and the transactions became much data heavier and the receipts became much data heavier every originally nobody used logs Nowadays everybody every smart contract is emitting logs it turned out that it was a huge memory load on the on the node And that’s one that’s a thing that didn’t show up at all for two years even though this issue so to say was present in the network and in the client for two years straight and There are lots of these tiny issues which are completely oblivious and then there’s something happens in the network, which triggers it and all of a sudden it everything dies a horrible death I Think it’s also a little bit of a death by a thousand paper cuts story where Since state and everything keeps growing so fast. You keep running into having to optimize something so with parody we launched warp Seng two years ago, and it worked perfectly and Everything was fine and dandy and the further along We’ve gone that the more our assumptions around warp sync have been breaking and so Like one thing and now is that a snapshot that you downloaded with warp sync is so large that It’s actually more common that your pair will disconnect before you’ve downloaded the whole snapshot Then you are able to download the whole snapshot as our sort of assumptions around How this networking behavior works have broken down and changed so we need to change our our algorithms? And how we actually build these things? For example there are also issues when We’re one client doesn’t update and breaks the other client for example We did this both ways with parity one of them at a certain point where when the spam attacks started Or I don’t know when the change started to grow parity. They realize that they can instead of keeping a lot of Try nodes or a lot of data paths they did started a much more aggressive pruning and from their perspective this was a Obviously a good choice now the problem was That get the fasting Croatian in gas assumed that you have the state of the past 1,000 blocks now since parity pruned it all of a sudden death had a huge problem to synchronize the network and And essentially then we had to release an update on our size just to hack around the hack that parity introduced or a Similar thing that that happened was when we updated our our networking protocol introduced compression leader release and all of a sudden again parity and gas notes stopped talking to each other Because it turned out that there was a tiny bug in parity which Caused a minor networking conflict, and it’s these are these can be really nasty one especially ok these kind of We realize these quite fast and it they were quite easy to catch But when when such modification slips in and it appears a bit later, it’s really hard to track down. What went wrong So and this is like a decentralized blockchain development process where different organizations that Really aren’t you know built to communicate very much probably like have to Work together in some ways how does that process actually work? I heard of these eeap’s but outside of that. I don’t know Well I would actually say one of the greatest advantages of being at a conference like this is listening to these anecdotes listening to these little experiences Maybe not even in the conference room, but out outside, but by the coffee table and sort of hearing these little symptoms of where the network needs growth where the network needs research where it needs development and And that sort of leads us to look for solutions, maybe even like rent like we see that all State is ballooning. What are we going to do about it right and and and and and these are opportunities to anticipate problems and and Try to deal with them before they become User experience issues where the network itself starts buckling under the under the way, right? Yeah, I think having these kinds of meetups of with my clients implementers and like both teams that try to write new Clients share experiences we were talking about before of like trying to establish a list of these kinds of bugs and and other things Just to share experiences more But I think the cooperation like you’re saying. It’s a bunch of disparate companies with different interests and Completely different locations usually and Working together it’s not non-trivial and Getting together like this getting together online more. I think something that I would look forward to And another interesting aspect that we must never forget any theorem is that even though there are a few important players in the sector like the theorem foundation parity technologies and other major companies consensus and even though these Companies are heavyweights that their opinion counts quite a lot because they kind of proved themselves that That they managed to build an entire system nonetheless a theorem supposed to be a global distributed system And it’s supposed to be it it’s not supposed to be controlled by 3 or 3 plus companies which means that we can’t just Go behind the words decide that okay the next protocol will contain this and that changes and period everybody upgrade rather We really need to somehow involve the community to get feedback from the community Now of course certain people the words of certain people always have more weight because they have the experience to back it up with but nonetheless it is really important to give a voice to every single individual and Not just have people represented by companies rather than if I or Anybody from this room wants to to mention or contribute to something they can actually individually do that? And as an example my team is an independent team we were a bunch of protocol developers We were excited about how transparent the community is how easy it is to? You know to discuss with the key members of the community and propose issues pull requests and such And I think that really pushed my team to come together, and you know in just two months now we’re here working, alongside the other client implementers and it’s just it’s amazing kind of what having an open-source transparent community can do and Yeah, giving a voice to a developers because the end of the day like you know and through the users as well They’re the ones that are going to be using the blockchain for its purpose Yeah, just to endorse that I mean a consensus a large part of our target market is Enterprise aetherium and you know we we could do that without the community we could build a closed source client and and service that market but We don’t want to do that because we feel that is the community is everything for a theorem It says is what it’s all about if it’s not the community than the whole thing is pointless, so we’re building a client It will be open source and we have very much. Hope that Many many people will use it it will be fully public chain compatible now. This is a pain, right? supporting the public chain we don’t need to do that, but that’s really important to us because it’s an engagement point with the wider community and We want to build you know accept pool requests, bug reports and everything from-from it everybody using and working on our client as well For example to to give an example where the community Was really really valuable in this whole process now from aetherium protocol perspective Everybody heard about er see 20 tokens essentially almost all tokens are backed by a single specification single proposal now from the theorems protocols perspective that proposes completely useless I mean it doesn’t matter from the protocols perspective yet from the app developers perspective that is what makes the world of a difference and So essentially that is why it is really important to have community feedback Because the community is the one who is actually building on top of the platform, and they are the ones who actually Know what the pain points are and what they would like to solve? So it’s obviously our goal is to cater for we want to be a platform we want to help people build on top and The only way we can do that is if we have feedback from the community and a constant flow of information And ideas from the community It’s also just interesting work. I come from the world of web. Dev and web dev is Awful yes I It’s just integration after integration with little sparse sprinklings of actual interesting problems to solve and mostly are just doing the same thing over and over again and Transitioning into I guess you can’t Center webpage Transitioning into into this world and and building out Any theory of client I? have too many cool problems to work on and it’s a good problem to have or Yeah, I’m actually gonna back that like There’s compiler technology there’s Network technology, there’s peer-to-peer there’s distributed systems. There is storage there is crypto economics there’s crypto itself You can go towards the theory you can go towards the practical you can go towards the user experience there’s really so much interesting stuff going on and that I don’t know if I really invite people to join the process join the project’s foundation Parity us whoever it might be right, but there’s just so much interesting stuff out there There’s also something really satisfying about There being a correct definition of your software working as opposed to like whether or not the you know login button is in the right place or Whatever other dumb UX web problem All of them that I worked on for years whereas, there’s so many really cool hard problems that I’ve gotten to work on and and finish and say this is done, and it works, and it and it works exactly right probably I Agree with that I mean one of the things that really attracted me from the start is that You’re implementing a protocol and either you are implementing it correctly or not like there’s no in-between it’s kind of nice That was one of the most beautiful things Peter please take it away, and of course there are the nasty challenges when When actually you implement the protocol correctly and the other team implements the protocol correctly and it turns out that they implemented it differently and Because the protocol wasn’t spec out correctly, and it was ambiguous and Then the network falls apart, and then you try to figure out who’s at fault and it turns out that nobody was at fault But the network fell apart nonetheless It’s one of the cool parts though because it helps us find where our speck is broken Easy for you to say as a minority do FairPoint I’m a white man in his 30s. I’m not a minority that Was terrible whose fault is it that the protocol is wrong the researchers, right? My my website is called tech. Please reach out with all of you So Wow I mean seriously that was that was amazing and and I also was a web developer and I Also hated it. I mean I made like some reasonable money pumping out those websites But this this space was like so ideologically amazing, and so I’m curious pumping out tokens makes much more money Right yeah, I know I started saying it and I realized that and I was like oh god. Why am I talking about money? but but know that like How did you like get into the space or how would you suggest people get into the space because I’m I always Want more people? from different communities to get into the space And I think that’s probably the main thing that we need because we need a decentralized developer base Because um it’s especially reported kind of know about blockchain But I mean I’ve never really seen the source code for a client I think that that’s applies to a lot of people and It’s really easy to scratch the surface and spend the entire time just reading articles about proof-of-work like hashing algorithms and such But until you actually dive in and try to like launch an instance of Geth or or parody then you start realizing Okay, like this is interesting. I want to take a look at how this works and at that point That’s when you start going down a rabbit hole of implementation understanding the deeper meaning behind things And then you get to the point where you want to build it yourself or contribute, and you start seeing bugs And you start seeing where it could improve and I think that’s I think that was that was a breaking point for me to want to get more involved in aetherium and You know I feel like that’s that’s kind of like the the checkpoint that I would advise a lot of people to get past Start actually you know launching one of these clients try running the code try changing something see what happens and Running on your local computer don’t mess up the maintain but yeah Well I can add a bit of color to that I I have a background in a little bit of peer-to-peer networking a little bit of Compiler technology and a little bit of other things one of the interesting Themes here is that when when when I was steeped in this pair two pairs thing this whole information wants to be free debate was raging and There were a lot of ideological battles going on between closed source and D CMAs and and Pirate Bay’s and whatever those things might have been at the time right and and now Now we see new technology latching onto to that stuff that was developed years ago right, so there’s this progression of technologies and that add up to something which which becomes even more interesting as It continues growing right and and being here and being part of that and sort of forming what? What technologies we will have in the future what what the cause will be built? Upon the stuff that we do today is really really exciting So that’s like a path that I’ve taken and I and I look back like those years for me, but now I feel We’re part of something that that’s going to form a lot of people in the future as well Yeah 100% in those You know what Ralph said just just get involved You know I was Six months ago. I was in a dull middle management job in a Japanese company. I was not allowed to do anything technical anymore and spending all my week evenings and weekends doing stuff on github and You know now I made my hoping my job, and that’s just the way it is Consensus, we’re hiring you’ll get noticed Yeah, I usually get one hiring email from consensus every week oh No you’re not the only ones hiring Well I I’m I’m not a panelist, but I can say that I Was interested in this space And and you know watched a bunch of YouTube videos and I can say 100% that there There is so much out there if you just spend a lot of time looking for it and it is a lot of time I I Granted, but this is something that really like every single person should Like their the information needs to be spread And if you work twice as hard to like find it and then spread it to your friends I think it’ll do a lot of good because I think we are it is a revolution in some ways Just after that that the information is hard to Obtain and or it is it’s not trivial to jump in as an interesting thing on how I started working at the theorem After I joined. I joined because it sounded like a cute project that was implemented in go mostly I joined because it was implanted in go and after about two month I finally understood what I’m implementing And so it’s a it’s not something that you can just look at and Understand from the get-go it it requires a bit of digging in but then it becomes really really rewarding I Would actually also say that I joined Paradis because I wanted to write rust but There was so obviously like you’re saying and like I was actually involved in cryptocurrencies for a while But it never really grabbed me all that much until I found that you could write decentralized applications and actually Like build a whole kind of ecosystem on top of that and that’s when it kind of hit me and I realized that it can actually be Impactful even beyond just currency So I thought that was really cool But I would encourage people to like jump in like everyone else is saying just find a project in a language that you like jump and start tinkering Read some paper or whatever you want I mean there’s so much to be done in this space like we’re so early In the development of this and there’s like a ton of stuff left to do there’s infinite work available, so it’s just jump in and do whatever you feel passionate about whether it’s language development or tooling or or building an ID or Whatever it is And I’d like I was talking to John from the etherium foundation earlier on like the grants and funding that is available So like it is actually possible to to work for the foundation even if you don’t become an employee or like with money from the foundation one quick thing is that there is a Lot of information out there But it just takes it takes a lot of experience to kind of filter out what’s valuable from all the noise so I think for anyone
that’s trying to get involved definitely try to pick up information from the original sources or try to read kind of official documentation or You know some of the official clients There’s a lot out there that you can just get lost in and kind of regurgitated information So definitely just be wary of that and learn how to filter out really valuable info Yeah, I would reiterate That there are that we are still very early there is a ton of stuff that still needs to be built that There is there are plenty of programs out there that can let you Start contributing with very low risk find one of the bounty programs things like that and There is a lot of need for people to work on things that aren’t Icos and things like that. There’s a lot of tooling that needs to be built and focusing on that actually build something lasting and useful rather than being Part of the 99 percent of projects that are going to fail How much time do we have or is this good okay? Well that was Incredible, thank you so much everyone Thank You Carl Get involved everybody, it’s fun If it’s not three Holman sometimes oh she’s out partying a super dark a Justin can da da da da You You You Supports where has your new job Oh Panelists victims I feel free to sit down So welcome to Panel number two we are we talk about Charting and research topics though before that starts saying I also wanted to mention that The etherium foundation is also hiring yeah So if you are interested in becoming a researcher becoming a developer Working on any kind of like basic basically your infrastructure projects then always feel free to reach out to us feel free to reach out to probably the Typing aetherium meetup organizers and all forward to go along to us. We’re always Whether you’re interested in like being becoming in if you’re in foundation employee or Applying for a grant or anything else look. We are always happy to hear you out, so Thank you Okay, okay you go Wow well This is amazing these are like my idols from the internet So like I shouldn’t even have to talk very much at all during this panel and So I guess we could start off with what is? Ethereum for because I I didn’t know sharding, and I don’t even know what Ethereum does. ICO? Yeah, I mean Ethereum is just a platform for ICOs and the only ICO is for ICO—- is for other ICO—- platforms But like it has to be well founded like you can’t have looking at ICO tower there has to be stuff eventually No, it’s seriously though. I mean like the question of what blockchains are like actually and Ethereum Particularly are kind of good for is a very interesting one. It’s like there’s like Fundamentally speaking right like blockchains basically let you to kind of stateful Decentralized applications as I’ve often you know like like to say in presentations where I describe blockchains to noobs And what then what what are the two parts of that right so stateful basically means that there is? Some kind of information that you want the system to keep track of and we are like you wants to have some very strong assurance that kind of the the the state of some application will basically progress according to some rules and That it’s not it’s never going to revert in some way and that it’s never going to know what progress in some way that that violates the rules of the system And decentralization is pretty simple to like basically means that like no one controls it that like basi… the system can survive even if the original developers disappear and Even if the original developers once they build the application like try to Like in some way cheat attempts to defraud their users attempts to interfere with their users. They don’t have the ability to do that so Like basically anything that benefits from being decentralized and anything that benefits from being stateful is at least fundamentally a good watch a kind of possible candidate for blockchain application, so Like the first and most obvious one and it’s the one that you know the space was kind of created around is like cryptocurrency and you know just all of the different applications of like of cryptocurrency and like digital money more generally And like that includes both kind of things like Bitcoin and ether it also includes a lot more Interesting stuff like MakerDAO which is basically trying to kind of create a decentralized central bank on the blockchain that’s run by a DAO we Know you can have different currencies with different monetary policies You know with a smart contract you can basically make appli … can make applications where Those applications have the ability to kind of control money directly and so you can do a lot of things that would have previously required like basically one central party to be kind of managing everyone’s funds for some amount of time and with With with smart contracts like not all over the time, but some of the time you can remove the need for that So what this includes you know like stuff like insurance this includes things like assurance Contracts like a lot of like many types of crowdfunding like various market mechanisms It also includes like Some like even just like decentralized exchange atomic transactions And atomic transactions like the ability to kind of see like reliably and do multiple things at the same time There’s also Like the you can use blockchains for things other than cryptocurrency as well And that was kind of a lot of we are the original vision for even Ethereum came from so like one example That you know like a lot of people talk about is just like basically are different different aspects of identity management and Like one particular one is just like key revocation or key updating so basically if like you have a private key that represented that You use to sign messages with that kind of represents some kind of identity for you And then you might want the ability to like basically revoke the key or replace it with some other key Or you could have multiple keys you might want to replace so I could replace some of those and like that’s a stateful mechanism Right like the reason why you want to replace a key is because you’re worried that it might get hacked And maybe eventually your key will get hacked, but if you’ve already replaced it Then like that’s not a problem, so like the reason why that’s stateful Yeah, is that like basically like it like be it fundamental like it matters into who did something first? And that’s something that you know like blockchains and smart contracts can also be fairly good for solving Yeah, no I think that’s a excellent overview, but just this conversation is something that we do very often with the developer community So I think it’s good to also not only have a bunch of examples But have a framework to think about like what makes block chains useful So I think this conversation wouldn’t be complete without talking through what blockchains are good at and what blockchains are really bad at So what blockchains are really bad at is? Just being a database so it’s a very expensive Database because you might imagine a bunch of computers come to a network and they all do the same thing That’s crazy from like a distributed systems perspective right because Amazon was successful because they do the economies of scale really well they provide things really cheaply so Now that we talked about what they’re bad at what are they good at so? I think about it in three prongs one is digital collectables So you might have the as More of the world gets digital you might have a concept of like something that is in the digital realm That is uniquely yours that was not possible like if you have a PDF online That’s not yours you it’s a copy of a digital PDF, right But now you might imagine whether that’s in a game or in reality you might be able to have a digital asset That is uniquely yours so on top of that I think there’s gonna be a lot more interactions that are available so number two is programmable money, so whether that’s cryptocurrency, but also Derivatives you might imagine all sorts of things that you own today with us Debt or equity or whatever assets being more minutely being able to be programs right so Like like you might be able to own like one millionth of the Empire State Building programmatically in the future and what can you do with that kind of API the Possibilities are endless and number three is really around like self-organization And this is kind of like but more the futuristic and the ethos that is driven Like society has been organized recently in the past few hundred years around like geography and nation-states, right But what if we can organize with people that you’re just you know like-minded? so what if you’re really into a single type of like programming and you want to have a Organized group around it so like in the beginning. It might be just like a hobbyist group, but you might also imagine like a economic Kind of linking between major cities like LA and Paris and Tokyo that don’t have any like gee you know Nation-state ties, but they could have a ledger with each other so that one’s a little bit abstract, but it’s a concept of self-organization So the three things are very different, but if you think about it. It’s just really about disintermediation So when I read the book sapiens like it really talks about How did our species kind of continue to self-organize and larger and larger ways and how do you go from like very? Smaller and disparate groups of people to organizing past Dunbar’s number like hundred fifty people to create More progress together, and I think this technology is not only about like scaling and privacy But it’s really about people like how do we organize together without trusting larger entities like banks or governments? You know while while working with them right, so like how do we use that so I think that’s really why blockchains are exciting So, I’m kind of the independent researcher here, so I guess I get to say the more controversial stuff I think this is a this is a phrase I first heard at Consensys, which is that maybe out of Consensys? Which is that? What blockchains are essentially good at as being a trust minimization machine first of all let’s start with with the term trustless So a lot of people when they talk about blockchains they talk about trustless systems trustless execution etc etc Blockchains are certainly not trustless when you run a blockchain you’re trusting a lot of things You’re trusting You’re trusting that our client developers that were on the previous panel have done a fantastic job of making sure all of their code works You’re trusting that the network is going to be available you’re trusting that the internet will continue working You’re trusting that your computer will execute these things appropriately Etc etc, so there’s like a huge space of things you’re actually trusting But if you think about it in sort of the old centralized model you’re still trusting these things anyway So what blockchains sort of allow you to do and what they’re really good at is when you have an application That’s run by a lot of different people And none of them sort of have any common root of trust So we want to work together. We don’t trust each other. We don’t trust Amazon We don’t trust Deutsche Bank or anything like that. What a blockchain allows us to do is sort of verify each other’s actions independently and prove misbehavior to sort of everyone else in the system in a way that Misbehavior can either be punished or acted on or even just detected Two fantastic applications of this that I think cryptocurrency has been wildly successful in so far have been gambling and drugs These are sort of perfect examples of systems where you have a lot of different actors none of whom trust each other at all and blockchains actually provide fantastic solutions for these types of problems But you know we wouldn’t be here if that was all this technology is for and certainly. That’s far from what we believe We really do believe that blockchains have the potential to introduce new paradigms for web apps distributed systems File transfer protocols. You know there are any sort of number of problems that we sort of want to solve together That maybe maybe we don’t want to trust each other for And maybe these use cases are so valuable to us that it’s worth it to pay the extra cost and to do the extra work And execution to rely on this really inefficient, but very beautiful machinery that we all share And I think there’s a lot of work to be done in sort of achieving this ideal if you look at many blockchain projects today They sort of fall into one of three categories Either they’re on a blockchain you know simply to raise money and for no other purpose I would say there’s like a long tail of projects sort of in this category Or they put some sort of critical component of their application on a blockchain and centralize something else That’s also an okay model for many projects like maybe we’d like to trust the exchange But we don’t want to trust we don’t need to trust the web app so I’m willing to let you serve me the JavaScript that we use to run an exchange But I’m not willing to allow you custody of my funds and my money And this is sort of a lesson cryptocurrency people have learned that if you if you do have a mutual root of trust Even if it is more efficient and cheaper to do things this way You you really do have to think about how these actors can misbehave Another example would be social media so when you go on social media How do you trust the ranking algorithm to show you posts that are appropriate? How do you trust it not to be manipulating this ordering to sort of influence your actions or your thoughts or anything like this? How do you trust the ads that they’re showing you to be from who they say they are to even be from like? Inside like your own country if it’s a political ad or something like that so there are all sorts of problems in our world around trust and Trust minimization is a very very powerful thing And I think blockchains are wonderful for this application despite the fact that they’re in many ways expensive and inefficient And trusted and and and to a large extent trusted yeah Yeah, but at least they’re auditable right. It’s it’s you can you can verify the trust? if you have infinite time anyway Great so I think we had like you know two kind of more technical answers and a little bit more of a social answer I’m gonna give more like a social kind of answer to me the Thing that’s most interesting about the watching and the reason why were kind of all here is that the blockchain is a new kind of International institution the likes of which we’ve never seen before Threat of legal consequences and so it provides a kind of International institution that is very different from the international institutions that we have today and which promise across the basis of many many different International institutions that are not governed inside any one jurisdiction And therefore can’t be caused to fail by anyone government or any one judge and instead Must be covered on an international basis In a collaborative way where decisions have to be considered legitimate on oval bases in order to not be two-port so I think The blockchain from social perspectives super interesting colors. It’s of a new kind of international institution and the basis for the creation of new international institutions that Have to be governed in a globally consensual manner and can’t be just forced by a single jurisdiction This was mainly passed best opinion, I think is the most interesting from a social point of view and I think is the Number one thing that actually brings us to The world to come to an agreement under certain assumptions Which single history is the one that we’re referring to when we talk about what’s happened in the past? Is a very very powerful tool especially when we speak about you know financial instruments But also when we talk about a social institutions Yeah, so for me a blockchain is simply a tool that allows for people on the internet who don’t trust each other to come to agreement on something and one of the interesting things for me is that What we come to agreement on the consensus has actually changed over time so it started with Bitcoin where? People came to consensus on a specific application and the flexibility that you had was at the account layer And if M was when he came out if in one preneur was super exciting because it abstract away the application layer and provided this Execution engine which was flexible enough to be a platform, and I think with a firm 2.0 We’re seeing the next evolution of abstraction Where we’re kind of taking a consent abstraction of consensus to to almost its logical conclusion? Where by consensus is about agreement on? Arbitrary pieces of data and what that means is that you can build your own execution engines? So it’s possible that a theorem 2.0 The sharded version will be even more of an infrastructure thing than if in 1.0 It will be a platform to build your own execution engines upon which you can build your applications Wow that was amazing With this kind of overarching kind of what is Ethereum There’s a lot of kind of uncertainty around the development of Decentralized applications like what are they how do we actually do this? How like how will I maintain future compatibility in a sharded world how do I you know create a decentralized? application today And so I’m curious what your takes are on you know how if if you were to go about architecting designing a decentralized applications Like where would you start where would you go? So I think those are questions that we actually don’t know the answer to as a community yet And if you would like to help solve the answer to those questions by the way I’m part of two organizations that are hiring, so please reach out No, but seriously I think the real answer In terms of how we build DApps is very carefully so try to really really think through and carefully consider what piece of your architecture and what piece of your infrastructure needs these sort of benefits that we’ve been talking about and Build really the minimum thing that captures that functionality and then build your system around it and as time goes on you can sort of look at how that’s been working and ask yourself are there more pieces of this we Want to put into the blockchain do we want to move some of it out of the blockchain do we want to change the contract? Etc in terms of upgrading. That’s always a hard problem. There’s sort of this fundamental tension between decentralization and upgrading because in order to upgrade a Decentralized application all of your users need to agree on what the upgrade should be and there’s no clear process for how that happens There are a bunch of suggested sort of templates that people have explored including these decentralized shareholder based Organizations where people use tokens to vote on upgrades etc But there’s not really a good answer I mean if you want to create a currency on top of Ethereum that runs forever You by definition cannot create an upgrade mechanism because then that upgrade mechanism can be used to stop your thing from running So again like these are all really really hard and fundamental problems, and we’re in very early days here So we’re still at the experimental phase of answering these questions Yeah the the design of the protocol layer to make sure that is future-proof is is extremely difficult, and I think One of the things we can do today is basically have a maximal abstraction and what that means is that? Users developers have much more power And that means freedom to experiment, and I think one way that we’re going to see the ecosystem Evolve is simply lots of experimentation at the beginning lots of failures, but then the successes will start becoming normalized and standardized and then once We feel comfortable with these standards these standards might become enshrined and be part of the protocol And that might be like a similar story to what we’ve seen with with the tokens and the the ERC 20 standardization We might see something similar with sharding Cool well, so we just did this workshop of course And I think it would be great if you know we could give a quick overview of like what what is? Going to you know sharding phase one exists sharding phase two Like where where are we headed in the the kind of near-term? And you kind of started touching on it like how does that prepare us for it for the future? Yeah, so I mean sharding is this extremely ambitious thing that we want to push in the long term And it’s going to be a lot of work, and it’s gonna take several years The really good news is that phase one is this minimal thing which? Seems very much doable something that we can launch pretty quickly and provide value In the near term so This this phase one has very little features. It’s extremely abstract and so Yeah, it’s going to be a platform for experimentation Where You know a lot of the applications might not be Suitable for for long term production because there’s gonna be a lot of failures But it’s still gonna be extremely exciting to see the initial development of that Yeah, and and one of the kind of big themes that we’ve been talking about for for quite some time is this like data Availability problem and also you know validity of shards and so when we do create a sharded blockchain and we now have to deal with large quantities very large throughput of data We need some guarantees around that data being there So like what is this data availability problem is it like a fundamental blockchain issue Decentralized issue like how can we start addressing it? So basically like as far as like Desirable property is of a blockchain right there is a few and like it’s important to think about them Explicitly when we’re doing sharding because like in a traditional single chain system They are all satisfied, but they’re satisfied pretty trivially so one property is consensus Which is basically the oral agreements, which basically means? If two people see some block as being finalized You know whatever finalized means that your consensus protocol, then they should see the same block as being finalized So they should agree on the history beyond some point Um another is validity So the thing that they the history that they agree on should be a history which is valid it should not contain Transactions that just like grab me like my money and send it like whoever without it Without a signature for me. They should not like just randomly create ether into existence They should not just like random we start changing around code of contracts unless the code Itself explicitly does that a third very important property is? Availability and availability basically means that like the data. Is there as the data is publicly available so basically if like if you probably There is a block a block that way that’s been published and the blockchain Consensus agrees that this block is part of the canonical history then like it’s important that it that it’s even if the Block is correct that everyone is able to actually download it And this is kind of trivial in a traditional single chain aetherium because you assume well obviously downloading the whole thing is like the first step of validating it so you don’t really kind of you can’t even imagine its absence but once we start thinking about more advanced scalability technologies including like ways of ensuring validity like fraud proofs and Later on zero knowledge proof so like snarks and Starks like you can realize that No, it is absolutely possible even to be sure that a block is correct without being sure that you can download it or potentially there are these technology is that can That are guaranteed To like basically tell you if the if the bullet if there is a mistake in a block and so if you don’t see one Of those messages you can infer the blood that the block has no mistakes But these techniques only work if you can separately ensure that the data actually is downloadable So if there is some Fault in the block that someone can points the fault out and the data availability problem is Significantly harder than the validity problem because Data availability is not a unique way to a table fault so what that means is that? If someone doesn’t publish the data, and then someone else complains And then the first person publishes the data right after you don’t really know like anyone who wasn’t Watching that specific piece of data right at the time doesn’t really know you know What was it the first person that didn’t didn’t did not send the data on time was it a second person That didn’t see the data on time You know like where they post faulty And this generally just makes it harder to and if properly incentivize the blockchain makes it harder to Kind of properly determine you know like whether or not the blockchain is Actually is available, and this is one of those things for which and look we have been working on and of several different strategies but it’s Definitely significantly harder to ensure then like just like Improving that that blocks are correct if you already assume that the data is there So I think fundamentally the data availability problem is a very important problem in computer science and distributed systems If we’re all here, and we’re sort of sitting in a room I can shout something at you guys And you can sort of take a vote by your raise of hands who heard me say What’s but if we’re all sitting on the internet? We don’t really have this channel of like me saying something and you all hearing it what we have are sort of a bunch of Point-to-point links between each other so it can definitely be the case that I send something to Carl And nobody else in this room sees it or even knows whether it was sent or not That problem is made more complicated by the fact that the Internet is sort of this amazing Probabilistic routing system where no one on the internet actually knows like the whole internet When you’re on the internet all you know are the people who are sort of connected in a closed zone from where you are and All you do as someone who’s on the Internet is sort of forward the packet to someone who you think is closer to its intended recipient than you This transmission can fail it does fail all the time it can take forever it can take an unbounded period of time a Packet that I send might arrive at zero times once two times three times etc so the internet really gives you no guarantees on the sort of communication that you have with other people and This makes all of us coming to agreement with each other a very hard problem You could potentially even have for example a split where half the room can talk to each other and the other half can’t or etc etc selective censorship, and and and many other Sort of issues so data availability is about designing protocols that despite this unreliable communication mechanism Still work and still give you some guarantees that that if there is data somewhere you can find it Within you know some period of time or you can find it or someone’s gonna have to pay money who claims to have the data Assuming that the internet is working And then also analyzing the case of if our communication network is not working what happens how can we detect it? How can we recover etc? And to To bring it back to our earlier conversation the reason why this is an interesting Problem is because it’s actual trade off. You might say well. If there’s data available Availability problem why don’t you just add more data to the network? But that comes back down to how much is like each each byte costing and For the entire network right so the reason why Amazon or Dropbox or what-have-you can provide the lowest dollar per gigabyte is because they have Control over all the servers that they’re storing on so if you have a file what they would do is They would chop it up into different pieces and use this Erase your coding process to make sure that even if you lose X number of those you know shards You can get the file back in the most economical way possible with decentralized systems It’s hard to do that because you don’t have control over those servers So you have to add just the right amount of servers to make sure that I feel that I have the right SLA or service level agreement of having availability without costing infinite money to the network Cool so I mean I’m gonna push back on something that Phil said saying that we have no idea how these applications are going to be made I think that we have an idea and one of the things one of the keys is data availability and Another key is you know state channels, and the third key is plasma. No ok, there’s there’s a bunch There’s a bunch of different architectures. I’m just a shill But I’m kind of curious you know With respect to data availability or just in general like where do these? things design patterns fit in state channels and plasma and you know other architectures that haven’t been created Yeah, please push back I’m gonna be quick since I’ve been talking a lot none of those things work yet, so You know it’s it’s really. It’s really easy to say that we know how to do this But you haven’t proven it so and none of us have proven it And you know I do believe you that it’s that it maybe can be proven for many of these systems but there’s a lot of work left to do and I think that’s important to note I Mean I think a fairly proven way to do data availability is Simply just like how Bitcoin or Ethereum does it right now where you have this this assumption that? most of the miners are honest and then It’s kind of an emergent property of this this forking and this consensus And so I think a fairly An non-risky strategy to Look at these applications is try and and replicate that type of data availability just With with more of it And that’s exactly what we’re doing with sharding so sharding is just more date availability out there And then that’s kind of a very solid base layer to start building things Plasma is kind of another take at solving this really hard problem of the data availability whereby You know it’s saying. Let’s try and use External infrastructure that is maintained by these operators or or by a group of people but the data availability is some different mechanism than The emergence from forking rules, and so I think is going to be very interesting to see Which one will win off and and you know what the trade-offs are? Yeah at the end of the day the data availability problem is the hardest thing and we’re trying various ways to tackle it and To UM talk a bit more about plasma and state channels In general right like we’ve talked a lot about sharding, which is the kind of layer 1 scalability solution in that it tries to Increase the capacity of the Ethereum base chain Another important category of scalability solution is layer 2 scalability solutions And the way that I define layer 2 scalability solutions It can kind of game theoretically is that if you assume that there is a contract on the main chain And the contract has like some mechanism and so the mechanism is basically like a game the different participants can play with each other And like the game has some Nash equilibrium, so like if all of the participants play rationally then you know you know that then the assets inside the contract like would or could be distributed in some particular way and If like you you personally know that if you like you have this mechanism The and you could play with them it like makes some kind of actions to with through that contract that can give you Like some assets out of the contract, and you can kind of say that you counterfactually those assets you sort of virtual We have them in the sense that you can get them if you wants to But like you don’t need to get them right now at the moment and the reason and the scalability Part comes from the fact that you can mostly or entirely use off chain messages in order to Make changes to the equilibrium where like the expected outcome of this game without actually making large amounts of or in some case even any activity on chain, so Just by the mere facts that you’re exchanging like cryptographically signed off chain stuff you’re changing the Possibilities of what people could do by like sending those messages into this on chain contract? And so your make you can make large changes to like basically the amount of money that each person can have if they wanted to but yeah So you’re you are kind of sending them assets or like performing other operations sort of virtually kind of virtually or counterfactually Without actually you know doing anything on the chain at all right, so This is really nice because it basically means that you can perform lots of economic activity without actually significantly touching the the underlying base chain most of the time and like state channels are One strategy of doing this and Plasma is another strategy of doing this they both have their different strengths and weaknesses One example of an application of plasma is that you can use plasma to? like basically do the same sort of stuff that you are that you’re already thinking of doing with a centralized services or with consortium chains and you can do them with the with the efficiency of Like central servers or consortium chains, but at the same time benefit from a lot of the safety of being on an underlying Decentralized public chain right so one example is if you have an exchange Then the exchange can kind of wrap itself in a plasma layer, and it can function like basically in such a way that Even if the exchange gets hacked like all of the users can kind of play this game will sign messages with an on chain contract and get all of their money back at any time and the exchange itself can have very high scalability it can process thousands of transactions per second so Like anything you might want to do you want a consortium chain like doing it and doing it on a plasma chain probably You know it makes sense to consider at least at some point Channels are also good because since they rely purely on off chain messages. They’re also a great latency solution So basically as soon as you send someone an off chain sign message You can convince them that they can that like That if they wants do they can grab money from this on chain contract, and so you’re basically sending the money And they kind of get economic finality of that transaction immediately So this could be good for consumer payments This could be good for even like once again decentralize exchanges like in general. It’s good for doing things where you wants to complete the operation much faster than waiting for our block confirmations So like along with sharding these are both new exciting avenues that were Interested in and trying to exploring very actively as well Can you clarify the difference between state channels and Plasma, Vitalik? Yeah, so the difference between state channels and Plasma Is that a state like basically a state channel is a system where you can change the equilibrium Or like the expected outcome of the on chain game relying purely on off chain on off chain messages, so just like beat digitally signing pieces of data and Sending them to you through the other participants across the network Plasma is a hybrid system Where you benefit from the additional ingredients that you can also Like there are some participants that can generate a Merkle tree, and they published a Merkle root onto the chain But like they don’t publish the rest of the data onto the chain In the Merkle root basically acts as this kind of source of uniqueness that basically says I am Committing to this piece of data, and if you have the other data Then you know that you can use that data and check it again kind of authenticated against a Merkle root, and you can possibly recover like some other assets if you wanted to and The the main additional kind of power that this plasma approach gives you is unlike channels in plasma you can basically send assets, or like perform operations with arbitrary parties even parties that haven’t already registered with With the system like in with a state channel You can only send money to like basically pre-registered participants whereas it was plasma you can also basically bring in outsiders and kind of loops in to the system at anytime so Vlad is dabomb And and he would rather scale using sharding than plasma And I’m curious just like how that vision like a kind of differs what where do you see you know scalability of the the maintain? Yeah, I mean I think sharding is the only real way to scale the blockchain I don’t consider plasma or state channels to really be scaling solutions. They only provide a constant factor scaling and not big o factor scaling So somehow like and they’re also like like relatively like elementary and boring from a research point of view in my opinion So I’d rather not spend any time on plasma or state channels except for sometimes for user experience reasons I’m interested in sharding and I was hoping we talked about sharding Yeah, can you talk about sharding especially all the research that you’re doing? Well, I’m interested in sharding with cross shard communications and We’re like the there is a de Missa tee across shards and we’re like And where there are no in protocol fault tolerance threshold know like two-phase commits no No, no, but I’m not into honest majority assumptions. I’m also not into sharding without any transaction semantics I I believe that like oh we should be replicating some kind of computational engine not some kind of pin board You know so I I mean I have like some strong opinions about how sharding should look And I mostly work on like like kind of a long-term Vision of like what sharding should be like in kind of a specification for like an end sharding protocol. I’m not so focused on implementation or development I follow a kind of like Faith-based ideological systematic thinking kind of approach not a pragmatism, can we implement it this year approach? And and so like you know I’m working kind of mostly independently of the rest of the sharding team and you know Are we have the most in common when we’re talking about block availability and the validity I’d say Yeah, sorry, that’s my bitterness come out So I do think I’m gonna push back a little on what Vlad said which is that there aren’t that many Interesting research problems in sharding, I think I’m sorry in in plasma or state channels So I think there there are really interesting research questions about how to make these systems like Actually work, and and and work securely and and accomplish the guarantees that you want them to because just by looking at the spec It’s not intuitively obvious that they do and I think that sort of as a species We’re really good at building things that scale to billions and billions of users and things that are really fast but we’re sort of less good at building things that work properly all the time and Building something that’s a combination of both. I think is still a really hard problem Yes, I mean you know people have different standards of interesting and And to be like okay, you know how things work in practice Isn’t really my area of interest? Not really, I’m mostly interested in like oh like what are the mathematical properties of the specification? Interested in things that meet your cryptographic tokens go up Secondarily you know like very very like not really like my priority Prices are too high already Can can can you do a rapid either fill or Vlad or both rent spiel just super quick I’ll let Vlad start this because he’s the real OG on this problem Well, I mean I think it’s crazy that the network would bear a cost for ever for a revenue born once by a single Party so I think about this as a minor. I include a transaction and I store some data I’m the only party that gets the revenue there But every single phone note and every single minor for all time will bear the cost of that storage I don’t think that is sensible. I don’t think it makes sense I think You know yes, rent is a problem for user experience. I don’t really care But I think that like oh we should build intermediate layers that will make it easier to deal with rent From my point of view. Oh like we should do our best to make sure that as much as possible We’re relying not on public goods, but on Things that are properly incentivized and paid for by the people who are using them basically because this will make the easier the system easier to maintain more sustainable and You know less likely to kind of topple over because of people’s eventual unwillingness to provide public goods for free So yeah, I think to speak sort of to the broader point the way, I view this research problem Is that we really need to come up with a principled framework for thinking through? What resources are being exchanged sort of in this blockchain marketplace that exists and? How do we price these resources and how do we build systems where users can efficiently access these resources for a fair price? So coming up with such a principled framework is far from an easy problem Even identifying the resources of interest is far from an easy problem But I completely agree with glad in that in the long term your incentives have to be sustainable or your system won’t work I sort of want to like leave this with one more comment Which is that? It’s really tempting in the short term to prefer a solution which does not have sustainability and which does not have proper incentives? Which to an extent is what aetherium has been thus far with sort of this more ad hoc Economic model and what this is implicitly doing is it’s currently subsidizing pretty much all of the transactions. We’re doing on the blockchain and People are paying much less than they need to for for storage and for other resources They’re using they’re not paying anything for the network And etc so there’s a real question of how do we get people to pay for the resources that they’re actually using? What are these resources and what should such an efficient marketplace that would allow for price discovery look like? One quick additional thought it’s one way to put it is that like the more public goods you have the more that we need to as a community on unlike like a free basis or Another way thinking that is like the stronger the guarantee the assumptions of the protocol the harder It is to govern because the more we have to make sure that on an ongoing basis We provide stuff that isn’t accounted for in the protocol Cool and so just really quickly the like aetherium kind of 3.0. Just like we’re we’re this like casper sharding in like Once one two sentences five sentences Vlad I am I want to hear you Imagine so much scaling that no one thinks about plasma imagine Imagine like abstract computational engine where people can implement their own virtual machine, but not as a state-transition function, but as something actually concurrent something That’s actually a process not a function You know we can argue about what the difference But basically so somehow like okay scalability abstraction and also security are like the kind of three main things that are You know this kind of latency idea. Oh right? Here’s an exciting one Heterogeneous charting where basically different Shara’s run at different? levels of like security latency overhead So that different applications can be served based on their various needs Some application for example like if you’re making a micro payment perhaps doesn’t need to be operated at the same level of Security as something that Is amending something that’s super mission-critical and therefore could maybe benefit from a much lower overhead and lower latency so I think like a heterogeneous sharding, that’s like secure where we have abstraction and security set security and You know scalability is like the thing that we want I dream of a sorting system that’s so secure that we don’t need to worry about like different levels of security and we can count on the entire base chain and micropayment micropayments can evolve on plasma Well Known as I said a number of validators. I guess it’s kind of security and so in Some so I guess like oh when you when I say security. I’m thinking about liveness of the aliveness and safety of the Consensus on the particular chardon not so much about the validity and availability Anyway, sorry okay random? We’re one last thing. I promise to the organizers We never said everyone’s names And so we’re gonna say them at the very end so you know who they are and one sentence like Amazing sentence. Just give me a gold sentence Yeah my name is vitalik I Like cats I like alpacas. I like like Meese Yeah Hi, my name is John Choi I work at a theory and foundation on the research side Like Fredrik said things are super early if this is at all interesting to you come work with us Come solve problems. You don’t even have to work directly for the foundation you can you know work from anywhere so join us? Hi, I’m Phil. I’m a PhD student at Cornell Tech, which is Cornell’s new campus in New York City and I specialize in smart contract security and Sort of my life goal is to figure out how to make? Vitalik scats and alpacas pay their fair share of rent and stop free-riding on our system And the Me’s yes, we can subsidize those actually What are what are Meis Mousses, oh jeez okay Anyways, I’m glad to hear I work on Casper and sharding, and I hope we can obsolete proof of work Hi i’m robert hobart meyer. I I don’t know any any sentences so i’m just gonna leave it at that but that’s true, so actually I’ll just tell you who I am so I’m a Core developer and researcher at parity technologies, so I’m working on on poker dot right now Which has many similarities to what we talked about as phase four tightly coupled charting in etherium I’m Justin Drake I’ve been doing research on sharding for about four months. It’s been super intense There’s lots of low-hanging fruit still to be found so If you into that kind of research do you join us because it’s a small team, and there’s a lot of work to be done There’s also lots of learning. You know I’ve I’ve been here for four months and only like about now I feel like I’ve been able to catch up with all the backlog of stuff that has happened so Yeah, do you join us? Well thank you everyone it’s been lovely enjoy Okay, so thank you for these special kids coming to Taipei to give us this amazing sharing and also due to the limitation Of a tie in the size we can have everyone Come at the stage for the panel discussion Somebody asked someone like like fun promote or arrow for or website found Asian But yeah, let’s since again for all these amazing guys And we just got I just got notice from another some of our co-organizer from Hebei shamea so in April we were healthy to Coming events one is on April 6 and we will have Goran choice. Oh and a key account and on April 28th. We will have with menopause mega, del G gnosis and the reason they were coming to Taipei so yeah, please I mean subscribe our facebook fanpage and To get to the latest news so thanks for coming. Thank you Oh a Thousand gentlemen clay Tiger hotel when they also enjoy home to be in crisis highest-rated, Argentine, ChaCha I’m why they Hey guys, can we come to here And If they do want to have a group picture yeah, yeah, yeah, so Okay, I will be here, so let’s go go here to have a group Sutra picture Condado tender Johanna, she doesn’t allow an item to a hotel Yeah, please stop everyone stay and have a group picture Anyway Everybody please stand up You

Add a Comment

Your email address will not be published. Required fields are marked *