NyheterUtviklereEnterpriseBlockchain ExplainedBegivenheter og konferanserPresseNyhetsbrev
Contents
Abonner på vårt nyhetsbrev.
Epostadresse
Vi respekterer personvernet ditt
HomeBlogBlockchain forklart
Min reise til å bli validator på Ethereum 2.0
Dette er den første i en serie artikler som beskriver hvordan et individ, med ~ 32 ETH og teknisk kunnskap, kan delta i lanseringen av Ethereum-fyrkjeden av Coogan Brennan 25. november 2020 Publisert 25. november 2020
Bilde: Bildet over, av Ben Edgington fra Teku (som også skriver det essensielle Eth2.news nyhetsbrev), beskriver trinnene vi skal ta over de neste tre blogginnleggene.
Merk: Mens fristen har gått for at validatorer skal inkluderes i Genesis-arrangementet for fyrkjeden, kan folk fortsatt sette inn 32 ETH i innskuddskontrakten ved å følge trinnene nedenfor. I følge Alex Tudorache av Eth2stats, når kjeden starter 1. desember, 12:00 UTC, 2020, vil enkeltpersoner som setter inn fra 24. november 12:00 UTC, 2020, til genese stå i kø og følge den normale aktiveringsprosedyren.
- Introduksjon
- Ansvarsfraskrivelse
- Materialer og krav
- Å anskaffe 32 ETH på MetaMask
- Launchpad Oversikt
- Nøkkelgenerering
- Kobling av Ethereum 1.0 og 2.0 og Locking-in 32 ETH
- Konklusjon
1. Introduksjon
Dette er den første i en serie artikler som beskriver hvordan en person, med ~ 32 ETH og teknisk kunnskap, kan delta i lanseringen av Ethereum fyrkjede, fase 0 i Ethereum 2.0-prosjektet. Før vi går inn i det første trinnet med å sende ETH til innskuddskontrakten og få valideringsnøklene våre, vil jeg diskutere noen av motivasjonene bak Ethereum 2.0.
Ethereum er i ferd med å legge ut på en ny og spennende reise inn i ukjent territorium for ethvert blockchain-nettverk. Skiftet fra Proof of Work til Proof of Stake er den viktigste protokollendringen i den korte historien til offentlige blokkjeder. Den nærmeste ekvivalenten ville være Segregerte vitner (eller SegWit) hard gaffel av Bitcoin – en justering av måten blokkstørrelser ble behandlet i Bitcoin-nettverket. Den endringen, relativt liten i forhold til Ethereum 2.0, resulterte i en omstridt, bitter kamp og til slutt førte til fragmenteringen av Bitcoin-samfunnet.
Lanseringen av Ethereum 2.0 får SegWit til å se ut som et dekkbytte. Det er to hovedgrunner til at dette samfunnet vil foreta en så betydelig omarbeiding. For det første er Ethereum-fellesskapet et fellesskap av utviklere. Utviklere lanserer ikke et produkt og berører aldri det igjen. Vi distribuerer, observerer, diskuterer og gjentar stadig ideene og arbeidet vi produserer. Denne syklusen ledsages av høye nivåer av planlegging, modellering og koordinering på tvers av mange lag som i andre innstillinger kan betraktes som konkurrenter. Når det er feil, kommer samfunnet sammen for å løse dem på best mulig måte.
Den andre grunnen til at vi gjør dette nye arbeidet er at vi tror offentlige blockchains er langt fra sitt fulle potensiale. Bevis for arbeid var en uprøvd hypotese da Bitcoin ble lansert i 2009. De aller fleste trodde ikke at du kunne løse problemet med dobbeltbruk, bortsett fra ved bruk av pålitelige mellomledd. Bitcoin og andre Proof of Work-nettverk har nå bevist at vi kan implementere et monetært system som en peer-to-peer-protokoll (jeg sender deg penger) uten en tredjepart.
Å bevise det poenget var bare begynnelsen. Ethereum fikk kallenavnet Bitcoin 2.0 av samfunnet da det først ble utviklet: Det anerkjente manglene ved Bitcoins operativsystem og ble lansert for å utvide muligheten for peer-to-peer-protokoller. Ethereum 1.0 vil fortsette å gjøre store fremskritt gjennom årene når vi bygger 2.0 ved siden av det, men som Vitalik Buterin sa i en nylig Reddit AMA:
“Hvis du er her i Ethereum i dag, burde du ikke være her fordi du mener gjeldende regler (økonomiske eller tekniske) fortjener å bli beskyttet og stabilisert for enhver pris, men fordi du tror på hvor økosystemet skal. […] Deltakelse i Ethereum er uunngåelig delvis en spådom om at veikartet er bra, og at når denne oppgraderingsprosessen ender, vil vi faktisk komme til et sted der nettverket er effektivt og stabilt og kraftig og i stand til å være basen til viktige deler av den globale økonomien ”
Bevis for innsats i dette stadiet av Ethereum 2.0 er faktisk et bud på evnen til Ethereum-utviklerne og samfunnet, som allerede har bygget så mye, for å levere enda mer til den store verden. Du bør forvente å låse penger du legger i denne innskuddskontrakten for i det minste to år, mest sannsynlig lenger. Vennligst ikke undervurder risikoen, og invester bare det du har råd til å tape. Ved å bidra til dette første trinnet deltar du imidlertid i et potensielt historisk øyeblikk for å presse offentlige blokkjeder inn i neste utviklingsstadium.
La oss komme i gang.
2. Ansvarsfraskrivelse
Dette er et innlegg jeg skriver som en ansatt i ConsenSys og noen som planlegger å faktisk satse på fyrkjeden. Den tidligere uttalelsen betyr at jeg prioriterer ConsenSys-produkter (ConsenSys-produkter er vanligvis best i klassen for Ethereum, og jeg har også tilgang til ingeniørteam som kan hjelpe meg med å svare på spørsmål og feilsøke). Sistnevnte uttalelse betyr at jeg optimaliserer for pris og brukervennlighet: Jeg har ikke tusenvis av ETH for å gi betydelige belønninger, så jeg tar noen snarveier. Jeg vil heller ikke måtte ha en server i leiligheten min for kostnad og logistiske formål, så jeg bruker Amazon Web Services (AWS) til å være vertskap for min validator-node. Det er en tjeneste jeg er kjent med som utvikler, og den er virtuell, slik at jeg får tilgang til den hvor som helst for vedlikehold. (Opprinnelig vurderte jeg å bruke 8 GB RAM Raspberry Pi, men ønsket ikke å bekymre meg for internettforbindelse, noe som gjør at strømmen fortsatt er på, overoppheting og hastighet, eller hvis hunden min sparker over den bærbare datamaskinen min … Det er et alternativ og Ethereum på ARM er en gruppe som gir materialer for å sette Ethereum 2.0 på Raspberry Pi)
Mange mennesker i kryptosamfunnet vil være uenige i å bruke et Infura-endepunkt i stedet for en lokal Ethereum 1.0-klient og være vert for AWS (en del av Amazon-goliath). Dette er beslutninger jeg har tatt for å gjøre innsatsen til Ethereum 2.0 så enkel og tilgjengelig for enkeltpersoner som mulig, men kommer med avveininger til desentralisering og personvern. Imidlertid kan du følge veiledningen for bred retning nedenfor og velge å kjøre din egen Ethereum 1.0-klient og være vert lokalt. Faktisk, hvis du kan gjøre det, vil jeg oppfordre deg til å gjøre det!
3. Materialer og krav
Her er materialene vi trenger og de overordnede trinnene vi skal ta i løpet av tre innlegg:
Materialer
- En tre års forpliktelse til å sette 32 ETH og opprettholde en valideringsnode
- 32 ETH (pluss <1 ETH for gasskostnader)
- $ 717,12 (tre års reservert forekomstprissetting for en m5.xlarge forekomst) + 120 (ett års kostnad på 100 GB lagring, konservativt antatt nesten full lagringskapasitet) = $ 837,12 betalt i løpet av året til AWS
- MetaMask-utvidelse (gratis installasjon)
- Infura-konto (gratis nivå)
Fremgangsmåte
- Skaff deg 32 ETH på MetaMask, Walkthrough Launchpad
- Konfigurer AWS-forekomst (tre års forpliktelse, kan være mindre, men du sparer penger med mer tid og du er låst inne), herder sikkerhetsfunksjonene
- Importer bekreftelsesnøkler, kjør Teku, oppsettovervåking
Det er noen flotte, mer generelle opplæringsprogrammer som går gjennom denne prosessen, nemlig Mara Schmiedt og Collin Myers ’gjennomgang i Bankless nyhetsbrev. Denne opplæringen vil være annerledes når jeg går gjennom min egen individuelle innsatsprosess og legger til trinn som er spesifikke for det generelle oppsettet mitt.
4. Å skaffe 32 ETH på MetaMask
Både det enkleste og vanskeligste trinnet i denne opplæringen. Mens jeg skriver dette, gjennomgår Ethereum et prisløp som dramatisk øker kostnadene ved innsatsen (Evan Van Ness har et herlig innlegg som sporer kostnadene for å validere tilbake i mange måneder, fra og med mars 2019, da det koster $ 3100 USD å kjøpe 32 ETH til oktober 2020 når det koster $ 12 000 USD. Det er noen få som har kjøpt og, Ahem, HODLed Ethereum i ganske lang tid. Hvis du ikke har blåst kryptoen din på en pizza i 2010, anser deg selv som en heldig – erm – strategisk investor.
Hvorfor trenger vi en nettleserbasert lommebok som MetaMask? Flyten av å låse opp ETH i innskuddskontrakten på Ethereum 1.0 Mainnet og koble den til Ethereum 2.0 Beacon-kjeden krever en delikat dans. De to kjedene bruker forskjellige klasser av kryptografi, så vi må generere helt nye typer kryptografiske nøkler. Disse nøklene må imidlertid kobles til Ethereum 1.0-adressene våre med 32 ETH. Det ville være veldig vanskelig å gjøre på egen hånd, så Ethereum Foundation og ConsenSys har opprettet et nettsted som håndterer prosessen kalt Launchpad. For å samhandle med det nettstedet trenger vi imidlertid en nettleserbasert lommebok med Ethereum 1.0-nøklene knyttet til vår 32 ETH-saldo. Vi kommer nærmere inn på det senere, men jeg ville fortelle folk hvorfor vi gjør dette.
Hvis du ikke har noen eter (basisvalutaen til Ethereum-nettverket): Du kan kjøpe direkte på MetaMask. Du kan også kjøpe ETH på sertifiserte børser som Tvillingene, men vær advart om at det er en omfattende KYC-prosess, og Gemini vil føre og kan sende poster til lokale, statlige og nasjonale statlige byråer. Hvis du har ERC-20-tokens, men ikke eter: Jeg anbefaler å bruke MetaMask’s nye byttefunksjon direkte i MetaMask-lommeboken din, som kombinerer desentraliserte utvekslingsaggregater som Uniswap og AirSwap for å få de beste prisene og de laveste nettverksgebyrene. Hvis ETH er på en Trezor- eller Ledger-maskinvarebok, Jeg anbefaler at du følger disse trinnene for å koble lommeboken til MetaMask. Jeg bruker MetaMask, men Ethereum Foundation anbefaler også nettleserbaserte lommebøker som Portis eller Fortmatic.
For meg var dette litt nervepirrende å se en betydelig sum penger til rådighet med en rett kryptografisk signatur. Sannsynligvis et godt tidspunkt å beundre den utrolige kraften til krypto for å kunne gi dette til enkeltpersoner, mens du også minner folk om å sørge for at du har sikkerhetskopiert dine private nøkler eller gjenopprettingsfraser.
5. Launchpad Oversikt
Bilde: Launchpad.ethereum.org
Nå som vi har varetekt over 32 ETH for staking, kan vi gå til Launchpad.ethereum.org, Launchpad-nettstedet vi nevnte tidligere. Mara og Collins Bankless guide går veldig bra på startsiden (vist nedenfor), og mye av det er selvforklarende, men jeg ønsket å gi min egen personlige tolkning på noen få ting:
De fire første trinnene (Oversikt, Melde deg på, Ansvar, og Slashing) er en grunnleggende oversikt over Ethereum 2.0, innsats og ditt ansvar som validator. I hovedsak er konsensusmekanismen Proof of Stake avhengig av at “gruvearbeidere” (i Proof of Work-språk) legger pengene sine der munnen deres er, i stedet for å bruke enorme mengder CPU som løser Proof of Work-gåter. Det er 32 ETH, bordinnsatser for å delta i Proof of Stake-konsensus.
Og siden nettverket fremdeles er under utvikling, er det ennå ikke noe spennende for validatorer (hva om du finner DAO-hacket på det nye nettverket? Vi kan ikke la deg gå …). Så alle er med på lang sikt. (som dekker Overføringsforsinkelse og Forpliktelse)
Til slutt, hvis du “oppfører deg” som en validator i nettverket (enten av ondskap eller uvitenhet eller tilfeldighet), blir du straffet. I Ethereum 2.0 heter det slashing. På den positive siden, hvis du oppfører deg riktig som en validator, får du “gruvebelønningene” knyttet til nettverket (vi vil diskutere det mer senere). Som en rask side er disincentive / incentiv balanse forskjellig fra Proof of Work, hvor det bare er incentiver for gruvearbeidere å ikke sabotere nettverket og oppføre seg riktig.
Neste er nøkkelsystemet jeg nevnte tidligere. Nøkkelunderskriftssystemet Ethereum 2.0 skal bruke er BLS. Jeg er ikke en kryptografiekspert, men takeaway fra BLS er at flere digitale signaturer kan kollapses til en enkelt verifiserbar. Dette er nyttig når du samler attester fra fyret (“Stemmer med hensyn til gyldigheten av en skjærblokk eller fyrtårn”). Mest relevant for oss er BLS-ordningen forskjellig fra ordningen som brukes for Ethereum 1.0.
For mer informasjon om BLS, se denne tråden fra Jeff Coleman eller dette Reddit-innlegget om historien om BLS-utvikling for Ethereum 2.0.
Vanligvis ville det være umulig å endre en privat nøkkelordning for et stort offentlig nettverk. Siden Ethereum 2.0 vil kjøre sammen med Ethereum 1.0, har kjerneutviklere imidlertid kommet med en smart løsning, som er et klassisk håndtrykk:
I diagrammet ovenfor representerer den blå nøkkelen og boksene Ethereum 1.0 og dens kryptografiske skjema, og den røde nøkkelen og boksene representerer Ethereum 2.0 og dets kryptografiske skjema. Innskuddskontrakten, som eksisterer på Ethereum 1.0 Mainnet, lar brukeren bevise at de har private nøkler for Ethereum 1.0 og Ethereum 2.0. Slik fungerer det:
Transaksjonen som sendes til innskuddskontrakten på Ethereum 1.0, må signeres av en Ethereum 1.0 privat nøkkel (som alle transaksjoner som sendes på Mainnet). Imidlertid er den transaksjonen pakket rundt en annen privat nøkkelunderskrift, Ethereum 2.0 privat nøkkel. Fyrkjeden overvåker innskuddskontrakten på Ethereum 1.0, hvis en gyldig transaksjon sendes til kontrakten med riktig balanse, pakker fyrkjeden ut det første krypteringslaget og får tilgang til det andre laget, den digitale signaturen Ethereum 2.0. Dette brukes til å bekrefte Ethereum 2.0-validatoradressen og koble den til en Ethereum 1.0-adresse.
For folk som er kjent med Solidity, her er transaksjonen som inngår i Ethereum 1.0-kontrakten, med BLS signaturparameter sirklet:
Det er en parameter til her (uttakslegitimasjon) som vi ikke har diskutert, som egentlig er en engangsnøkkel for å trekke tilbake 32 ETH når vi har fått lov til det. Vi genererer det også med Launchpad.
Som du kan se, er det en komplisert prosess som vil være utfordrende for en enkelt bruker å gjøre solo. Launchpad gir oss en veiledet prosess for å hjelpe og redusere kompleksiteten.
De neste tre avsnittene (Forpliktelse, Tidlig adopteringsrisiko og Bekreftelse) er en siste påminnelse om den risikable og langsiktige forpliktelsen ved å delta i Ethereum 2.0
For mer informasjon om Ethereum 2.0-terminologi og forstå rollen som en validator, se Alex Tudoraches to utmerkede brikker Ethereum 2.0 vilkår avmystifisert og A Validator’s Journey Through the Beacon Chain.
6. Nøkkelgenerering
Nå som vi har en generell oversikt over vår rolle i Ethereum 2.0 som validator, vil vi gå videre med prosessen: generere valideringsnøkler og koble dem til Ethereum 1.0 med en overføring på 32 ETH til Ethereum 1.0 Mainnet Deposit Deposit.
Når du har bekreftet at du har lest informasjonen, vil Launchpad gå gjennom alternativene du har for å velge en Ethereum 1.0- og 2.0-klient. Vi kommer til disse i et annet innlegg, og det er ikke et krav å komme videre.
Deretter går du til delen “Generer nøkler”, vist nedenfor:
Jeg har valgt 1 Validator, og det viser meg kostnadene. Det ber da mitt nåværende operativsystem hjelpe meg å laste ned en liten bit programvare for å generere valideringsnøkkelparene. Dette er vanskelig, for mens validator-klienten min kjører på Linux, bruker jeg en Mac hver dag. Så jeg velger Mac, og det tar oss til neste trinn og spør oss hvordan vi vil installere programvaren:
Jeg velger å laste ned CLI-appen, og det tar meg til nedlastingssiden på Ethereum Foundation’s Github-side (utgivelsesversjonen kan se annerledes ut for deg, bare vær sikker på at den er den nyeste versjonen):
Rull ned for å se nedlastingsdelen:
Last ned filen ‘tar.gz’ for riktig operativsystem og pakk ut filen.
Vi må nå åpne kommandolinjeterminalen og navigere til katalogen til den utpakte filen vår, kalt eth2deposit-cli. En snarvei for noen maskiner er å skrive cd og deretter dra og slippe katalogen inn i terminalen, som vil gi deg stien til katalogen. Trykk på enter, og kjør følgende kommando gitt av Launchpad i katalogen eth2deposit-cli:
./ deposit new-mnemonic –chain mainnet
Det er en konstant påminnelse om å inkludere –chain mainnet, fordi tidligere veiledninger hadde forskjellige kjeder for forskjellige testnett. Så pass på å legge til mainnet ellers vil ikke transaksjonsinformasjonen være gyldig!
Angi antall validatorer du vil kjøre, og følg trinnene.
Jeg kommer ikke til å dele skjermbilder for de neste trinnene, da det innebærer å generere sensitive nøkler og passord. To viktigste ting skjønt: 1) Sikkerhetskopier den mnemoniske setningen du får, da dette er den eneste måten å trekke tilbake ETH du satser når det er tillatt 2) Dette trinnet er bare for Teku-brukere: Opprett en ren tekstfil som inneholder passordet du har angitt for valideringsnøklene. Lagre den med samme navn som keystore.json-filen, men med a.txt-suffiks i samme katalog med nøklene og innskuddsinformasjonen. For eksempel hvis keystore-filen din er KEYSTORE-M_123456_789_ABCD.json, ren tekstfil med passordet ditt skal hete KEYSTORE-M_123456_789_ABCD.tekst. Dette vil bli brukt senere når du kjører Teku.
Etter at du har kjørt eth2deposit-cli fra terminalen din og lagt til passordfilen, skal katalogen din se slik ut:
eth2deposit-cli /
└── validator_key_info /
├── KEYSTORE-M_123456_789_ABCD.json
├── KEYSTORE-M_123456_789_ABCD.tekst
└── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json
└── MNEMONIC_BACKUP.txt
7. Kobling av Ethereum 1.0 og 2.0 og Locking-in 32 ETH
Det siste trinnet for denne opplæringen vil være å sende validatorinformasjonen vår til innskuddskontrakten på Ethereum 1.0 mainnet med riktig informasjon som fyrkjeden også vil kunne gjenkjenne (håndtrykket vi nevnte tidligere).
“Last opp validator” -fanen har et sted å dra og slippe den andre filen opprettet av eth2deposit-cli: Innskuddsdatafilen din (DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json i eksempelkatalogen ovenfor). Dra og slipp den filen fra datamaskinen din til stedet på Launchpad-siden:
Hvis innskuddsdataene er riktig formatert, ser du dette:
Nå, Launchpad vil be oss om å koble programvare lommeboken med kontoen vi sendte vår 32 ETH til tidligere:
Når du har gjort det, ser du dette:
Nye sikkerhetsfunksjoner fra MetaMask krever at et nettsted ber om å få kontakt med hver konto spesifikt – hvis kontoen med 32 ETH ikke er valgt når du kobler til, er det bare å åpne MetaMask, klikke kontoen som har 32 ETH og koble den til Launchpad.
Når du klikker på Fortsett, ser du et sammendrag av informasjonen, i tillegg til ytterligere vekt på risikoen og langsiktig forpliktelse for det du skal gjøre:
Når du har gått nøye gjennom disse avsløringer og advarsler, kommer sannhetens øyeblikk:
Når du klikker på “Initiere transaksjonen”, blir du konfrontert med en av de mest spennende bekreftelsesbokser i DITT (krypto) LIV! Pust dypt, vær sikker på at du er klar fordi det ikke er noen vei tilbake når du har bekreftet! (Vel, MetaMask har en tidssensitiv “Avbryt transaksjon” -funksjon, for det er en flott lommebok, men later som om du ikke har det!)
Når alt er bekreftet og utvunnet, ser du en skjerm som denne:
8. Konklusjon
Gratulerer! Du har deltatt i en av de mest spennende utviklingene i offentlig koordineringshistorie!!
Men arbeidet har akkurat begynt. De to neste innleggene våre vil sette opp en AWS Ubuntu 20.04 Server-forekomst for vår Teku-valideringsnode ved å bruke Infura som et Ethereum 1.0-sluttpunkt. Deretter jobber vi med sikkerhetsherding og nodeovervåking ved hjelp av et verktøy som Grafana.
For neste del er alt vi trenger fra dette innlegget innholdet i katalogen eth2deposit-cli / validator_key_info, eksempler gitt nedenfor:
eth2deposit-cli /
└── validator_key_info /
├── KEYSTORE-M_123456_789_ABCD.json
├── KEYSTORE-M_123456_789_ABCD.tekst
└── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json
Følg med!
Takk til James Beck, Meredith Baxter, Chaminda Divitotawela, Ben Edgington, The Dark Jester, Somer Esat, Joseph Lubin, Collin Meyers, Nick Nelson, Mara Schmiedt, Adrian Sutton og Alex Tudorache for støtte og teknisk assistanse.
BlockchainCryptoEthereumEthereum 2.0Nyhetsbrev Abonner på vårt nyhetsbrev for de siste Ethereum-nyhetene, bedriftsløsninger, utviklerressurser og mer. E-postadresse Eksklusivt innholdRapportere
Ethereum Q3 2020 DeFi-rapport
Rapportere
Ethereum Q2 2020 DeFi-rapport
Guide
Komplett guide til Blockchain Business Networks
Webinar
Hvordan lage et vellykket Blockchain-produkt
Webinar