Posted inОсвіта та поради

Що таке Ethereum 2.0?

2.3.-min

Картка заснована на статті дослідницького відділу BitMEX.

Що таке Ethereum 2.0?

Увага! Стаття застаріла і чекає на оновлення.

Ethereum 2.0 — оновлення мережі Ethereum, яке, як очікується, відбудеться протягом 2020 року.

Після запуску Ethereum 2.0 буде переважно тестнетом для перевірки роботи системи алгоритму консенсусу Proof-of-Stake. Більша частина економічної діяльності та смарт-контрактів продовжить функціонувати в оригінальній мережі Ethereum, яка збережеться як система, паралельна Ethereum 2.0. Розробники реалізують можливість переходу Eth1 в Eth2, але зворотне буде неможливим.

Які чотири фази розгортання Ethereum 2.0?

Фаза 0: Beacon Chain

Ця фаза стартує 1 грудня 2020 року. Вона включає тільки перевірку нового механізму Proof-of-Stake, тому мережа носитиме переважно тестовий характер, хоча в ній будуть використовуватися реальні токени Ethereum. У межах цієї фази мають стати функціональними такі аспекти PoS:

  • Управління набором стейкерів;
  • Управління засобами стейкерів;
  • Генератор випадкових чисел, що допомагає вибрати виробників блоків і кураторів стейкінгу;
  • Голосування стейкерів за пропозиції про розмір блоку;
  • Роздача нагород і призначення штрафів стейкерам.

Спочатку буде розгорнуто експериментальну мережу з 64 шардами. Якщо фаза 0 спрямована на тестування базової інфраструктури PoS, за відсутності значної економічної активності, то фаза 1 спрямована на тестування базової моделі шардингу. Протягом цієї фази паралельно працюватимуть 65 блокчейнів — Beacon Сhain, що існував на стадії 0, і 64 нових шарди. Також працюватиме двостороння взаємодія і механізм посилань між Beacon Сhain і всіма 64 шардами.

Фаза 1.5: Злиття PoW-блокчейна Ethereum з новим PoS-блокчейном

Воно ніяк не вплине на історичні дані поточної мережі, оскільки в новому механізмі PoW-блокчейн буде одним із фрагментованих ланцюгів. Майнерам слід мати на увазі, що PoW-блокчейн при цьому не буде підтримувати сам механізм PoW.

Фаза 2: Реалізація нового режиму роботи

Передбачається, що на цій стадії в мережі запрацюють смарт-контракти і почнеться економічна діяльність. Шарди вже не будуть сховищами вихідних даних, але почнуть нагадувати віртуальні машини і смарт-контракти Ethereum 1.0. Технічні характеристики для фази 2 перебувають у процесі розробки.

Після запуску Ethereum 2.0 паралельно працюватимуть дві мережі — Eth1 and Eth2. Спочатку можна буде конвертувати монети Eth1 у монети Eth2, але не навпаки, тому теоретично монети Eth2 повинні торгуватися за ціною, меншою або рівною вартості монет Eth1. Однак малоймовірно, що на ранніх стадіях переходу монети Eth2 взагалі матимуть ціну або підтримуватимуться біржами, оскільки їхнім єдиним застосуванням стане стейкінг. Неможливі будуть навіть базисні транзакції.

Для переведення Eth1 в Eth2 буде необхідно використовувати депозитну угоду на Eth1. Ця угода знищує монети на Eth1, а потім знищення можна використовувати як підтвердження для випуску нових монет Eth2. Монети спалюються остаточно, хоча відновлення монет може бути реалізовано завдяки зміні протоколу в результаті хардфорка.

Монети, переведені в Eth2, автоматично потрапляють у пул валідаторів.

Proof-of-Stake

Згідно з концепцією доказу частки володіння, "вага" голосу і розмір винагороди валідатора визначаються вартістю монет у стейку. Технічні характеристики Eth2 передбачають, що кожен валідатор повинен мати 32 ETH. Якщо в контракт надходить більше 32 ETH, то стейкер не отримує винагороду від цих додаткових монет. Якщо монет менше 32 ETH, стейкер не буде активований. Тому переводити ETH в Eth2 потрібно буде порціями по 32 монети. Кожна порція 32 ETH може бути окремим стейкером.

Який вигляд матиме емісія монет?

Eth1 продовжить функціонувати на основі доказу виконання роботи (Proof-of-Work), а Eth2 працюватиме на основі доказу частки володіння (Proof-of-Stake).

