How Open Source Collaboration is Building ETH2.0

EDCON 2019 · April 2019 · 15:30

Gregory Markou argues that Ethereum client development benefits from collaboration across blockchain projects. Examples include shared networking, serialization and signature libraries, plus the Görli testnet. He connects reusable open-source infrastructure with developer experience and warns that tribalism can undermine cooperation between teams.

Speakers

Topics

From EDCON 2019, hosted by EDCON.

Transcript

all right so we have one last presentation before we break for lunch we have Gregory Marko who is partner and VP of engineering at chain safe systems so welcome on stage I wish sack is here cuz definitely not the founder away block yeah so hi guys today I'll be talking about basically how cross cross chain collaboration is billing eath - and what i mean by that is like multiple different block chains different ecosystems are all helping kind of shape next generation of a theorem yeah this

is like normally I got 30 minute presentation 40 minute so I'm gonna really skim things through in class skip over things if you don't know about chain safe we're Toronto baseball chain research develop firm working on building info like general infrastructure for web 3 and we have one big philosophy that we all stand by and that's where blockchain agnostic we don't care who you are what you do we value every project on its technology its merit and essentially its philosophies and if that meets our criteria we will build infrastructure for you and that's basically what we do so for example we are working we built the Gourley test net eath berlin we're

working on e to client and we are also working on a polka dot runtime environment so as you can see that's already 2 Chainz and yes I know it's contentious right a lot of people have a problem with that one but their philosophies are great like when it comes down to the actual technology so I'll get into that later basically yeah so how is this actually happening we had a bunch of good talks already but like kind of Ethio so I'm gonna kind of skim over that stuff we have phase 1 phase zero one two and three and what I'm gonna touch on is already in phase zero we're gonna notice that we have a out of other people's good work and effort being implemented into e2 and just some quick math here to kind of

look at what's happening in e2 I think these numbers are actually off Danny Ryan had some better ones but basically we got about nine to eleven implementations running right now about fifty-four unique people contribute to the actual specification itself and roughly 183 contributing across all implementations all specs and that I tried to get rid of some of the duplicates but I probably missing a few and I've got some math here for it and if Danny you're in here I caught you when you had 420 commits yeah basically just quickly to go over some of the components that I'll be talking about and why and basically to show who else is working on these we got Lib p2p

that's like our networking stack simple serialize Bulow signatures the general water protocol which is messaging and many more but I'm just going to touch on these just for time reasons so if we look at Lib PDP Lupe's written by protocol labs originally out of ipfs and it's basically what we how our beacon nodes are communicating with each other um now this is being used across many other projects within the space so you'll see polka dots using the p2p I believe cosmos might be considering it Definity is also using Lib PDP and there's a bunch of other blockchain program box chains using it so as you can see we're not the only ones building

it and in when it comes to eath 2.0 the guys at Prismatic have done an incredible job at actually helping progress the go implementation of it at chained safe we're working on getting the JavaScript one up to spec and as well as I believe parodies also doing good job on rust so as you can see like we're contributing aggressively to Lib p2p which is being used by other block chains and yes back sorry yeah so like that's just one part of the stack this is like arguably one of the most important because it's how we talk to each other and we contributing aggressively to spec and as well as other chains are as they're

getting closer to using it and needing to build tooling because right now a lot of them are a lot of other chains like for instance Definity and polka dot I ran in one language right now and actually with our the polka dot runtime environment that we're building it happens to being ghost so we've actually identified a few small bugs since building it and I've contributed back to it from the polka dot ecosystem so it's quite amazing and you have to like really appreciate the fact that you know we're all here together and working together to do this specifically to eath to zach talked about this quite a bit yesterday if any of you saw that so basically the Matt slipper kind of proposed water solution and then you

know Zach was like hey this is too bloated we need something simpler and Lib PTP is not ready for most implementations so let's build something else he built hobbits and now we have basically a testing spec and another one and the testing spec Hobbit's is should be able to be used by just about any single any block train that actually needs to follows under the same issues that we're having an eighth - and that's the lib pete if your lip p2p link if the language that you're writing your client in and loop p2p isn't ready you can use hobbits that was written by a theorem and contributed across everywhere but sorry I have to really skim over that stuff just cuz time reasons I really want to get to like the big issue I want to address here and especially when it

comes to collaboration as Scott said yesterday Scott Moore from get coin basically you know cross collaboration amongst projects is like extremely critical the majority of projects use multiple libraries from other open-source projects and we're gonna run into an issue in aetherium if we continue with behavior such as maximalism tribalism and what i mean by this is this is people that are continually telling you know public on the public discourse reddit twitter milling about issues and regards to you know polka dot stealing or developers or definitive closed

source and we're what they're doing the list goes on I mean the behaviors gone to the point we've like run community members out of the ecosystem and that's not gonna help us because we rely heavily on other people's work so I gave you guys examples of like what we've been contributing to what my slides are out of order so let's look at BLS because if we look at BLS this is our signature library so we can basically verify any 2.0 that you know you are who you are there's two main libraries milega crypto and Harumi up until a few months ago most of the implementations we're using

