Fremtiden for Ethereum-oppgraderinger, etter sammenslåing [Del 2]

Kilde node: 1596837
bilde

Ethereums største oppgradering noensinne – overgangen til en proof-of-stake konsensusmekanisme – er rett rundt hjørnet. Men selv om sammenslåingen skal legge til sikkerhet og bærekraft, inkluderer den ikke sharding, den lenge etterlengtede metoden for å skalere nettverket. 

In Del I av samtalen vår med Ethereum Foundation (EF)-forsker Danny Ryan, som har hjulpet til med å koordinere oppgraderingsprosessen, diskuterte vi hva sammenslåingen er utformet for å gi når det gjelder sikkerhet og stabilitet.

I del II snakker Ryan om oppgraderinger som brukere kan forvente i fremtiden, inkludert danksharding, statsløs Ethereum og sikkerhetsoppdateringer som kjemper mot økningen av miner extractable value (MEV). Han forklarer også hvordan denne årelange innsatsen resulterte i nye metoder for å undersøke og teste fremtidige oppgraderinger.


Koordinering på et desentralisert nettverk

FREMTID: Du hentydet til muligheten for at gruvearbeidere vil gaffel og fortsette å prøve å bruke den gamle kjeden. Men for det meste har denne prosessen fått alle med. Hva er din rolle i det som Ethereum Foundation-forsker? Hvordan blir et så massivt trekk koordinert?

DANNY RYAN: Jeg begynte å engasjere meg i proof-of-stake-ting rundt 2017, og selv da føltes det som en selvfølge. Det var fem år siden. Og Ethereum-samfunnet har vært veldig villig til å ikke stagnere og gjøre det riktig, og konstruere en protokoll som ikke bare fungerer i dag, men som forhåpentligvis fungerer i 100 år eller mer. 

Så tidlig i sitt etos, da det var en anelse om at bevis på innsats kunne gjøres sikkert og bedre enn bevis på arbeid, var folk veldig begeistret for det. Og når 2016, 2017 ruller rundt, er folk ikke bare begeistret for det, men de er engstelig for at det skal skje. Det virker som det er veldig dypt i Ethereum-samfunnets etos at dette kommer til å skje.

Det er mer sensitive saker. Det er mindre gitte konklusjoner der EF, forskerteamet og klientene som er utenfor EF alle prøver å komme opp med løsninger på problemer og holde ting i gang. Noen ganger er løsningene i en litt mer gråsone — er dette riktig løsning? Gjør vi det nå? Gjør vi det senere? Det ender opp med å bli tøft, og EF prøver å hjelpe til med å koordinere disse metodene, hjelpe til med forskning og utvikling for å hjelpe veterinærløsninger, hjelpe til med å forenkle samtaler for å bestemme tidslinjer og prioriteringer og bestillinger. 

Men til syvende og sist, på de fleste punkter, er EF-agendaen å bidra til å gjøre protokollen mer bærekraftig, sikker og skalerbar samtidig som den er desentralisert – og ikke å sende en bestemt funksjon over den andre. Så mye av det vi fokuserer på når det gjelder både teknisk arbeid og sosial koordinering er å legge til rette for god informasjon, god forskning og god dialog slik at de mange deltakerne som er involvert i FoU, ingeniørarbeidet og samfunnet kan beholde ting beveger seg og kommer til avgjørelser.

I løpet av de siste fem årene har det vært mange flere stemmer lagt til fellesskapet, og etter sammenslåingen vil det teoretisk sett bli mer desentralisert. Hvilke tanker har du om den fremtidige prosessen for oppgraderinger? Er det mulig at vi skal se på en slags lag-XNUMX DAO for å koordinere oppgraderinger?

Slik jeg forstår det, er ikke Ethereum-fellesskapet opptatt av on-chain-stemmegivning – eller noen form for plutokratisk stemmegivning og oppgraderinger – og at protokollen er den brukerne bestemmer seg for å kjøre. Generelt er det bred konsensus. Noen ganger er det skisma – for eksempel Ethereum vs Ethereum classic. Men på slutten av dagen er det din rett og fellesskapets rett og brukernes rettigheter å finne ut hvilken programvare de vil kjøre. Generelt er vi enige fordi folk prøver å gjøre Ethereum bedre, og det er ikke mye konflikt i noen av kjernesakene der. 