У цей період обидві групи валідаторів, майнерів і стейкерів отримуватимуть винагороду, тож рівень інфляції Ethereum зростатиме — принаймні доти, доки дві системи не зіллються.

Рівень емісії Eth2 залежатиме від кількості токенів, задіяних у процесі стейкінгу. Рівень річної емісії буде заснований на алгоритмі, в якому Eth2 — число токенів Ethereum, задіяних у пулі валідації Proof-of-Stake (джерело цих цифр — пост Віталіка Бутеріна, опублікований у квітні 2019 року):

Що таке Ethereum 2.0?

В основі формули лежить уявлення, згідно з яким, що більше ETH переводиться в Eth2, то більше нових монет буде випущено, однак інвестиційний дохід зменшуватиметься пропорційно зростанню кількості монет у стейку. Графік, що ілюструє рівень інфляції Ethereum 2.0:

Що таке Ethereum 2.0?

Примітка: Для запуску Beacon Сhain потрібно перевершити ліміт у 16 000 ETH

Рівень інфляції Ethereum 2.0:

Що таке Ethereum 2.0?

Темп емісії визначає розмір винагороди. Винагорода покликана мотивувати користувачів переміщати монети в Eth2 і в стейк. Розмір винагороди зменшуватиметься пропорційно кількості переміщуваних монет, оскільки успіх Eth2 зменшить потребу в них. Така модель зможе гарантувати, що кількість переміщуваних монет буде достатньою для значного зростання розміру мережі; водночас емісія не стане занадто високою, якщо Eth2 виявиться популярною. Видається, що така модель суперечить початковому плану "перманентної лінійної інфляції" Ethereum.

Існують чинники, здатні послабити наслідки потенційного зростання рівня інфляції:

  • Очікується, що у фазі 1 система комісій міститиме два елементи: базову комісію, за якої монети спалюються, і преміальну комісію для стейкерів. Спалені монети зменшать рівень інфляції.
  • Якщо валідатори не можуть брати участь у процесі валідації — наприклад, якщо ноди припиняють роботу або втрачають зв’язок із мережею, то нагороду за стейкінг анулюють.
  • Якщо валідатори порушують правила, їх штрафують, а конфісковані монети спалюють.

Ці механізми можуть призвести до спалювання великої кількості токенів Ethereum, що потенційно послабить ефект високого рівня інфляції.

Як відбуватиметься злиття блокчейнів?

У перспективі, через кілька років Eth1 і Eth2 можуть назад об’єднатися в одну систему. Фактично, Eth1 стане шардом всередині Eth2, що дасть можливість переміщати Ethereum між шардами в обох напрямках, і дві монети зіллються в одну. Імовірно, більша частина економічної активності, яка зараз відбувається на Eth1, і далі здійснюватиметься всередині шарду Eth2.

Наступним кроком може стати злиття систем консенсусу. Шард Eth1 може поступово перейти на Proof-of-Stake.

Proof-of-Work може продовжити роботу, але після заданого числа блоків — наприклад, після кожних 100 блоків — консенсус блоку визначатиме Proof-of-Stake. Зрештою, можна буде повністю відмовитися від Proof-of-Work: нагороди за блок за моделлю Proof-of-Work стануть непотрібні. Це дасть користувачам та інвесторам в Ethereum більшу визначеність у зв’язку з графіком інфляції.

Які ключові технічні особливості, які пропонують розробники мережі?

Що таке Ethereum 2.0?

Як працюватиме доказ частки володіння в Ethereum 2.0?

Доказ частки володіння (Proof-of-Stake) — це загальна концепція правила вибору форка.

Перевагу віддають ланцюгу, за який голосують більшість монет. Ключові принципи системи голосування для Eth2 — ті ж самі, що і в пропозиціях Ethereum від 2018 року, і засновані на ідеї Casper Friendly Finalty Gadget. Однак систему було оновлено на основі об’єднання Casper Friendly Finalty Gadget і Latest Message Driven Greedy Heaviest Observed Subtree Fork choice rule (Casper FFG & LMD GHOST Fork Choice Rule).

Механізм системи голосування містить такі компоненти. По-перше, великий пул стейкерів, кожен з яких представляють до 32 ETH (32 ETH необхідні для активації стейкера; ця кількість може зменшуватися до 16 ETH, що тягне за собою дезактивацію). Цей пул не голосує за блоки безпосередньо — він розділений на комітети, членів яких випадковим чином обирають із числа членів ширшого пулу.

