Моето пътуване до превръщането в валидатор на Ethereum 2.0

блог 1NewsDevelopersEnterpriseBlockchain ExplainedEvent and ConferencesPressБюлетини

Абонирайте се за нашия бюлетин.

Имейл адрес

Ние уважаваме вашата поверителност

Обяснено на HomeBlogBlockchain

Моето пътуване до превръщането в валидатор на Ethereum 2.0

Това е първата от поредица статии, описващи как човек с ~ 32 ETH и технически познания може да участва в пускането на веригата за маяци Ethereum от Coogan Brennan 25 ноември 2020 г. Публикувано на 25 ноември 2020 г.

текущ валидатор поток

Изображение: Изображението по-горе, от Бен Еджингтън от Теку (който също пише основното Eth2.news бюлетин), описва стъпките, които ще предприемем през следващите три публикации в блога. 

Забележка: Докато крайният срок е изтекъл, за да бъдат включени валидаторите в събитието Genesis за веригата маяци, хората все още могат да депозират 32 ETH в договора за депозит, следвайки стъпките по-долу. Според Алекс Тудораче от Eth2stats, след като веригата започне на 1 декември, 12:00 UTC, 2020, лицата, които депозират от 24 ноември 12:00 UTC, 2020, до генезиса ще бъдат на опашка и ще следват нормалната процедура за активиране. 

  1. Въведение
  2. Опровержение
  3. Материали и изисквания
  4. Придобиване на 32 ETH на MetaMask
  5. Преглед на Launchpad
  6. Генерация на ключове
  7. Свързване на Ethereum 1.0 и 2.0 и заключване 32 ETH
  8. Заключение

1. Въведение

Това е първата от поредица статии, описващи как човек с ~ 32 ETH и технически познания може да участва в стартирането на веригата за маяци Ethereum, Фаза 0 на проекта Ethereum 2.0. Преди да влезем в първата стъпка от изпращането на ETH до Договора за депозит и получаването на валидаторските ключове, бих искал да обсъдим някои от мотивациите зад Ethereum 2.0.

Ethereum е на път да започне ново и вълнуващо пътешествие в неизследвана територия за всяка блокчейн мрежа. Преминаването от Proof of Work към Proof of Stake е най-значителната промяна в протокола в кратката история на публичните блокчейн. Най-близкият еквивалент би бил Сегрегиран свидетел (или SegWit) хард форк на Биткойн – корекция на начина, по който размерите на блоковете се обработват в мрежата на Биткойн. Тази промяна, сравнително малка в сравнение с Ethereum 2.0, доведе до спорна, ожесточена битка и в крайна сметка доведе до фрагментацията на общността на биткойн.  

Пускането на Ethereum 2.0 прави SegWit да изглежда като смяна на гума. Има две основни причини, поради които тази общност би предприела толкова значителна преработка. Първо, общността на Ethereum е общност от разработчици. Разработчиците не пускат продукт и никога повече не го докосват. Постоянно разполагаме, наблюдаваме, обсъждаме и повтаряме идеите и работата, която произвеждаме. Този цикъл е придружен от високи нива на планиране, моделиране и координация в много отбори, които в други условия могат да се считат за конкуренти. Когато има грешки, общността се обединява, за да ги реши по възможно най-добрия начин.

Втората причина, поради която предприемаме това ново начинание, е тази ние вярваме, че публичните блокчейн са далеч от пълния си потенциал. Доказателството за работа беше непроверена хипотеза, когато Биткойн стартира през 2009 г. По-голямата част от хората не вярваха, че можете да разрешите проблема с двойното харчене, освен чрез използването на доверени посредници. Биткойн и други мрежи за доказателство за работа вече доказаха, че можем да внедрим парична система като равнопоставен протокол (аз ви изпращам пари) без трета страна.

Доказването на тази точка беше само началото. Ethereum получи прякора Bitcoin 2.0 от общността, когато беше разработен за първи път: Той призна недостатъците на операционната система на Bitcoin и стартира, за да разшири възможностите на равнопоставени протоколи. Ethereum 1.0 ще продължи да постига големи крачки през годините, докато изграждаме 2.0 заедно с него, но както каза Виталик Бутерин в скорошно AMD на Reddit:

„Ако днес сте тук в Етериум, би трябвало да сте тук не защото смятате, че настоящите правила (икономически или технически) заслужават да бъдат защитени и стабилизирани на всяка цена, а защото вярвате в това, накъде върви екосистемата. […] Участието в Ethereum е неизбежно отчасти прогноза, че пътната карта е добра и че след като приключи този процес на надграждане, ние всъщност ще стигнем до място, където мрежата е ефективна и стабилна и мощна и може да бъде в основата на значителни части от световната икономика “


