Fra at pille ved videospil til at bygge det nye Ethereum: Hvordan Preston Van Loon blev nøglen til The Merge PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Fra at pille ved videospil til at bygge det nye Ethereum: Hvordan Preston Van Loon blev nøglen til The Merge

Preston Van Loon voksede op med computerspil. Det var dog ikke at spille dem, der fik ham til at tikke.

“Min interesse kom fra at pille ved videospil og lave tilføjelser eller mods eller køre servere. Jeg kunne virkelig godt lide at redigere et spil og gøre det til det, du gerne vil have,” sagde han. "Så vendte jeg mig mere mod automatisering: automatisering af dele af spil, der var overflødige eller kedelige, som at male efter guld."

"Grinding for gold" er en reference til World of Warcraft, et rollespil, hvor du skal holde dig i live, udvikle din karakter og udføre quests. Van Loon ville downloade og bruge bots, der ville kontrollere hans karakter, hvilket fik den til at samle ressourcer og, når den var fuld, deponere disse ressourcer i banken - ligesom hvordan "udbyttelandbrug" fungerer i decentraliseret finans.

Faktisk var det hans ønske om at skabe og administrere automatiserede systemer, der trak ham til blockchains, og specifikt Ethereum, i 2017. Van Loon, der dengang arbejdede som udvikler hos Google, mente, at blockchain var langsom og dyr, men det slog ham som en helt ny idé.

Fem år senere har han et af de vigtigste ansvarsområder i Ethereums historie: Som grundlægger af Prysmatic Labs driver han den mest udbredte Ethereum-konsensuslagklient - den software, som netværkets validatorer kører. Det er Van Loons rolle at hjælpe med at sikre, at når The Merge finder sted, fungerer alle netværkets noder sammen, som de skal.

At finde Ethereum

Van Loon startede et par forskellige karriereveje, før han endelig fandt Ethereum. Først gik han på flyveskole i to år. Derefter gik han over til datalogi, da det for ham havde mere interessante problemer. Han studerede på Middle Tennessee State University, før han droppede ud i 2013 (samme år som Ethereums medstifter Vitalik Buterin gjorde).

Derefter hjalp han en smykkesælger med at automatisere auktioner på eBay. Han ville sørge for, at de gik live på det optimale tidspunkt, når alle var hjemme fra arbejde. Så rekrutterede Google ham, og han meldte sig til sidst på for at arbejde som udvikler.

Van Loon var et år inde i sin rolle hos Google, da en ven fortalte ham om Ethereum. Først var han kun en smule interesseret, men han syntes, det var en fed idé. “Efter et par måneders læsning om, hvordan det fungerer, var jeg hooked. Ved udgangen af ​​året ledte jeg efter måder at bidrage til og gøre Ethereum hurtigere og billigere at bruge."

Van Loon læste Buterins skrivning på skæring, en teknik, der opdeler blockchains data i sektioner for at hjælpe med at lette belastningen for alle, der vedligeholder en kopi af dem. Buterin var interesseret i sharding, fordi Ethereum-transaktionsgebyrerne på det tidspunkt steg kraftigt, da blockchain blev overbelastet, især ved begyndelsen af ​​CryptoKitties. Dette forårsagede træg ydeevne for blockchain og en generelt dårlig brugeroplevelse.

Van Loon bemærkede, at meget få om nogen udviklere arbejdede på det, fordi det var en så ny og radikal idé, så han besluttede at se, om han kunne skabe en version af den, der kunne føjes til Ethereum-hovedkodebasen. 

I januar 2018 begyndte Van Loon at sende beskeder i chatrum relateret til Ethereum-klienter og sharding. Gennem dette mødte han Raul Jordan, som var medstifter af et videnskabsforskningsnetværk og en datalogilærer på det tidspunkt. Et par dage senere mødtes de i New York og regnede med, at de kunne sætte et hold sammen for at gøre sharding til en realitet for Ethereum blockchain. 

Sammen med to andre udviklere grundlagde Van Loon og Jordan Prysmatic Labs. Det oprindelige mål var at skabe en implementering af sharding, der kunne føjes til den primære Ethereum-kodebase.

To måneder senere modtog opstarten et tilskud på $100,000 fra Ethereum Foundation. I forbindelse med bevillingen fløj Van Loon og nogle af hans team til Taipei for at møde andre Ethereum-forskere. Forskning i sharding var stadig i de tidlige dage, men på mødet var der nogle udviklere viste at de næsten var færdige med nogle implementeringer af visse elementer, der har med sønderdeling at gøre.

Van Loon sagde, at han var overvældet over feedbacken til hans tilgang til sharding. Efter mødet i Taipei besluttede hans team sig på et design, der kombinerede skæring med bevis for indsats. "Jeg synes stadig, det var en stor beslutning den dag i dag," sagde han.

Et omdrejningspunkt til bevis for indsats

Teknologiudviklingen går dog sjældent som planlagt, og omkring et år senere skiftede Prysmatic Labs retning. 

I det første år havde den arbejdet på gentagelser af sønderdeling i kombination med bevis for indsats. Derefter begyndte Ethereum-udviklere et højt profileret initiativ kaldet Casper, som indebar at skifte blockchain til bevis for indsats. Så Prysmatic-teamet fokuserede sit arbejde på Casper, og især på at implementere Casper med sharding. 