Så jeg forventer ikke en formell teknisk mekanisme. Jeg forventer at prosessen vil fortsette å vokse og endre seg og utvikle seg i denne typen løs styring, der det er forskere, det er utviklere, det er fellesskapsmedlemmer, det er dapps og slike ting. 

Jeg vil si at – og jeg tror du hentydet til det – det er flere og flere mennesker ved bordet, og det blir vanskeligere og vanskeligere å ta avgjørelser og sende ting. Jeg personlig tror at det er en funksjon. Jeg tror at både fra et pålitelighetssynspunkt for applikasjoner og brukere, og fra unngåelse av fangst i det lange løp, at det sannsynligvis er viktig for mye av Ethereum-protokollen å ossifisere. Så selv om det blir stadig vanskeligere å være i styringens malstrøm og prøve å sende, og noen ganger føles det som om jeg prøver å løpe med en vektvest og vekter på anklene og nå har jeg vekter på håndleddene, tror vi har noen viktige ting å gjøre i løpet av de neste årene. Men jeg tror det kommer til å bli vanskeligere og vanskeligere å få ting gjort. Og det synes jeg er en god ting.

Vitalik kaller det "funksjonell rømningshastighet." La oss få Ethereum til et sted hvor det har tilstrekkelig skala og funksjonalitet til at det kan utvides og utnyttes på uendelig mange måter i neste lag av stabelen. La EVM ha minimum tilstrekkelig funksjonalitet, har det være nok datatilgjengelighet til å håndtere enorme mengder skala, og så kan applikasjoner utvide den i smarte kontrakter. Lag to kan eksperimentere med nye VM-er inne i lag-to-konstruksjonene deres; du kan skalere Ethereum og så videre og så videre.

Jeg tror det kommer til å bli vanskeligere og vanskeligere å få ting gjort. Og det synes jeg er en god ting.

Skyggegafler

En av tingene som kom ut av denne spesifikke testprosessen var shadow forks, prosessen med å kopiere ekte Ethereum-data til et testnett for å simulere et mainnet-testmiljø. Var det alltid i planen? Og hvordan tror du det kan endre FoU-prosessen for fremtidige oppgraderinger?

Vi burde ha drevet med skyggegafler de siste fire årene. De er fantastiske; de er veldig kule. Jeg tar egentlig en rekke noder som vi kontrollerer – kaller det som 10, 20, 30 – og de tror det kommer en gaffel, så de er på hovednettet eller et av disse testnettene, og deretter i en eller annen gaffeltilstand, som blokkhøyde, de alle sier: "Ok, vi er på det nye nettverket." Og de deler seg og de henger deretter ut i sin egen virkelighet, men de har en tilstand på størrelse med mainnet.

Og for en stund kan du overføre transaksjoner fra hovednettet til denne splittede virkeligheten for å få en rimelig mengde av det som ser ut som organisk brukeraktivitet, noe som er veldig bra. Det lar oss teste det som endte opp som svært organiske prosesser som er vanskelige å simulere. Og det har vært flott. Lik [Jayanthi] og andre som jobber på DevOps-teamet hos EF har orkestrert disse, og vi lærte så mye av dem. Jeg tror at hvis du spør noen, ville de vært sånn: "Vel, ja, det hadde vært flott om vi gjorde dette for tre år siden, for fire år siden ved hver oppgradering."

Men jeg vil si en annen ting. Jeg har sagt det [siden] for et år siden, og nå er vi i den lange halen når det gjelder sikkerhet og testing: Det slår virkelig på denne tingen, sørge for at alle kantsakene er riktige, sørge for at når det kommer, skjer det. — Vi tar ett skudd på det, og det fungerer. Og det viser seg at måten programvaren er konstruert med klienter for konsensusutførelseslag, er det bare mye å bygge når det gjelder testing. Shadow forks er en av dem. Bruke andre simuleringsmiljøer som kan teste disse to tingene sammen, som kurtose, AntiteseOg andre. 