Причина поділу на комітети полягає в тому, що не кожен стейкер може брати участь у голосуванні за кожен блок — інакше блокчейн містив би занадто багато даних про голоси, що унеможливило б масштабування.

Крім того, комітети дозволяють збирати дані про голосування в контрольовані фрагменти даних. Тому для голосування в цих комітетах випадковим чином обирається підгрупа стейкерів.

Згідно зі специфікаціями Eth2, цільова кількість стейкерів у кожному комітеті — 128 (бажаний мінімум). Розробники вважають, що це досить велика кількість стейкерів, щоб забезпечити ймовірну гарантію вибору блоків. Підписи голосів можна об’єднувати, що дає змогу зменшити необхідний розмір блоку і забезпечити масштабування мережі.

Комітети обираються випадковим чином, системою типу RanDAO. Випадковий вибір визначає мнемонічна фраза, яка додається щоразу, коли пропонується блок. Щоб протистояти атакам, спрямованим на роздроблення блоку, блок, що пропонує блок, має тільки дві опції, які можуть торкнутися мнемонічної фази: пропонувати блок або не пропонувати. Тому можливості маніпулювання обмежені.

Крім розподілу стейкерів за комітетами, існує ще одна підкатегорія — блоки і блоки-контрольні точки.

Один із кожних 32 блоків — блок-контрольна точка (чекпойнт), а часовий проміжок між контрольними точками зветься епохою (epoch). У межах кожної епохи є 32 таймслоти (інтервали) з 12 секунд, у які можна пропонувати блоки.

Таким чином, кожна епоха має 32 набори слотів для 32 комітетів. По завершенні кожної епохи члени комітету міняються місцями. Кожен таймслот має комітет ("бажаний мінімум" — 128 членів). Один член має монопольне право пропонувати блок протягом інтервалу в 12 секунд, а інші члени можуть голосувати за блок. Це голосування також відоме як атестація

Призначення стейкерів у комітети в Beacon Chain (передбачається, що на слот припадає один комітет):

Що таке Ethereum 2.0?

У реальності все може бути складніше, ніж на цих графіках. Так, у нульовій фазі на один слот може припадати до 64 комітетів максимум, а не один. Тому, якщо в кожному комітеті 128 членів, то кожна епоха може вміщати до 262 144 стейкерів, що відповідає приблизно 8,4 млн ETH.

Кожен стейкер призначається в один комітет. Що більше стейкерів, то більше комітетів. Максимальний розмір комітету — 2048, що приблизно відповідає всьому запасу Ethereum, використовуваному в кожну епоху (64 комітети * 32 ETH * 32 слоти * 2048 стейкерів на комітет = 134,2 млн ETH).

Графік нижче ілюструє, як кількість комітетів і кількість членів комітету варіюється залежно від кількості ETH у стейкінг-пулі. Він показує, що зі зростанням стейкінг-пулу кількість комітетів збільшується спочатку до 64, а потім, коли в стейкінг-пулі перебуває приблизно 8,4 млн ETH, розмір комітетів починає зростати.

Кількість комітетів і кількість членів у комітеті:

Щоб визначити, які блоки мають більшість голосів, необхідно скласти всі голоси у всіх комітетах. Якщо ті, хто голосує, поводяться гідно, вони можуть отримати нагороду з пулу знову випущених монет Ethereum. Якщо ж ті, хто голосує, порушують правила, то можуть бути оштрафовані і втратити частину стейка. Покарання покликане запобігти такій поведінці стейкера, як голосування за два конфліктні блоки, хоча в рамках певних сценаріїв це може бути дозволено. За вихід в офлайн стейкерів також можуть позбавляти винагороди.

Як відбуватиметься фіналізація в Ethereum 2.0?

Коли члени комітету голосують за блок, вони голосують не тільки за певну пропозицію блоку, а й також мають послатися на конкретний історичний блок-чекпойнт і проголосувати за нього. Саме цей механізм дає змогу гарантувати, що процес голосування стабільний. Тому фактично відбуваються дві процедури голосування за моделлю доведення частки володіння, одна всередині іншої. Графік нижче ілюструє, як відбуваються два типи голосування, і в яких блоках можуть зберігатися ці голоси.

Голосування і посилання за умови ефективної комунікації (за припущення, що на один слот припадає один комітет):

Що таке Ethereum 2.0?

Блок може стати "підтвердженим", якщо поверх його створено чекпойнт-блок, і в індексі (каталозі) всіх комітетів у межах однієї епохи на цей чекпойнт у своєму голосуванні посилаються понад дві третини членів комітету.