her UMI's and her me is a librarian by Definity fully funded by definitive sorry it's written by a developer at Definity fully funded by Definity and we're relying on it my clients relies on it and as well as up until recently a bunch of others so to have bad behavior in the ecosystem trying to tell us that you know we can't be talking with people like Definity with the polka dot teams with the developers this creates a really terrible developer experience for everyone in the ecosystem especially again back to the p2p like this is the networking stack everybody's eating so we can do cross chain communication you know there's lighthouse and eath 2.0 is the

rust implementation and polka dot and then we're working together build blip p2p and basically another example here you know this is a the SIP package JSON from actually our load r8 to a client under the hood we use a polka dot library and we actually use a bitcoin library because the bitcoin guys make really good zero dependency javascript libraries and it's this type of collaboration that's really good because it helps us you know progress further so we don't have to do duplicate code duplicate work you know if you go to get coin and we were to go and fund every single implementation on its own we would not have any funds to put anywhere so by allowing us by going to other

teams other projects funding other projects even within our own ecosystems what we're gonna end up enabling is less work being done by us we get free work because other teams are paying for it and funding it and ultimately we end up creating a better and easier experience for not just the public but for the developers to go and you know have public discourse and conversation with these developers from other chains to basically look at how can we progress you know general implementations specifications libraries etc I just want to see that slide what did it have were

here ah yeah sorry this was supposed to be a little bit before but like this is like the common debate you know blockchain X is gonna replace blockchain be I I don't want to single out a single grouping of people but it typically you only see this that this come from from PR based people I'm not gonna lie like it's that it's the PR community it's the people that have the high vocal the high voice with like high followers whatever it being and it just deteriorates the entire developer experience for us because there's not many people nowadays if you go and look at there was a question I was trying to ask yesterday's panel you know has the

community made it too toxic for developers to actually speak out and I would probably argue to say yeah and if that's the situation we can't even speak out people complain that we're too private you know Kathryn rules they want to see who's talking at these meetings we can't do that if you guys are continually being toxic to other chains you know if it's just the PR people doing it just let the PR people do it it's not the developers and we need to get free resources we don't have a lot of funding you know there's a lot of debate on e to funding for instance specifically and you know we should be looking at how can we work with other chains to capture their resources so that we don't have to spend money on it and we can simply help maintain it with

them right okay I'm gonna give a really good use case example here so when we built Gourley it was last year at East Berlin the idea was basically there's not for those aren't familiar there isn't really a there was the proof of the 30 test nets in aetherium were fragmented it was one per client and basically they didn't talk to each other so we our mission was let's go and bridge them so that every client runs one the same proof or 30 test net so that we can all sync up together I'd end up being a huge success a parody announced their deprecating kovin although they deleted that tweet but they said they're Deborah gang code which is awesome because that means like

there's no more single client test nets and we're only gonna have one and that's Corley and the unique part about Gourley is we saw a really really really great contribution from another chain contributing to a theorem and there was not at the this one like really unheard people didn't really talk about it because you know it wasn't an ethereal like an ETH contribution the etherium coop or the etherium classic co-operative donated a large sum of money to help continue the funding for girli so that they could actually benefit from it and this is the type of cross chain collaboration that we need to start looking at is that you know other people are going to need our

technology and we're gonna need other people's technology so we need to start being open about the fact that you know yeah some people may say bad things they may try and poach poach but ultimately if we start seeing things that happen with Gurley where etc' theorem classics cooperating they're they're fund like they're one of their big funds you know funded and aetherium made like a eth project that that's something we can learn learn from them and i think we need to really like progress forward on that yeah yeah I don't know my final note was it's from a different again long

presentation it's like clipped but again we need to make sure we're open with other chains we need to make sure we're not taught we don't create a toxic environment because as a developer I do sometimes I have to like share a screenshot of the tweto on a post because you know am I going to get backlash and I have to send it to my team and half the time it's like now I don't say that because we just don't want to have to deal with putting the fire out later when all was is saying like yeah like agreeing with another chains developer thank you and if you have any questions about that please let me know otherwise I do believe lunch is ready and you know we can go do that thank you so much Gregory and I just wanted to quickly ask you why do you

think there is such tribalism I think there's a bunch of pieces I don't want to go down this rabbit hole but there's a bunch of pieces within a theorem that aren't fully fledged out perhaps a little broken so to speak we could look at the EIP process for instance had a lot of backlash recently especially with 999 and that's probably due also to like a poorly set up process as well as probably lack of governance and like that's ultimately the route is because one action by one person can be looked upon as like extremely terrible amongst like an action against the community and

that's what's happening right now if parody ultimately and it's like quite unfortunate because they do a lot of really good work for us the theorem classic and polka dot they're like the only client that really works and a theorem classic well multi gift but yeah so there's a bunch of clients but like they support like three different networks and yeah like I got changed a if we start to see that as well a little bit with especially when we started you know building clients polka dot people aren't very receptive to it we had some hate come to our way I should have actually clipped it was a really funny tweet they call this a traitor and tagged a vitalik saying uh why did you

uh why did you help these guys so yeah yeah great so fortunate thank you so much for your very honest to you I think that if we are going to have the same panel again as we did yesterday we should definitely have you on the panel