Final Road to Ethereum 2.0: Multi-Client Testnets
EDCON 2020 · 10 Aug 2020 · 17:34
Afri Schoedon reviews the path toward Ethereum 2.0 through collaboration between client teams and the development of single-client and multi-client testnets. The EDCON 2020 keynote discusses the remaining testing milestones before launch, with expectations stated at the time.
Speakers
Topics
From EDCON 2020, hosted by EDCON.
Transcript
[Music] good morning good evening good night or happy lunch break wherever in the world you are i'm afraid and i'm going to talk about multi-client test nets uh on ethereum or the final route to serum 2.0 thank you for tuning in and enjoy ethereum two point what uh what exactly is issue 2.0 ecm 2.0 is an entire new revision of the estrogen protocol and
it's something something about scalability um it's a general plan to move a serum 2.0 to proof of stake and this idea has been around for a long time as especially i think the first ideas is that has always been part of the ethereum roadmap the different ideas of moving to proof of stake date back to 2014 2015 when the original serial launched and there have been so many different proposals i try to give some historical context in this presentation just to understand
where we are today now and what's still required to launch and assume the 2.0 main net there have been many proposals among others there was this hybrid casper approach there was an idea to integrate this proof of stake idea into the ongoing proof of work chain when it was a hybrid mechanism and in early 2018 there were even some testnets around short-lived test nets that had this notion of proof of work blocks and proof of stake blocks proof of stake finality on the proof-of-work chain that was really exciting to see i was working back then a parody and we joined
one of the testers apparently this idea was entirely discarded in favor of something what we call today is a beacon chain and that was i believe initially presented at the eastern client development conference in berlin in june 2018 and it was called back then beacon kasperschen you can look this up on youtube this talk is probably available it was presented by justin drake and italic buttery and this was an entirely new paradigm going shifting away from somehow integrating this proof of stake idea into the existing running assumption but rather to have an entire relaunch of a separate chain
where we slowly migrate to and in early 2019 researchers started to [Music] be more concrete about this approach and to start working on what we call the issue 2.0 specification uh i believe the first version was released in january 2019 and the specification started with phase zero the so-called speaker chain and then i added space one the shard chains um for this presentation it's really important to focus on this beacon chain which is the first step and towards uh history 2.0 and this specification was
frozen in july 2019 when the version 0.8 was released and this was basically the start for client teams not to develop the beacon chain but working towards a stable beacon chain that can be uh targeting a production release someday so this was july 29th it was 13 months ago and a lot of things happened in uh september there was this so-called interoperability login where uh seven client teams physically met in canada to figure out networking and make these clients they've been working on for a couple of months or even years
to make them talk to each other at this meeting it's a physical gathering in canada there were seven client teams davis harmony it was prison and eternity and i believe the jasper team dived in through the internet so megan's eight clients successfully talking to each other on the networking layer that was an interesting one milestone for interoperability later that year last year in october there was a so-called martinez which was an ongoing it
was furthering the interoperability enforced by creating scripts that simulate test nets simulating beacon chains with up to six clients mainly figuring out networking but also data consensus and so on but at the point where i was not really talking about real testness or public or enthusiasm not more like the situation just making this work um in part the client teams that progress implementing the beacon chain they started launching their own public or semi-public
[Music] implementation and to test more publicly [Music] by a person which had a broad audience a
broad public launch and um of less of a focus for these clients this is when i entered the space oriented space uh trying to figure out how to be helpful there was working on what strategy about potential ways to contribute and
i've i've been doing a test in the past i just launched [Music] back in 2019 in january and i had some free time so i thought [Music]
uh tico and lighthouse validate on the same testnet this was kind of exciting but uh admittedly also allowing food because was building the client against the lighthouse implementation and they always try to make it work with the testament of five of letters so uh for me this was more about learning how the clients work how the tools work and how setting up a which is pretty interesting just to go through the entire process of deploying deposit contract uh having
against this event and so this test was not not really furthered then i um investigated the potential of the next version of the recent 2.0 spec to try to boost up a semi-public developer testnet i call it and we launched against us in april and we had so many issues but it was a really good learning a really good experience and
i looking back i would say it was an important mindset having a real guarantee that was two different clients and it took us a couple of days to stabilize this network because there are so many issues discovered during this process but i believe everyone's happy that we managed to launch it and we kept iterating these tests basically every month having a new test net uh we tested in may uh features three clients adding a table node and kansas and i believe i was pretty excited to see how this works out [Music]
implementation for the first time trying to agree on trying to we required like two or three attempts finally [Music] which was finally targeting the version 12 2.0 so this version is quite significant because
it is supposed to be the version of the main at launch and of course we ran up with the members team to feature four clients and guesses and our party event really smooth i personally missed this lot because i was on vacation but they tried to at least synchronize the network so we had already half a dozen of clients on this network and the stability surprisingly led us to the conclusion that we should
dare to launch a public multi-client test net which and prison um really good already was just very close to getting as performed as
in prison [Music] and so finally here we are um doing the uh testnet we called it launched just three days ago um [Music] but it's really exciting to see low star
getting into the game of being against us and um where people could do deposits and learn about how to run the validators different clients but for me personally and i believe for the client teams it's really important to see five and this launch was really i would say it was kind of successful we are not overly convinced that everything is perfect yes especially regarding this experience the launch pad was the first time we
used this in public uh we got a lot of feedback so we still need to uh uh uh smooth smoothness process of onboarding validators which is a little bit more than uh network required to run a stable or final final test net and yeah that's where we are right now and um the final milestones are running
out of time milestones to um 2.0 uh two or three months of the same decline might that are smaller sized networks or commercial networks that should be people should should be encouraged to break them and there are bounces to break them and there's also paradise fast testing ongoing docker images
on your local machines just test or try to break the clients and obviously [Music] and yeah i mean if everything works out we could look towards a deposit contract ceremony in maybe q4 this year this would mean that everyone has to publicly agree on a final deposit contract on mainnet and everyone has to acknowledge this is a public and shared final contract i would propose against this time which
is exactly 390 days after um [Music] then there would still need to happen 84 validated deposits which was each 32 each and if everything then we could look at it against this event maybe potentially i would carefully say november 20-20 is realistically if there's a lot of assumptions here if
everything works you can't ask any questions you can reach me on github or twitter thanks