Найраніше, коли блок може стати "підтвердженим", — після двох третин епохи.

Наступна стадія — фіналізація. Блок фіналізується, коли блокчейн містить два підтверджені блоки після нього. Тому в більшості випадків, коли поріг у вигляді двох третин тих, хто голосує, досягнуто досить швидко, завдяки ефективним каналам комунікації, користувачеві знадобиться чекати впродовж однієї епохи (6,4 хвилини) підтвердження, і впродовж двох епох (12,8 хвилин) — фіналізації. Цей процес ілюструє графік нижче.

Процес підтвердження та фіналізації блоку в Beacon Chain у рамках нормального сценарію:

Що таке Ethereum 2.0?

Якими будуть санкції до порушників правил?

Три сценарії, у межах яких голосувальники можуть бути покарані:

  • Виробник блоку робить дві конфліктні пропозиції в межах одного слота.
  • Подача двох голосів, що містять конфліктні посилання на переходи чекпойнт-блока на одній висоті.
  • Подавання двох голосів із накладеними посиланнями на переходи чекпойнт-блока. Наприклад, голос, що відзначає перехід із чекпойнт-блока 1 до чекпойнт-блока 4, і перехід від чекпойнт-блока 1 до чекпойнт-блока 4, і голос, що посилається на перехід від чекпойнт-блока 2 до чекпойнт-блока 3.

Можна припустити, що це правило буде замінено логічнішим правилом, згідно з яким усі посилання на переходи блоків мають бути в послідовності, однак можливо, що чесна нода може пропустити чекпойнт-блок, і результат послідовного голосування може виявитися легітимним. Графік, що ілюструє такий сценарій:

Що таке Ethereum 2.0?

Наскільки ефективний процес доведення частки володіння в Ethereum 2.0?

Розробники стверджують, що після фіналізації блоку користувачі отримають гарантії того, що їхні транзакції не можуть піддаватися подвійній витраті. Однак ці системи вкрай важко оцінити за такими параметрами, як ступені збіжності та фіналізації.

Можливо, весь процес, що включає комітети тих, хто голосує, індекси таких комітетів, посилання на переходи чекпойнт-блоків і необхідність чекати на фіналізацію блоку протягом двох епох, — непотрібна абстракція, спроба розділити систему голосування за моделлю доказу частки володіння на компоненти, щоб її ускладнити та приховати той факт, що модель забезпечення захисту містить фундаментальну ваду у вигляді проблеми відсутності активу в стейку.

З іншого боку, можливо, що такий процес дійсно посилює захист мережі.

Багатокомпонентність процесу — наприклад, раунди стейкінгу всередині раундів стейкінгу — гарантує, що зміну стейкінг-клієнтів, яка стане заохочувати порушення правил, буде складно здійснити технічно.

Як працює шардинг в Ethereum 2.0?

У фазі 1 в систему додаються шарди. Початковий план передбачав почати з 1024 шардів, однак тепер це число зменшено до 64. Beacon Chain, як і раніше, вважається основним або батьківським ланцюгом, однак тепер також містить посилання на шарди. Оскільки є 64 шарди, а кожен блок Beacon може бути пов’язаний із 64 шардами, передбачається, що під час нормальної роботи кожен блок Beacon може бути пов’язаний із кожним шардом.

Існує двосторонній механізм посилань — блоки шард-блокчейнів посилаються на блоки Beacon (з хешем цих блоків), а блоки Beacon можуть посилатися на блоки шард-блокчейнів (перехресні посилання). Посилання на деякі шарди можуть бути відсутніми в блоках Beacon, проте кожен блок шард-блокчейна має посилатися на Beacon Chain.

Графік: Структура блоків у системі шардів Ethereum (відображає два шарди)

Що таке Ethereum 2.0?

Блакитні стрілки представляють хеш блоку, який обов’язково включається в кожен блок. Сірі стрілки представляють перехресні посилання шардів, які не обов’язково можуть бути включені в блок Beacon, як показано на правому боці графіку.

У фазі 1 система шардингу і процес стейкінгу стають взаємопов’язані. Комітети валідаторів на слоти з фази 0 відображаються в шардах. Кожному шарду надається власний комітет стейкерів, які голосують, і який змінюється протягом кожного "комітетного періоду" блоку, що пропонує.

Аналогічним чином, у Beacon Chain на одного члена комітету покладається завдання виробляти блок у встановлений часовий інтервал, а інші члени комітету в цей час голосують за кожною пропозицією. Ключовий фактор — коли Beacon Chain посилається на шард-блокчейни за допомогою системи перехресних посилань, усі дані про голосування включаються в Beacon Chain.