Доказателство за залог в този етап на Ethereum 2.0 всъщност е залог върху способността на разработчиците и общността на Ethereum, които вече са изградили толкова много, да доставят още повече на по-големия свят. Трябва да очаквате да заключите всички средства, които сте вложили в този договор за депозит поне две години, най-вероятно по-дълго. Моля, не подценявайте рисковете и инвестирайте само това, което можете да си позволите да загубите. Въпреки това, като допринасяте за тази първа стъпка, вие участвате в потенциално исторически момент, за да прокарате публичните блокчейн в следващия етап на развитие.

Да започваме.

2. Отказ от отговорност

Това е публикация, която пиша като служител на ConsenSys и някой, който планира действително да заложи на веригата маяци. Първото изявление означава, че приоритизирам продуктите на ConsenSys (продуктите на ConsenSys обикновено са най-добрите в класа за Ethereum, а също така имам достъп до инженерни екипи, които могат да ми помогнат да отговоря на въпроси и да отстранявам проблеми). Последното твърдение означава, че оптимизирам за разходи и лекота на използване: нямам хиляди ETH, за да донеса съществени награди, затова предприемам някои преки пътища. Също така не искам да се налага да поддържам сървър в апартамента си за ценови и логистични цели, така че използвам Amazon Web Services (AWS) за хостване на моя валидационен възел. Това е услуга, с която съм запознат като разработчик и е виртуална, за да мога да получа достъп до нея от всяко място за поддръжка. (Първоначално обмислях да използвам 8GB RAM Raspberry Pi, но не исках да се притеснявам за интернет връзка, да направя захранването на сайта все още включено, прегряване и скорост, или ако кучето ми рита лаптопа ми, когато ме няма) Това е опция и Ethereum на ARM е група, която предоставя материали за залагане на Ethereum 2.0 на Raspberry Pi) 

Много хора в крипто общността не биха се съгласили с използването на крайна точка на Infura, а не с локален клиент на Ethereum 1.0 и хостинг на AWS (част от Amazon goliath). Това са решения, които съм взел, за да направя залагането на Ethereum 2.0 възможно най-просто и достъпно за хората, но идва с компромиси за децентрализация и поверителност. Можете обаче да следвате урока за широка посока по-долу и да изберете да стартирате свой собствен клиент и хост Ethereum 1.0 локално. Всъщност, ако можете да го направите, бих ви насърчил да го направите! 

3. Материали и изисквания

Ето материалите, от които ще се нуждаем, и общите стъпки, които ще предприемем в рамките на три публикации:

Материали

  • Тригодишен ангажимент за залагане на 32 ETH и поддържане на валидационен възел
  • 32 ETH (плюс <1 ETH за разходи за газ)
  • $ 717,12 (тригодишно ценообразуване на резервиран екземпляр за екземпляр m5.xlarge) + 120 (разходи за едногодишно съхранение от 100 GB, консервативно предполагащи почти пълен капацитет за съхранение) = $ 837,12, платени през годината на AWS
  • Разширение MetaMask (безплатна инсталация
  • Сметка в Infura (безплатно ниво)

Стъпки

  1. Придобийте 32 ETH на MetaMask, Walkthrough Launchpad
  2. Конфигурирайте екземпляр на AWS (тригодишен ангажимент, може да бъде по-малък, но спестявате пари с повече време и сте заключени), втвърдете защитните функции
  3. Импортирайте ключове за проверка, стартирайте Teku, настройка за наблюдение 

Има някои страхотни, по-общи уроци, преминаващи през този процес, а именно поведението на Мара Шмид и Колин Майерс в бюлетина на Bankless. Този урок ще бъде различен, докато преминавам през собствения си процес на залагане и добавям стъпки, специфични за цялостната ми настройка.

4. Придобиване на 32 ETH на MetaMask

Както най-лесната, така и най-трудната стъпка от този урок. Докато пиша това, Ethereum преминава през ценови пробег, който драстично увеличава разходите за залагане (Evan Van Ness има възхитителен пост което проследява цената на валидирането назад в продължение на много месеци, започвайки от март 2019 г., когато струването на 3200 USD струва 32 ETH до октомври 2020 г., когато струва 12 000 USD). Има няколко хора, които са купили и, хм, HODLed Ethereum от доста време. Ако не сте издухали крипто на пица през 2010 г., считайте себе си за щастлив – erm – стратегически инвеститор.

Защо се нуждаем от портфейл, базиран на браузър като MetaMask? Потокът от заключване на ETH в договора за депозит на Mainnet на Ethereum 1.0 и свързването му с веригата Beacon на Ethereum 2.0 изисква деликатен вид танц. Двете вериги използват различни класове криптография, така че трябва да генерираме изцяло нови видове криптографски ключове. Тези ключове обаче трябва да бъдат свързани към нашите адреси на Ethereum 1.0 с 32 ETH. Би било много сложно да се прави самостоятелно, така че Ethereum Foundation и ConsenSys създадоха уебсайт, който управлява процеса, наречен Launchpad. За да си взаимодействаме с този уебсайт обаче, се нуждаем от портфейл, базиран на браузър с ключовете Ethereum 1.0, свързани с нашия баланс от 32 ETH. Ще влезем в него по-късно, но исках да уведомя хората защо правим това.

Ако не държите етер (основната валута за мрежата Ethereum): Можете да закупите директно от MetaMask. Можете също така да закупите ETH на сертифицирани борси като зодия Близнаци, но бъдете предупредени, че има обширен KYC процес и Близнаците ще пазят и могат да изпращат записи на местни, държавни и национални държавни агенции. Ако притежавате токени ERC-20, но не етер: Препоръчвам да използвате новата функция за суапове на MetaMask директно във вашия портфейл на MetaMask, която комбинира децентрализирани агрегатори за обмен като Uniswap и AirSwap, за да получите най-добрите цени и най-ниските мрежови такси. Ако вашият ETH е на хардуерен портфейл на Trezor или Ledger, Препоръчвам ви да изпълните следните стъпки, за да свържете портфейла си с MetaMask. Използвам MetaMask, но Ethereum Foundation също препоръчва портфейли, базирани на браузър, като Портис или Фортматичен

За мен това беше малко нервно, когато видях значителна сума пари на мое разположение с ясен криптографски подпис. Вероятно е подходящ момент да се учудите на невероятната сила на крипто, за да можете да дарите това на хората, като същевременно напомняте на хората да се уверят, че сте архивирали личните си ключове или фрази за възстановяване.

5. Преглед на Launchpad

Изображение: Launchpad.ethereum.org

Сега, когато имаме депозит над 32 ETH за залагане, можем да отидем до Launchpad.ethereum.org, уебсайта Launchpad, който споменахме по-рано. Ръководството на Mara и Collin’s Bankless преминава през първоначалната страница (показана по-долу) много добре и голяма част от нея се обяснява сама по себе си, но исках да дам своя лична интерпретация на няколко неща:

Първите четири стъпки (Общ преглед, Регистрирай се, Отговорности, и Нарязване) са основен конспект на Ethereum 2.0, залагане и вашите отговорности като валидатор. По същество механизмът за консенсус Proof of Stake разчита на „миньори“ (на езика Proof of Work), които поставят парите си там, където им е устата, вместо да харчат огромни количества CPU решаващи пъзели за доказателство за работа. Това е 32-те ETH, залагания на маса за участие в консенсус за доказателство за залог. 

И тъй като мрежата все още е в процес на разработка, все още няма излизане за валидатори (какво, ако откриете DAO хак в новата мрежа? Не можем да ви оставим да напуснете …). Така че всички са на дълги разстояния. (което обхваща Забавяне на трансфера и Ангажираност)

И накрая, ако се „държите неправилно“ като валидатор в мрежата (или поради злонамереност, или поради незнание или случайност), вие сте наказани. В Ethereum 2.0 се нарича нарязване. Положителната страна е, че ако се държите правилно като валидатор, получавате „наградите за добив“, свързани с мрежата (ще обсъдим това по-късно). Като бърза страна, стимул / стимул баланс се различава от доказателство за работа, където има само стимули за миньорите да не саботират мрежата и да се държат правилно. 

Следва ключовата система, която споменах преди. Системата за подписване на ключове, която Ethereum 2.0 ще използва, е BLS. Не съм експерт по криптография, но изводът от BLS е, че позволява множеството цифрови подписи да бъдат свити в един проверяваем. Това е полезно при събирането на атестации на маяка („Гласове по отношение на валидността на парче блок или маяк“). Най-подходящата за нас, BLS схемата е различна от схемата, използвана за Ethereum 1.0.

За повече информация относно BLS, моля вижте тази тема от Джеф Колман или този пост на Reddit за историята на разработването на BLS за Ethereum 2.0

Обикновено промяната на схема на частен ключ за голяма публична мрежа би била почти невъзможна. Тъй като обаче Ethereum 2.0 ще работи заедно с Ethereum 1.0, основните разработчици са измислили интелигентно решение, което е класическо ръкостискане:

Launchpad

В диаграмата по-горе синият ключ и полетата представляват Ethereum 1.0 и неговата криптографска схема, а червеният ключ и полетата представляват Ethereum 2.0 и неговата криптографска схема. Договорът за депозит, който съществува на Ethereum 1.0 Mainnet, позволява на потребителя да докаже, че има частни ключове за Ethereum 1.0 и Ethereum 2.0. Ето как работи това:

Транзакцията, подадена към договора за депозит на Ethereum 1.0, трябва да бъде подписана от частен ключ на Ethereum 1.0 (както всяка транзакция, подадена в Mainnet). Тази транзакция обаче е обвита около друг подпис на частния ключ, частният ключ на Ethereum 2.0. Веригата маяци наблюдава договора за депозит на Ethereum 1.0, ако към договора се подаде валидна транзакция с правилното салдо, веригата маяци след това разгъва първия слой за криптиране и осъществява достъп до втория слой, цифровия подпис Ethereum 2.0. Това се използва за потвърждаване на адреса на валидатора на Ethereum 2.0 и свързването му с адрес на Ethereum 1.0.

За хора, запознати с Solidity, ето транзакцията, която влиза в договора Ethereum 1.0, с параметър BLS за подписване:

Тук има още един параметър (идентификационни данни за изтегляне), който не сме обсъждали, който по същество е еднократен ключ за изтегляне на 32 ETH, след като ни бъде позволено да го направим. Ще генерираме това и с Launchpad.

Както можете да видите, това е сложен процес, който би бил предизвикателен за отделен потребител да прави самостоятелно. Launchpad ни дава ръководен процес за подпомагане и намаляване на сложността.

Следващите три раздела (Ангажираност, Риск за ранно осиновяване и Потвърждение) са последно напомняне за рисковия и дългосрочен ангажимент от участието в Ethereum 2.0 

За повече информация относно терминологията на Ethereum 2.0 и разбирането за ролята на валидатор, моля, вижте двете отлични парчета на Alex Tudorache Демистифицирани условия на Ethereum 2.0 и Пътешествие на валидатора през веригата на маяците.

6. Генерация на ключове

Сега, когато имаме общ преглед на нашата роля в Ethereum 2.0 като валидатор, ще продължим с основната част от процеса: генериране на ключове за валидатор и свързването им с Ethereum 1.0 с прехвърляне на 32 ETH към договора за депозит на основната мрежа Ethereum 1.0.

След потвърждение, че сте прочели разкритията, Launchpad ще премине през опциите, които имате за избор на клиент на Ethereum 1.0 и 2.0. Ще стигнем до тях в друга публикация и не е изискване да вървим напред. 

След това ще отидете в раздела „Генериране на ключове“, показан по-долу:

Избрах 1 валидатор и той ми показва разходите. След това той моли текущата ми операционна система да ми помогне да изтегля малко софтуер за генериране на двойки ключове за валидатор. Това е сложно, тъй като докато клиентът ми за валидатор ще работи на Linux, аз използвам Mac ежедневно. Затова избирам Mac и той ни отвежда до следващата стъпка, като ни пита как бихме искали да настроим софтуера:

Избирам да изтегля приложението CLI и ме отвежда на страницата за изтегляне на страницата на Github на Ethereum Foundation (версията на изданието може да изглежда различно за вас, но бъдете сигурни, че е най-новата версия):

Превъртете надолу, за да видите секцията за изтегляне:

Изтеглете файла `tar.gz` за вашата подходяща операционна система и разопаковайте файла.

Сега трябва да отворим терминала на командния ред и да отидем до директорията на нашия разопакован файл, наречен eth2deposit-cli. Пряк път за някои машини е да въведете cd, след което плъзнете и пуснете директорията в терминала, което ще ви даде пътя до директорията. Натиснете Enter и в директорията eth2deposit-cli изпълнете следната команда, предоставена от Launchpad:

./ депозит на нова мнемонична верига

Има постоянно напомняне за включване на верига mainnet, тъй като предишните уроци имаха различни вериги за различни тестови мрежи. Така че не забравяйте да добавите mainnet, в противен случай информацията за транзакциите ви няма да бъде валидна!

Въведете броя на валидаторите, които искате да стартирате, и следвайте стъпките.

Няма да споделям екранни снимки за следващите няколко стъпки, тъй като това включва генериране на чувствителни ключове и пароли. Две основни неща обаче: 1) Архивирайте мнемоничната фраза, която получавате, тъй като това е единственият начин да изтеглите ETH, който залагате, след като това е позволено 2) Тази стъпка е само за потребители на Teku: Създайте файл с открит текст, който съдържа паролата, която сте въвели за валидационните си ключове. Запазете го със същото име като вашия файл keystore.json, но с a.txt суфикс в същата директория с вашите ключове и информация за депозит. Например, ако вашият файл на хранилището на ключове е KEYSTORE-M_123456_789_ABCD.json, откритият текст с вашата парола трябва да се нарича KEYSTORE-M_123456_789_ABCD.текст. Това ще се използва по-късно, когато стартирате Teku.

След като стартирате eth2deposit-cli от вашия терминал успешно и добавите файла с парола, вашата директория трябва да изглежда така:

eth2deposit-cli /

└── валидатор_ключ_инфо /

   ├── KEYSTORE-M_123456_789_ABCD.json

   ├── KEYSTORE-M_123456_789_ABCD.текст

   └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json

└── MNEMONIC_BACKUP.txt

7. Свързване на Ethereum 1.0 и 2.0 и заключване 32 ETH

Последната стъпка за този урок ще бъде изпращането на нашата информация за валидатор до договора за депозит в основната мрежа на Ethereum 1.0 с правилната информация, която веригата за маяци също ще може да разпознае (ръкостискането, което споменахме по-рано).

Разделът „Качване на валидатор“ има място за плъзгане и пускане на другия файл, създаден от eth2deposit-cli: Вашият файл с данни за депозит (DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json в примерната директория по-горе). Плъзнете и пуснете този файл от компютъра си до мястото на страницата Launchpad:

Ако данните за депозита са правилно форматирани, ще видите следното:

Сега Launchpad ще поиска от нас да свържем портфейла на софтуера с акаунта, на който изпратихме нашите 32 ETH по-рано:

След като направите това успешно, ще видите следното:

Новите функции за сигурност от MetaMask изискват уебсайт да поиска да се свърже с всеки акаунт – ако акаунтът с 32 ETH не е избран, когато се свържете, просто отворете MetaMask, щракнете върху акаунта, който има 32 ETH, и го свържете с Launchpad.

Когато щракнете върху продължи, ще видите обобщение на информацията, заедно с допълнителен акцент върху риска и дългосрочния ангажимент на това, което ще направите:

След като преминете внимателно през тези разкрития и предупреждения, идва моментът на истината:

След като кликнете върху „Иницииране на транзакцията“, ще се сблъскате с едно от най-вълнуващите полета за потвърждение във ВАШИЯ (крипто) ЖИВОТ! Поемете дълбоко въздух, бъдете сигурни, че сте готови, защото няма връщане назад, след като натиснете потвърди! (Е, MetaMask има чувствителна към времето функция „Отмяна на транзакция“, защото е страхотен портфейл, но се преструвайте, сякаш нямате това!)

След като всичко бъде потвърдено и добито, ще видите екран като този:

8. Заключение

Честито! Участвали сте в едно от най-вълнуващите събития в историята на публичната координация!!

Но работата току-що започна. Следващите ни две публикации ще бъдат настройване на екземпляр на AWS Ubuntu 20.04 Server за нашия възел за валидиране на Teku, използвайки Infura като крайна точка на Ethereum 1.0. След това ще работим по втвърдяване на сигурността и мониторинг на възли с помощта на инструмент като Grafana. 

За следващата вноска всичко, от което се нуждаем от тази публикация, е съдържанието на директорията eth2deposit-cli / validator_key_info, примери дадени по-долу:

eth2deposit-cli /

└── валидатор_ключ_инфо /

   ├── KEYSTORE-M_123456_789_ABCD.json

   ├── KEYSTORE-M_123456_789_ABCD.текст

   └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json

Останете на линия!

Благодаря на Джеймс Бек, Мередит Бакстър, Чаминда Дивитотавела, Бен Еджингтън, Тъмният шут, Сомер Есат, Джоузеф Любин, Колин Майерс, Ник Нелсън, Мара Шмид, Адриан Сътън и Алекс Тудораче за подкрепа и техническа помощ.

BlockchainCryptoEthereumEthereum 2.0Newsletter Абонирайте се за нашия бюлетин за най-новите новини за Ethereum, корпоративни решения, ресурси за разработчици и др. Имейл адресИзключително съдържаниеОтчет за DeFi на Ethereum Q3 2020Доклад

Отчет за DeFi на Ethereum Q3 2020

Отчет за DeFi на Ethereum Q2 2020Доклад

Отчет за DeFi на Ethereum Q2 2020

Пълно ръководство за бизнес мрежи на BlockchainРъководство

Пълно ръководство за бизнес мрежи на Blockchain

Как да изградим успешен блокчейн продуктУебинар

Как да изградим успешен блокчейн продукт

Въведение в токенизациятаУебинар

Въведение в токенизацията

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map