I sidste ende kom Casper dog aldrig i stand og blev i midten af ​​2019 erstattet med et koncept kaldet Beacon Chain. Denne ændring krævede en helt ny tilgang til skæring. "Vi var nødt til at starte forfra, vi slettede hele vores kodebase," huskede Van Loon.

Skiftet kom også som følge af ændrede prioriteringer. Sharding var faldet ned på listen, mens bevis på indsats var steget til tops. Udover det var der dukket nye, såkaldte Layer 2-teknologier op, som lettede trængslen på Ethereum.

"Med Layer 2s, der er kommet ud, er der en vis lettelse for brugeraktivitet og lavere gebyrer," sagde Van Loon. "Så vi kan lægge sharding på hylden i et minut, mens vi løser dette umiddelbare problem, der bliver værre og værre hver dag, kun stiger, hvilket er energiforbruget og hash-raten for Ethereum, som så formodentlig har en betydelig miljøpåvirkning ."

Ethereums nye system kan tænkes i to lag. Der er konsensuslaget, som bestemmer, hvilke validatorer der skal behandle blokke. Og der er eksekveringslaget, som er fokuseret på at behandle transaktioner.

Da vægten ikke længere var på sharding, skiftede Prysmatic Labs til at oprette en klient kaldet Prysm, der ville køre konsensuslaget i blockchain, hvilket gør det muligt for validatorer at satse deres tokens og få retten til at behandle transaktioner.

Udover Prysm er der tre andre hovedkonsensuslagklienter: Lighthouse, Teku og Nimbus. De er alle skrevet på forskellige softwaresprog. Ethereum-samfundet værdsætter at have en mangfoldighed af kunder som en form for decentralisering.  

I maj 2019 udgav Prysmatic Labs den første testnet-iteration af sin Prysm-klient og et offentligt Ethereum-testnet, så alle kunne begynde at eksperimentere med bevis for indsats.

Implementering af fusionen

For Van Loon føltes Ethereums flytning til et proof-of-stake-projekt ikke ægte før en sammenkomst, der fandt sted i Ontario i september 2019. Der var omkring 40 udviklere der, hver fra de forskellige Ethereum-konsensuslagsteams. 

De vidste, at hver af klienterne arbejdede uafhængigt på bevis for indsats, men de vidste ikke, om de ville synkronisere. Det svarede til at lære fem mennesker et nyt sprog selvstændigt og derefter sætte dem i samme rum og bede dem om at tale med hinanden.

Holdene arbejdede i en uge, delte øl og spillede kort. Til sidst fik de alle klienterne synkroniseret og arbejdede sammen og overkom små fejl og tekniske forhindringer. Det var en kæmpe succes.

At få softwaren til at synkronisere krævede også at få folkene bag til at synkronisere. "Det var bare rart at lære folk at kende lidt uden for computeren, fordi vi arbejder sammen over internettet og er også meget passionerede omkring [Ethereum]. At lære personen lidt mere at kende gjorde det lettere at arbejde sammen, især når vi ikke er enige,” sagde Van Loon.

Hvis klienterne ikke arbejder sammen, kan netværket begynde at fragmentere, sagde Van Loon. Hvis en klient afviser en anden klients adfærd, vil du muligvis se flere gafler på netværket (hvor blockchain midlertidigt opdeles) og en "generel nedbrydning af netværket," tilføjede han.

I løbet af det næste år eller deromkring blev Prysm så populær, at på et tidspunkt brugte mere end to tredjedele af validatorerne det - hvilket mange så som en centraliseringsrisiko.

"Det blev for vellykket til det punkt, at det var en risiko, og vi var nødt til at fortælle alle, stop med at bruge Prysm, skift til noget andet. Vi skal have styr på det her, sagde han. Det er i øjeblikket klienten, der kører for omkring 35% af Ethereums noder.

For at sikre, at The Merge går godt, har udviklere udført The Merge på flere testnet og udført shadow forks (hvor det faktiske mainnet kun er fordelt på nogle få noder for at se, om det virker). Kiln-, Ropsten-, Sepolia- og Goerli-testnettene har gennemgået The Merge og kører den fulde proof-of-stake-kode.

"På dette tidspunkt, hvor den hårde del er færdig, har vi allerede lavet alle testene. Vi har det godt med det. Alt fungerer nu." Den næste udfordring handler om at få alle til at downloade de nye klienter, sagde han.

Van Loon erkendte, at der ikke rigtig er en backup-plan, hvis noget går galt, for eksempel hvis klienterne falder ud af sync, eller hvis konsensusmekanismen ikke kan blive enige om, hvem der skal behandle transaktioner. I den usandsynlige situation, at det ikke virker, kunne kerneudviklere udstede en tilbagerulning for at fortryde det, sagde han. 

Men mens en udfordring ville være at finde fejlen i koden, ville den største udfordring være at koordinere alle 6,800 nodeoperatører for at blive enige om den samme fremgangsmåde. Det er derfor, det er så vigtigt, at Van Loon og de andre kerneudviklere sørger for, at sådanne uenigheder alle er blevet forudset og afstemt, før Ethereum gennemgår sin endelige transformation.

Rettelse: Vi har fastsat antallet af node-operatorer. H/T til Anatoly Yakovenko for at påpege denne fejl.

© 2022 The Block Crypto, Inc. Alle rettigheder forbeholdes. Denne artikel er kun til orientering. Det tilbydes ikke eller er beregnet til at blive brugt som juridisk, skat, investering, finansiel eller anden rådgivning.

Tidsstempel:

Mere fra Blokken