Det er noen andre ting vi må gjøre, som å koble om Hive, som er vårt testrammeverk for integrering nattlig, slik at det kan håndtere begge disse typene klienter og slik at du kan skrive tester der ulike kompleksiteter skjer på begge sider av midtgangen. Alt som måtte skje. Først måtte rammeverket utvikles eller modifiseres. Da måtte mange av prøvene skrives. Så det fine med Merge er at vi virkelig har forbedret verktøyene i verktøybeltet vårt for å kunne teste oppgraderinger på en slik måte at neste oppgradering vil handle mye mer om å skrive testene i stedet for å tenke på hvordan man til og med kan teste det og skrive rammeverket for å teste det. 

Hva er etter bevis på innsats?

Siden dette har pågått i lang tid, skulle sharding i utgangspunktet komme først. Men økosystemutviklingen betydde at du først kunne gå til bevis på innsats. Var det andre økosystemutviklinger som dukket opp under denne prosessen som kan endre tilnærmingen din mot fremtidige oppgraderinger?

For det første er det sannsynligvis en rekke grunner til at bevis-på-innsats-skiftet ble prioritert. Det ene var å slutte å betale for mye for sikkerhet med bevis på arbeid. Og den andre var at skalaen begynte å komme gjennom disse lag-to-konstruksjonene. Så, hvis du har 10-100x skala som kommer fra det, kan du fokusere på denne andre tingen og fullføre jobben og forene disse to forskjellige systemene: beacon-kjeden og det nåværende hovednettet. 

Det er noen andre ting som har påvirket hvordan vi tenker på tidslinjer og prioriteringer. Jeg nevnte tidligere at hele MEV-verdenen har kastet en skiftenøkkel i noen ting. Det er sentralisering og andre sikkerhetsproblemer som dukker opp når du begynner å tenke på hvor MEV kan gå. Og det har vært mye forskning de siste 12-pluss månedene på hvordan man kan dempe noen av disse bekymringene med lag-en-modifikasjoner. Avhengig av analysen av trusler som kommer fra MEV-verdenen, kan det prioritere visse sikkerhetsfunksjoner og sikkerhetstillegg til L1 over noe annet som kanskje var forventet å være prioritet. 

Jeg tror noe som er interessant er sharding roadmap og den nåværende forventede konstruksjonen, som kalles danksharding, oppkalt etter Dankrad [Feist], vår forsker ved EF. Hele konstruksjonen blir faktisk forenklet når du antar at disse svært incentiviserte MEV-aktørene eksisterer. Ikke bare har noen av disse eksterne aktørene endret hvordan vi tenker på sikkerhet, men de endrer også hvordan vi kan tenke på konstruksjonen av disse protokollene. Hvis du antar at MEV eksisterer, hvis du antar at disse svært incentiviserte skuespillerne er villige til å gjøre visse ting på grunn av MEV, så har du plutselig denne tredjepartsdeltakeren i konsensus om at du kanskje kan laste ned ting til, som på mange måter kan forenkle. Så det er ikke bare dårlige ting som kommer, men det er også nye typer design som åpner seg.

Vi har virkelig forbedret verktøyene i verktøybeltet vårt for å kunne teste oppgraderinger på en slik måte at neste oppgradering vil handle mye mer om å skrive testene i stedet for å tenke på hvordan man til og med skal teste det.

Blir statsløse Ethereum fortsatt aktivt diskutert og forsket på? 

Ja. Staten – alle kontoer og kontrakter og saldoer og sånt – det er Ethereums tilstand. Gitt hvor du er i blokkjeden, er det en tilstand av virkelighet. Den tingen vokser over tid, vokser lineært. Og øker man gassgrensen, vokser den enda raskere. Så dette er en bekymring. Hvis det vokser raskere enn minnet og harddiskplassen til forbrukermaskiner, har du problemer med å faktisk kunne kjøre noder på hjemmedatamaskiner og forbrukermaskinvare, noe som har sikkerhets- og sentraliseringsproblemer. Også, hvis du snakker med noen av de Gat [klient]-teammedlemmer, det faktum at staten fortsetter å vokse betyr at de må fortsette å optimalisere ting. Så det er vanskelig.