Графік нижче ілюструє можливу локалізацію стейкерів у шард-блокчейни. У фазі 1 стейкери розподіляються випадковим чином — або в Beacon Chain, або в конкретний шард. Якщо в стейку міститься менше ніж 8,4 млн ETH, стейкерів для повноцінного обслуговування всіх шардів недостатньо, тому робота шардів може до певної міри сповільнитися.

Можливий розподіл комітетів стейкерів за шардами:

Що таке Ethereum 2.0?

Таким чином, Beacon Chain залишається тільки з одним комітетом валідаторів на слот. Однак кожен шард-блокчейн містить хеш останнього блоку Beacon, а кожен блок Beacon може містити всі дані щодо голосувань із шардів (перехресні посилання).

Тому всі голосування і стейкінг на шард-блокчейнах можна також використовувати в розрахунку правил вибору форку і в процесі фіналізації для головної Beacon Chain. Система доказу частки володіння працює, як і раніше, за винятком того, що Beacon Chain містить дані про голосування не в каталозі (індексі) комітетів, але дані про голосування з кожного шарда.

В індивідуальних шард-блокчейнах немає чекпойнт-блоків, а також відсутні процеси підтвердження або фіналізації. Щоб переконатися в завершенні транзакції всередині шардів, необхідно дочекатися Beacon Chain. Щойно актуальні блоки в Beacon Chain фіналізовані, користувачі можуть упевнитися в здійсненні транзакцій у шардах.

Таким чином, крос-лінки дають можливість:

  1. Зараховувати голоси стейкерів у комітетах шард-блокчейнів як голоси на основному Beacon Chain.
  2. Фіналізувати і підтверджувати блоки шард-блокчейна.
  3. Здійснювати всі інші типи взаємодії шардів — наприклад, переміщати з шарда в шард ETH або інші види активів.

Необхідні для цього механізми поки недостатньо розвинені. Вони можуть стати затребуваними з настанням фази 2.

Структура шардингу дає можливість управління нодою, наділеною якістю гнучкості — здатною обробляти все, включно з Beacon Chain і кожним шардом. Можна керувати тільки Beacon Chain, що включає заголовки для окремих блоків шард-блокчейнів.

Також існує третя можливість — керувати нодою, яка верифікує Beacon Chain і обраний сегмент шард. Якщо користувач вважає за краще не керувати нодою, що обробляє кожен шард, він змушений покладатися на інших користувачів, які перевіряють автентичність процесів у цих шардах. Проте висока ймовірність того, що деякі користувачі вважатимуть за краще підтверджувати ці шарди, надаючи тим самим гарантії.

Які перспективи Ethereum 2.0?

Власники Ethereum схильні експериментувати з новими витонченими системами — DAO, Maker, DeFi.

Деякі члени спільноти Ethereum стурбовані тим, що технологія Ethereum існує вже п’ять років, але, як і раніше, відстає, тому, на їхню думку, необхідні нові технології.

Ethereum 2.0 задовольняє запит спільноти на нові ідеї, і можна розраховувати на приплив значних коштів і отримання нагород за стейкінг (можливо, мільярдів доларів в ETH).

Як запуск Ethereum 2.0 вплине на ціну?

У короткостроковій перспективі значна кількість токенів ETH може виявитися заблокованою в Beacon Chain, оскільки користувачів привабить можливість заробити на створенні нових блоків. Таким чином, запас ETH на ринку може скоротитися, а ціна — зрости. З іншого боку, можливо, просто будуть залучені ETH з інших контрактів, де вони вважаються заблокованими. Для того, щоб Ethereum 2.0 став каталізатором зростання ціни токена в довгостроковій перспективі, запас не тільки не повинен бути обмеженим, але також необхідний сформований попит.

Щоб мережа Ethereum 2.0 виявилася успішною, докази частки володіння і система шардингу повинні працювати і бути досить переконливими, щоб залучити економічно значущі компоненти екосистеми Ethereum. Смарт-контракти і системи DeFi повинні будуть вибрати, який шард їм підходить, і інвестувати в оновлення своїх технологій, які повинні стати сумісними з обмеженнями шардованої системи.

Який основний недолік Ethereum 2.0?

Ethereum 2.0 винятково складний. У системі з численними комітетами, шардами і різними типами голосування високий ризик збоїв і затримок у реалізації оновлень.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *