NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressButlletins informatius
Subscriu-te al nostre butlletí.
Correu electrònic
Respectem la vostra privadesa
IniciBlogBlockchain explicat
El meu viatge per convertir-me en un validador d’Ethereum 2.0
Aquest és el primer d’una sèrie d’articles que descriuen com una persona, amb ~ 32 ETH i coneixements tècnics, pot participar en el llançament de la cadena de balises Ethereum de Coogan Brennan, el 25 de novembre de 2020 Publicat el 25 de novembre de 2020
Imatge: La imatge superior, de Ben Edgington de Teku (que també escriu l’essencial Eth2.news butlletí informatiu), descriu els passos que farem durant les tres properes publicacions del bloc.
Nota: Tot i que ha passat el termini per incloure els validadors a l’esdeveniment Genesis per a la cadena de balises, la gent encara pot ingressar 32 ETH al contracte de dipòsit seguint els passos següents. Segons Alex Tudorache de Eth2stats, un cop la cadena comenci l’1 de desembre, a les 12:00 UTC, 2020, les persones que dipositin des del 24 de novembre a les 12:00 UTC, 2020, a la gènesi es posaran a la cua i seguiran el procediment d’activació normal.
- Introducció
- Exempció de responsabilitat
- Materials i requisits
- Adquirint 32 ETH a MetaMask
- Visió general de Launchpad
- Generació de claus
- Enllaçant Ethereum 1.0 i 2.0 i Locking-in 32 ETH
- Conclusió
1. Introducció
Aquest és el primer d’una sèrie d’articles que descriuen com una persona, amb uns 32 ETH i coneixements tècnics, pot participar en el llançament de la cadena de balises Ethereum, fase 0 del projecte Ethereum 2.0. Abans d’iniciar el primer pas d’enviar ETH al contracte de dipòsit i obtenir les nostres claus de validació, voldria parlar d’algunes de les motivacions que hi ha darrere d’Ethereum 2.0.
Ethereum està a punt d’emprendre un nou i emocionant viatge a un territori desconegut per a qualsevol xarxa de blockchain. El canvi de prova de treball a prova d’estaca és el canvi de protocol més significatiu de la curta història de les cadenes de blocs públiques. L’equivalent més proper seria el Testimoni Segregat (o, SegWit) forquilla dura de Bitcoin: un ajustament a la forma en què es van processar les mides de blocs a la xarxa Bitcoin. Aquest canvi, relativament menor en comparació amb Ethereum 2.0, va donar lloc a una disputada i amarga lluita i, finalment, va provocar la fragmentació de la comunitat Bitcoin.
El llançament d’Ethereum 2.0 fa que SegWit sembli un canvi de pneumàtic. Hi ha dues raons principals per les quals aquesta comunitat realitzaria una reelaboració tan important. En primer lloc, la comunitat Ethereum és una comunitat de desenvolupadors. Els desenvolupadors no llancen cap producte i no el tornen a tocar. Desplegem, observem, discutim i repetim constantment les idees i el treball que produïm. Aquest cicle s’acompanya d’uns alts nivells de planificació, modelització i coordinació entre molts equips que, en altres entorns, podrien ser considerats competidors. Quan hi ha errors, la comunitat s’uneix per solucionar-los de la millor manera possible.
La segona raó per la qual estem emprenent aquest nou esforç és que creiem que les cadenes de blocs públiques estan lluny del seu màxim potencial. La prova del treball va ser una hipòtesi no provada quan es va llançar Bitcoin el 2009. La gran majoria de la gent no creia que es pogués resoldre el problema de la doble despesa excepte mitjançant l’ús d’intermediaris de confiança. Bitcoin i altres xarxes de prova de treball han demostrat que podem implementar un sistema monetari com a protocol peer-to-peer (jo us envio diners) sense un tercer.
Demostrar aquest punt va ser només el principi. Ethereum va ser sobrenomenat Bitcoin 2.0 per la comunitat quan es va desenvolupar per primera vegada: va reconèixer les deficiències del sistema operatiu de Bitcoin i es va llançar per ampliar la capacitat dels protocols peer-to-peer. Ethereum 1.0 continuarà avançant al llarg dels anys a mesura que anem construint 2.0 al seu costat, però com va dir Vitalik Buterin en un recent Reddit AMA:
“Si avui sou a Ethereum, no hauríeu d’estar-hi aquí perquè creieu que les normes actuals (econòmiques o tècniques) mereixen ser protegides i estabilitzades a tota costa, sinó perquè creieu cap a on va l’ecosistema. […] La participació a Ethereum és inevitablement en part una predicció que el full de ruta és bo i que un cop finalitzi aquest procés d’actualització arribarem a un lloc on la xarxa sigui eficient, estable i potent i capaç de ser la base d’importants parts de l’economia global ”
La prova d’aposta en aquesta etapa d’Ethereum 2.0 és en realitat una aposta per la capacitat dels desenvolupadors i la comunitat d’Ethereum, que ja han construït tantes coses, per oferir encara més al món més gran.. Haureu d’esperar bloquejar els fons que hàgiu posat en aquest contracte de dipòsit al menys dos anys, molt probablement més. Si us plau, no menystingueu els riscos i invertiu només el que us pugueu permetre perdre. Tot i això, en contribuir a aquest primer pas, participareu en un moment potencialment històric per empènyer les cadenes de blocs públiques a la següent etapa de desenvolupament.
Comencem.
2. Exempció de responsabilitat
Aquesta és una publicació que estic escrivint com a empleat de ConsenSys i algú que planeja participar realment a la cadena de balises. La declaració anterior significava que prioritzo els productes ConsenSys (els productes ConsenSys solen ser els millors de la classe per a Ethereum i també tinc accés a equips d’enginyeria que poden ajudar-me a respondre preguntes i solucionar problemes). Aquesta última afirmació significa que estic optimitzant el cost i la facilitat d’ús: no tinc milers d’ETH per obtenir recompenses substancials, de manera que tinc algunes dreceres. Tampoc vull haver de mantenir un servidor al meu apartament amb finalitats logístiques i de cost, de manera que estic fent servir Amazon Web Services (AWS) per allotjar el meu node de validador. És un servei que estic familiaritzat amb mi com a desenvolupador i és virtual per poder-hi accedir des de qualsevol lloc per fer-ne el manteniment. (Inicialment, estava pensant en utilitzar la meva RAM de 8 GB Raspberry Pi, però no volia haver de preocupar-me per la connexió a Internet, fer que el lloc continués encès, escalfar-se i accelerar-se, o si el meu gos pateix el portàtil quan estic fora) Aquesta és una opció i Ethereum a ARM és un grup que proporciona materials per apostar Ethereum 2.0 a Raspberry Pi)
Molta gent de la comunitat criptogràfica no estaria d’acord amb l’ús d’un punt final Infura en lloc d’un client local Ethereum 1.0 i l’allotjament a AWS (part del goliat d’Amazon). Aquestes són les decisions que he pres per fer que apostar per Ethereum 2.0 sigui tan senzill i accessible per a les persones com sigui possible, però que comporti compromisos amb la descentralització i la privadesa. Tanmateix, podeu seguir el tutorial de direcció general que es mostra a continuació i triar executar el vostre propi client Ethereum 1.0 i allotjament localment. De fet, si podeu fer això, us ho animaria!
3. Materials i requisits
Aquests són els materials que necessitarem i els passos generals que farem al llarg de tres publicacions:
Materials
- Un compromís de tres anys per apostar per 32 ETH i mantenir un node de validació
- 32 ETH (més <1 ETH pels costos del gas)
- 717,12 dòlars (preu de la instància reservada de tres anys per a una instància m5.xlarge) + 120 (cost d’un any de 100 GB d’emmagatzematge, assumint de manera conservadora la capacitat d’emmagatzematge gairebé completa) = 837,12 dòlars pagats al llarg de l’any a AWS
- Extensió MetaMask (instal·lació gratuïta)
- Compte Infura (nivell lliure)
Passos
- Adquiriu 32 ETH a MetaMask, Walkthrough Launchpad
- Configureu la instància d’AWS (el compromís de tres anys pot ser menor, però estalvieu diners amb més temps i esteu bloquejat), endureu les funcions de seguretat
- Importeu les claus de verificació, executeu Teku, superviseu la configuració
Hi ha alguns tutorials genials i generals que recorren aquest procés, concretament, el recorregut de Mara Schmiedt i Collin Myers al butlletí sense notícies Bankless. Aquest tutorial serà diferent ja que estic recorrent el meu propi procés de participació individual i afegint passos específics per a la meva configuració general.
4. Adquirint 32 ETH a MetaMask
Tant el pas més fàcil com el més difícil d’aquest tutorial. Mentre escric això, Ethereum travessa una cursa de preus que augmenta dràsticament el cost de la participació (Evan Van Ness té un post encantador que fa un seguiment del cost de la validació durant molts mesos, a partir del març del 2019, quan costava 3.100 USD per comprar 32 ETH fins a l’octubre del 2020, quan costa 12.000 USD (USD). Hi ha algunes persones que han comprat Ethodum HODLed des de fa molt de temps i, emem. Si no heu explotat el vostre xifrat en una pizza el 2010, considereu-vos un inversor estratègic afortunat.
Per què necessitem una cartera basada en navegadors com MetaMask? El flux de bloquejar ETH al contracte de dipòsit a Ethereum 1.0 Mainnet i connectar-lo a la cadena Ethereum 2.0 Beacon requereix una mena de ball delicat. Les dues cadenes utilitzen diferents classes de criptografia, de manera que hem de generar tipus completament nous de claus criptogràfiques. Aquestes claus han d’estar connectades a les nostres adreces Ethereum 1.0 amb el 32 ETH. Seria molt complicat fer-ho tot sol, de manera que la Fundació Ethereum i ConsenSys han creat un lloc web que gestiona el procés anomenat Plataforma de llançament. Per interactuar amb aquest lloc web, però, necessitem una cartera basada en el navegador amb les claus Ethereum 1.0 associades al nostre saldo de 32 ETH. Hi entrarem més endavant, però volia fer saber a la gent per què ho fem.
Si no teniu cap èter (la moneda base de la xarxa Ethereum): Podeu comprar directament a MetaMask. També podeu comprar ETH en borses certificades com Bessons, però tingueu en compte que hi ha un ampli procés de KYC i Gemini mantindrà i podrà enviar registres a les agències estatals locals, estatals i nacionals.. Si teniu fitxes ERC-20 però no èter: Us recomano utilitzar les noves funcions d’intercanvi de MetaMask directament a la vostra cartera MetaMask, que combina agregadors d’intercanvi descentralitzats com Uniswap i AirSwap per obtenir els millors preus i les tarifes de xarxa més baixes. Si el vostre ETH està en una cartera de maquinari Trezor o Ledger, Us recomano que seguiu aquests passos per connectar la cartera a MetaMask. Faig servir MetaMask, però l’Ethereum Foundation també recomana carteres basades en navegadors com ara Portis o bé Fortmatic.
Per a mi, va ser una mica desconcertant veure una quantitat substancial de diners a la meva disposició amb una signatura criptogràfica directa. Probablement sigui un bon moment per meravellar-se de l’increïble poder de la criptografia per poder atorgar-ho a les persones, tot recordant a la gent que s’hagi assegurat que ha fet una còpia de seguretat de les seves claus privades o frases de recuperació.
5. Descripció general de Launchpad
Imatge: Launchpad.ethereum.org
Ara que tenim la custòdia del 32 ETH per apostar, podem anar a Launchpad.ethereum.org, el lloc web de Launchpad que hem esmentat anteriorment. Guia sense bancs de Mara i Collin passa molt bé per la pàgina inicial (que es mostra a continuació) i bona part s’explica per si mateixa, però volia donar la meva pròpia interpretació personal sobre algunes coses:
Els primers quatre passos (Visió general, Registra’t, Responsabilitats, i Talla) són una sinopsi bàsica d’Ethereum 2.0, la participació i les vostres responsabilitats com a validador. Bàsicament, el mecanisme de consens de la prova d’estaca es basa en que els “miners” (en el llenguatge de la prova de treball) posin els seus diners allà on tenen la boca, en lloc de gastar enormes quantitats de trencaclosques de prova de treball resolent la CPU. Aquest és el 32 ETH, aposta de taula per participar al consens de la prova d’estaca.
I com que la xarxa encara està en desenvolupament, encara no hi ha sortides per als validadors (i si trobeu el pirateig DAO a la nova xarxa? No us podem deixar marxar …). Per tant, tothom espera el llarg termini. (que cobreix Retard de transferència i Compromís)
Finalment, si us “comporteu malament” com a validador de la xarxa (per malícia o ignorància o casualitat), se us penalitzarà. A Ethereum 2.0, s’anomena tallant. A la part positiva, si us comporteu correctament com a validador, obtindreu les “recompenses mineres” associades a la xarxa (en parlarem més endavant). Com a diferència ràpida, el balanç de desincentivació / incentius és diferent de la prova de treball, on només n’hi ha incentius perquè els miners no sabotegin la xarxa i es comportin correctament.
El següent és el sistema clau que he esmentat abans. El sistema de signatura de claus que utilitzarà Ethereum 2.0 és BLS. No sóc un expert en criptografia, però l’emportament de BLS és que permet replegar diverses signatures digitals en una de verificable. Això és útil per recollir les certificacions de la balisa (“Vots pel que fa a la validesa d’un bloc de fragments o d’un far”). El més pertinent per a nosaltres, l’esquema BLS és diferent de l’esquema utilitzat per Ethereum 1.0.
Per obtenir més informació sobre BLS, vegeu aquest fil de Jeff Coleman o bé aquest post de Reddit sobre la història del desenvolupament de BLS per a Ethereum 2.0.
Normalment, canviar un esquema de claus privades per a una gran xarxa pública seria gairebé impossible. No obstant això, atès que Ethereum 2.0 funcionarà al costat d’Ethereum 1.0, els desenvolupadors bàsics han creat una solució intel·ligent, que és un clàssic encaix de mans:
Al diagrama superior, la clau i els quadres blaus representen Ethereum 1.0 i el seu esquema criptogràfic i la clau i els quadres vermells representen Ethereum 2.0 i el seu esquema criptogràfic. El contracte de dipòsit, que existeix a Ethereum 1.0 Mainnet, permet a l’usuari demostrar que té claus privades per a Ethereum 1.0 i Ethereum 2.0. Així funciona:
La transacció enviada al contracte de dipòsit a Ethereum 1.0 ha de ser signada per una clau privada Ethereum 1.0 (com qualsevol transacció presentada a Mainnet). Tot i això, aquesta transacció s’enfonsa al voltant d’una altra signatura de clau privada, la clau privada Ethereum 2.0. La cadena de balises està veient el contracte de dipòsit a Ethereum 1.0, si s’envia una transacció vàlida al contracte amb el saldo correcte, la cadena de balises desembolica la primera capa de xifratge i accedeix a la segona capa, la signatura digital Ethereum 2.0. S’utilitza per confirmar l’adreça del validador d’Ethereum 2.0 i connectar-la a una adreça Ethereum 1.0.
Per a persones que estiguin familiaritzades amb Solidity, aquí teniu la transacció que entra al contracte Ethereum 1.0, amb el paràmetre de signatura BLS encerclat:
Aquí hi ha un paràmetre més (credencials de retirada) que no hem discutit, que és essencialment una clau d’un sol ús per retirar el 32 ETH un cop se’ns permeti fer-ho. També ho generarem amb Launchpad.
Com podeu veure, és un procés complicat que seria un repte per a un usuari individual fer-ho en solitari. Launchpad ens proporciona un procés guiat per ajudar i reduir la complexitat.
Les següents tres seccions (Compromís, Risc d’adopció anticipada i Confirmació) són un darrer recordatori sobre el compromís arriscat i a llarg termini de participar a Ethereum 2.0
Per obtenir més informació sobre la terminologia d’Ethereum 2.0 i entendre el paper d’un validador, consulteu les dues excel·lents peces d’Alex Tudorache Termes d’Ethereum 2.0 desmitificats i El viatge d’un validador a través de la cadena de balises.
6. Generació de claus
Ara que tenim una visió general del nostre paper a Ethereum 2.0 com a validador, seguirem endavant amb la carn del procés: generar claus de validació i enllaçar-les amb Ethereum 1.0 amb una transferència de 32 ETH al contracte de dipòsit de Mainnet Ethereum 1.0..
Després de confirmar que heu llegit les divulgacions, Launchpad recorrerà les opcions que teniu per seleccionar un client Ethereum 1.0 i 2.0. Arribarem a aquestes en una altra publicació i no és un requisit avançar.
A continuació, aneu a la secció “Generar claus”, que es mostra a continuació:
He seleccionat 1 validador i em mostra el meu cost. A continuació, demana al meu sistema operatiu actual que m’ajudi a descarregar una petita part de programari per generar els parells de claus del validador. Això és complicat, ja que mentre el meu client de validació s’executarà a Linux, faig servir un Mac dia a dia. Per tant, selecciono Mac i ens porta al següent pas, preguntant-nos com volem configurar el programari:
Estic decidint descarregar l’aplicació CLI i em porta a la pàgina de descàrregues de la pàgina Github de la Fundació Ethereum (la versió de llançament pot semblar diferent per a vosaltres, només assegureu-vos que sigui la versió més recent):
Desplaceu-vos cap avall per veure la secció de descàrregues:
Descarregueu el fitxer `tar.gz` del vostre sistema operatiu adequat i descomprimiu-lo.
Ara hem d’obrir el nostre terminal de línia d’ordres i anar al directori del nostre fitxer sense empaquetar, anomenat eth2deposit-cli. Una drecera per a algunes màquines és escriure cd i, a continuació, arrossegar i deixar anar el directori al terminal, que us donarà el camí al directori. Feu clic a Intro i, al directori eth2deposit-cli, executeu l’ordre següent proporcionada per Launchpad:
./ deposit new-mnemonic –chain mainnet
Hi ha un recordatori constant d’incloure –chain mainnet, perquè els tutorials anteriors tenien cadenes diferents per a diferents xarxes de proves. Per tant, assegureu-vos d’afegir mainnet si no, la informació de la vostra transacció no serà vàlida!
Introduïu el nombre de validadors que voleu executar i seguiu els passos.
No compartiré captures de pantalla durant els passos següents, ja que implica generar claus i contrasenyes sensibles. Tot i això, hi ha dues coses principals: 1) Feu una còpia de seguretat de la frase mnemotècnica que obtingueu, ja que aquesta és l’única manera de retirar l’ETH que participeu un cop permès 2) Aquest pas és només per als usuaris de Teku: Creeu un fitxer de text clar que contingui la contrasenya que heu introduït per a les vostres claus de validació. Deseu-lo amb el mateix nom que el fitxer keystore.json, però amb el sufix a.txt al mateix directori amb les vostres claus i informació de dipòsit. Per exemple, si el fitxer de magatzem de claus és KEYSTORE-M_123456_789_ABCD.json, el fitxer de text clar amb la vostra contrasenya s’hauria de dir KEYSTORE-M_123456_789_ABCD.txt. Això s’utilitzarà més endavant quan s’executi Teku.
Després d’executar eth2deposit-cli des del terminal amb èxit i afegir el fitxer de contrasenya, el directori hauria de ser així:
eth2deposit-cli /
└── validator_key_info /
├── KEYSTORE-M_123456_789_ABCD.json
├── KEYSTORE-M_123456_789_ABCD.txt
└── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json
└── MNEMONIC_BACKUP.txt
7. Enllaçant Ethereum 1.0 i 2.0 i Locking-in 32 ETH
L’últim pas d’aquest tutorial serà l’enviament de la informació de validació al contracte de dipòsit a la xarxa principal Ethereum 1.0 amb la informació correcta que la cadena de balises també podrà reconèixer (l’enfonsament de mans que hem esmentat anteriorment).
La pestanya “Validador de càrrega” té un punt per arrossegar i deixar anar l’altre fitxer creat per eth2deposit-cli: el fitxer de dades de dipòsit (DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json al directori d’exemple anterior). Arrossegueu i deixeu anar aquest fitxer des del vostre ordinador fins al lloc de la pàgina Launchpad:
Si les dades de dipòsit tenen un format correcte, veureu el següent:
Ara, Launchpad ens demanarà que connectem la cartera de programari amb el compte al qual hem enviat el nostre 32 ETH anteriorment:
Un cop ho hàgiu fet correctament, veureu això:
Les noves funcions de seguretat de MetaMask requereixen que un lloc web sol·liciti connectar-se específicament amb cada compte; si el compte amb 32 ETH no està seleccionat quan us connecteu, només cal que obriu MetaMask, feu clic al compte que tingui el 32 ETH i connecteu-lo a Launchpad.
Quan feu clic a Continua, veureu un resum de la informació, junt amb un major èmfasi en el risc i el compromís a llarg termini del que esteu a punt de fer:
Un cop hàgiu revisat detingudament aquestes divulgacions i advertències, arriba el moment de la veritat:
Un cop feu clic a “Inicia la transacció”, us trobareu amb un dels quadres de confirmació més emocionants de la vostra VIDA (criptogràfica). Respireu profundament, assegureu-vos que esteu preparats perquè no hi ha cap volta enrere un cop feu clic a confirmar. (Bé, MetaMask té una funció “Cancel·la la transacció” sensible al temps, ja que és una cartera fantàstica, però pretén que no en tingueu).
Un cop s’hagi confirmat i extret tot, veureu una pantalla com aquesta:
8. Conclusió
Enhorabona! Heu participat en un dels desenvolupaments més emocionants de la història de la coordinació pública!!
Però la feina acaba de començar. Les nostres properes dues publicacions configuraran una instància del servidor AWS Ubuntu 20.04 per al node validador de Teku que utilitza Infura com a punt final Ethereum 1.0. A continuació, treballarem en l’enduriment de la seguretat i el control de nodes mitjançant una eina com Grafana.
Per a la propera entrega, només necessitarem en aquesta publicació el contingut del directori eth2deposit-cli / validator_key_info, exemples que es donen a continuació:
eth2deposit-cli /
└── validator_key_info /
├── KEYSTORE-M_123456_789_ABCD.json
├── KEYSTORE-M_123456_789_ABCD.txt
└── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json
Estigueu atents!
Gràcies a James Beck, Meredith Baxter, Chaminda Divitotawela, Ben Edgington, The Dark Jester, Somer Esat, Joseph Lubin, Collin Meyers, Nick Nelson, Mara Schmiedt, Adrian Sutton i Alex Tudorache pel suport i l’assistència tècnica.
BlockchainCryptoEthereumEthereum 2.0 Butlletí de notícies Subscriviu-vos al nostre butlletí per obtenir les últimes novetats, solucions empresarials, recursos per a desenvolupadors i molt més sobre Ethereum. Adreça de correu electrònic Contingut exclusiuInforme
Informe DeFi d’Ethereum Q3 2020
Informe
Informe DeFi d’Ethereum Q2 2020
Guia
Guia completa de xarxes empresarials Blockchain
Seminari web
Com es pot crear un producte Blockchain amb èxit
Seminari web