Statsløse Ethereum og ting i den forskningsretningen er en potensiell løsningsvei for dette, hvor for å utføre en blokk trenger jeg faktisk ikke hele staten; det er på en måte denne skjulte inngangen til å utføre funksjonen til en blokk. Jeg trenger pre-state, jeg trenger blokk, og så får jeg post-state for å vite om blokken er gyldig. Mens med statsløs Ethereum, er statens behov – kontoene og andre ting du trenger for å utføre den aktuelle blokken – innebygd i blokken og er bevis på at disse er den riktige tilstanden. Å utføre en blokkering og sjekke gyldigheten til Ethereum blir bare å måtte ha blokken, noe som er veldig bra. Nå kan vi ha fulle noder som ikke nødvendigvis har full tilstand. Det åpner opp et helt spekter av hvordan man konstruerer noder. Så jeg kan ha en node som fullstendig validerer og ikke har tilstanden, jeg kan ha en node som bare holder tilstanden relevant for meg, eller jeg kan ha veldig fulle noder som har all tilstanden og den slags ting.

Dette jobbes det aktivt med. Det er faktisk, tror jeg, for øyeblikket et testnett med alle de andre morsomme tingene som må skje for å få dette til. Min nåværende vurdering er at etterspørselen etter sharding og L1-skala er høyere enn den overhengende trusselen om statlig vekst. Så det er svært sannsynlig, ettersom den ene vil bli prioritert over den andre, at skalaen vil bli prioritert. 

Når det er sagt, er det vanskelig å si. Det er "proto-danksharding", som er litt som en trinnvis måte å få litt mer skala på. Kanskje skjer det og så skjer statsløs og så skjer full skjæring, avhengig av behov og vurdering av hva som skjer og truslene involvert. Jeg tror den generelle tanken om statsvekst er at vi må ha en vei og vi må fikse den, men at de forestående brannene er slukket og at dette ikke er noe som vil lamme Ethereum de neste par årene. Men det er en ting som må fikses.

Gå meg gjennom oppgraderingene som vi do vet for etter sammenslåingen. Blir det en oppryddingsoppgradering? Er det atskilt fra Shanghai-oppgraderingen? Og når blir sharding introdusert?

Shanghai er sannsynligvis navnet på hva enn gaffelen er etter sammenslåingen. Å faktisk ta ut pengene dine som du har satset i nesten to år nå – [det blir] ikke aktivert ved sammenslåingen. De var i utgangspunktet forventet å bli gjort, men gitt kompleksiteten til sammenslåingen, ble det over tid besluttet å virkelig fjerne den og bare få sammenslåingen gjort og ikke legge til ekstra funksjonalitet for uttak. Jeg forventer veldig, veldig, veldig at uttak er aktivert i Shanghai - så den første oppgraderingen etter sammenslåingen. Dette har blitt lovet til mange, mange mennesker som har mye kapital på linjen, og jeg forventer ikke noe problem med det. Disse er generelt spesifisert, det er skrevet tester og den slags. 

Det er en rekke andre EVM [Ethereum Virtual Machine]-forbedringer som jeg tror ville gjort det inn i dette systemet – forskjellige matematiske operasjoner, noen forskjellige ting med utvidbarhet, litt bedre versjoner i EVM og andre funksjoner. Det er litt av en trykkutløsningsventil på EVM-forbedringer, som har blitt lagt til side i flere år nå for å gjøre sammenslåingen og andre oppgraderinger. Og folk ønsker virkelig å se en slags mindre skalerbarhetsoppgradering her. Så det kan være enten proto-danksharding, som legger noe av grunnlaget for full sharding og får litt mer skala, eller potensielt calldata-gassprisreduksjoner, som er veldig enkle, men egentlig ikke er en bærekraftig løsning. Så det er det vi forventer, forhåpentligvis, i Shanghai: uttak og litt skala.

Da er spørsmålet: Hva skjer etter det? Og det er vanskelig å si. Hvis vi får litt skala der, og det kompletterer L2-ene veldig bra og ting er ganske bra, så er det kanskje behov for å gjøre statsløse på det tidspunktet. Eller hvis L2-er har et umettelig behov for mer skala, så legger det kanskje til rette for full danksharding.

Dette intervjuet har blitt redigert og kondensert. 

Lagt ut 27. juli 2022

Teknologi, innovasjon og fremtiden, som fortalt av de som bygger den.

Takk for at du registrerte deg.

Sjekk innboksen din for et velkomstbrev.

Tidstempel:

Mer fra Andreessen Horowitz