Что такое Ethereum 2.0?
Ethereum 2.0 – обновление сети Ethereum, которое, как ожидается, состоится в течение 2020 года.
После запуска Ethereum 2.0 будет преимущественно тестнетом для проверки работы системы алгоритма консенсуса Proof-of-Stake. Большая часть экономической деятельности и смарт-контрактов продолжит функционировать в оригинальной сети Ethereum, которая сохранится как система, параллельная Ethereum 2.0. Разработчики реализуют возможность перехода Eth1 в Eth2, но обратное будет невозможно.
2.Каковы четыре фазы развертывания Ethereum 2.0?
Эта фаза стартует 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, автоматически попадают в пул валидаторов.
Согласно концепции доказательства доли владения, «вес» голоса и размер вознаграждения валидатора определяются стоимостью монет в стейке. Технические характеристики Eth2 предусматривают, что каждый валидатор должен иметь 32 ETH. Если в контракт поступает больше 32 ETH, то стейкер не получает вознаграждение от этих дополнительных монет. Если монет меньше 32 ETH, стейкер не будет активирован. Поэтому переводить ETH в Eth2 нужно будет порциями по 32 монеты. Каждая порция 32 ETH может быть отдельным стейкером.
4.Как будет выглядеть эмиссия монет?
Eth1 продолжит функционировать на основе доказательства выполнения работы (Proof-of-Work), а Eth2 будет работать на основе доказательства доли владения (Proof-of-Stake).
В этот период обе группы валидаторов, майнеров и стейкеров будут получать вознаграждение, поэтому уровень инфляции Ethereum станет расти – по крайней мере, до тех пор, пока две системы не сольются.
Уровень эмиссии Eth2 будет зависеть от количества токенов, задействованных в процессе стейкинга. Уровень годовой эмиссии будет основан на алгоритме, в котором Eth2 – число токенов Ethereum, задействованных в пуле валидации Proof-of-Stake (источник этих цифр – пост Виталика Бутерина, опубликованный в апреле 2019 года):
В основе формулы лежит представление, согласно которому, чем больше ETH переводится в Eth2, тем больше новых монет будет выпущено, однако инвестиционный доход будет уменьшаться пропорционально росту числа монет в стейке. График, иллюстрирующий уровень инфляции Ethereum 2.0:
Примечание: Для запуска Beacon Сhain требуется превзойти лимит в 16 000 ETH
Уровень инфляции Ethereum 2.0:
Темп эмиссии определяет размер вознаграждения. Награда призвана мотивировать пользователей перемещать монеты в Eth2 и в стейк. Размер вознаграждения будет уменьшаться пропорционально числу перемещаемых монет, поскольку успех Eth2 уменьшит потребность в них. Подобная модель сможет гарантировать, что число перемещаемых монет будет достаточным для значительного роста размера сети; при этом, эмиссия не станет слишком высокой, если Eth2 окажется популярной.
Представляется, что такая модель противоречит первоначальному плану «перманентной линейной инфляции» Ethereum.
Существуют факторы, способные ослабить последствия потенциального роста уровня инфляции:
- Ожидается, что в фазе 1 система комиссий будет включать два элемента: базовую комиссию, при которой монеты сжигаются, и премиальную комиссию для стейкеров. Сожженные монеты уменьшат уровень инфляции.
- Если валидаторы не могут участвовать в процессе валидации – например, если ноды прекращают работу или утрачивают связь с сетью – то награда за стейкинг аннулируется.
- Если валидаторы нарушают правила, их штрафуют, а конфискованные монеты сжигаются.
Эти механизмы могут привести к сжиганию большого числа токенов Ethereum, что потенциально ослабит эффект высокого уровня инфляции.
5.Как будет происходить слияние блокчейнов?
В перспективе, через несколько лет 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 большую определенность в связи с графиком инфляции.
6.Каковы ключевые технические особенности, которые предлагают разработчики сети?
7.Как будет работать доказательство доли владения в 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 (предполагается, что на слот приходится один комитет):
В реальности, все может быть сложнее, чем на этих графиках. Так, в нулевой фазе на один слот может приходится до 64 комитетов максимум, а не один. Поэтому, если в каждом комитете 128 членов, то каждая эпоха может вмещать до 262 144 стейкеров, что соответствует приблизительно 8,4 млн ETH.
Каждый стейкер назначается в один комитет. Чем больше стейкеров, тем больше комитетов. Максимальный размер комитета – 2048, что примерно соответствует всему запасу Ethereum, используемому в каждую эпоху (64 комитета * 32 ETH * 32 слота * 2048 стейкера на комитет = 134,2 млн ETH).
График ниже иллюстрирует, как число комитетов и число членов комитета варьируется в зависимости от числа ETH в стейкинг-пуле. Он показывает, что с ростом стейкинг-пула число комитетов увеличивается вначале до 64, а затем, когда в стейкинг-пуле находится примерно 8,4 млн ETH, размер комитетов начинает возрастать.
Число комитетов и число членов в комитете:
Чтобы определить, какие блоки обладают большинством голосов, необходимо сложить все голоса во всех комитетах. Если голосующие ведут себя достойно, они могут получить награду из пула вновь выпущенных монет Ethereum. Если же голосующие нарушают правила, то могут быть оштрафованы и утратить часть стейка. Наказание призвано предотвратить такое поведение стейкера, как голосование за два конфликтующих блока, хотя в рамках определенных сценариев это может быть позволено. За выход в оффлайн стейкеров также могут лишать вознаграждения.
8.Как будет происходить финализация в Ethereum 2.0?
Когда члены комитета голосуют за блок, они голосуют не только за определенное предложение блока, но также должны сослаться на конкретный исторический блок-чекпойнт и проголосовать за него. Именно этот механизм позволяет гарантировать, что процесс голосования стабилен. Поэтому фактически происходят две процедуры голосования по модели доказательства доли владения, одна внутри другой. График ниже иллюстрирует, как происходят два типа голосования, и в каких блоках могут храниться эти голоса.
Голосование и ссылки при условии эффективной коммуникации (при допущении, что на один слот приходится один комитет):
Блок может стать «подтвержденным», если поверх его создан чекпойнт-блок, и в индексе (каталоге) всех комитетов в рамках одной эпохи на этот чекпойнт в своем голосовании ссылаются более двух третей членов комитета.
Самое раннее, когда блок может стать «подтвержденным», – по прошествии двух третей эпохи.
Следующая стадия – финализация. Блок финализируется, когда блокчейн содержит два подтвержденных блока после него. Поэтому в большинстве случаев, когда порог в виде двух третей голосующих достигнут достаточно быстро, благодаря эффективным каналам коммуникации, пользователю понадобится дожидаться в течение одной эпохи (6,4 минуты) подтверждения, и в течение двух эпох (12,8 минут) – финализации. Этот процесс иллюстрирует график ниже.
Процесс подтверждения и финализации блока в Beacon Chain в рамках нормального сценария:
9.Какими будут санкции к нарушителям правил?
Три сценария, в рамках которых голосующие могут быть наказаны:
- Производитель блока делает два конфликтующих предложения в рамках одного слота.
- Подача двух голосов, содержащих конфликтующие ссылки на переходы чекпойнт-блока на одной высоте.
- Подача двух голосов с налагающимися ссылками на переходы чекпойнт-блока. Например, голос, отмечающий переход из чекпойнт-блока 1 к чекпойнт-блоку 4, и переход от чекпойнт-блока 1 к чекпойнт-блоку 4, и голос, ссылающийся на переход от чекпойнт-блока 2 к чекпойнт-блоку 3.
Можно предположить, что это правило будет заменено более логичным правилом, согласно которому все ссылки на переходы блоков должны находиться в последовательности, однако возможно, что честная нода может пропустить чекпойнт-блок, и результат последовательного голосования может оказаться легитимным. График, иллюстрирующий такой сценарий:
10.Насколько эффективен процесс доказательства доли владения в Ethereum 2.0?
Разработчики утверждают, что после финализации блока пользователи получат гарантии того, что их транзакции не могут подвергаться двойной трате. Однако эти системы крайне тяжело оценить по таким параметрам, как степени сходимости и финализации.
Возможно, весь процесс, включающий комитеты голосующих, индексы таких комитетов, ссылки на переходы чекпойнт-блоков и необходимость дожидаться финализации блока в течение двух эпох – ненужная абстракция, попытка разделить систему голосования по модели доказательства доли владения на компоненты с целью ее усложнить и скрыть тот факт, что модель обеспечения защиты содержит фундаментальный изъян в виде проблемы отсутствия актива в стейке.
С другой стороны, возможно, что такой процесс действительно усиливает защиту сети.
Многокомпонентность процесса – например, раунды стейкинга внутри раундов стейкинга – гарантирует, что изменение стейкинг-клиентов, которое станет поощрять нарушение правил, будет сложно осуществить технически.
11.Как работает шардинг в Ethereum 2.0?
В фазе 1 в систему добавляются шарды. Первоначальный план предусматривал начать с 1024 шардов, однако теперь это число уменьшено до 64. Beacon Chain по-прежнему считается основной или родительской цепью, однако теперь также содержит ссылки на шарды. Поскольку есть 64 шарда, а каждый блок Beacon может быть связан с 64 шардами, предполагается, что при нормальной работе каждый блок Beacon может быть связан с каждым шардом.
Существует двусторонний механизм ссылок – блоки шард-блокчейнов ссылаются на блоки Beacon (с хешем этих блоков), а блоки Beacon могут ссылаться на блоки шард-блокчейнов (перекрестные ссылки). Ссылки на некоторые шарды могут отсутствовать в блоках Beacon, однако каждый блок шард-блокчейна должен ссылаться на Beacon Chain.
График: Структура блоков в системе шардов Ethereum (отображает два шарда)
Голубые стрелки представляют хеш блока, который обязательно включается в каждый блок. Серые стрелки представляют перекрестные ссылки шардов, которые не обязательно могут включаться в блок Beacon, как показано на правой стороне графике.
В фазе 1 система шардинга и процесс стейкинга становятся взаимосвязаны. Комитеты валидаторов на слоты из фазы 0 отображаются в шардах. Каждому шарду предоставляется собственный комитет голосующих стейкеров, который изменяется в течение каждого «комитетного периода» предлагающего блок.
Аналогичным образом, в Beacon Chain на одного члена комитета возлагается задача производить блок в установленный временной интервал, а другие члены комитета в это время голосуют по каждому предложению. Ключевой фактор – когда Beacon Chain ссылается на шард-блокчейны посредством системы перекрестных ссылок, все данные о голосовании включаются в Beacon Chain.
График ниже иллюстрирует возможную локализацию стейкеров в шард-блокчейны. В фазе 1 стейкеры распределяются случайным образом – либо в Beacon Chain, либо в конкретный шард. Если в стейке находится менее 8,4 млн ETH, стейкеров для полноценного обслуживания всех шардов недостаточно, поэтому работа шардов может до определенной степени замедлиться.
Возможное распределение комитетов стейкеров по шардам:
Таким образом, Beacon Chain остается только с одним комитетом валидаторов на слот. Однако каждый шард-блокчейн содержит хеш последнего блока Beacon, а каждый блок Beacon может содержать все данные по голосованиям из шардов (перекрестные ссылки).
Поэтому все голосование и стейкинг на шард-блокчейнах можно также использовать в расчете правил выбора форка и в процессе финализации для главной Beacon Chain. Система доказательства доли владения работает, как и прежде, за исключением того, что Beacon Chain содержит данные о голосовании не в каталоге (индексе) комитетов, но данные о голосовании из каждого шарда.
В индивидуальных шард-блокчейнах нет чекпойнт-блоков, а также отсутствуют процессы подтверждения или финализации. Чтобы убедиться в завершении транзакции внутри шардов, необходимо дождаться Beacon Chain. Как только актуальные блоки в Beacon Chain финализированы, пользователи могут удостовериться в осуществлении транзакций в шардах.
Таким образом, кросс-линки дают возможность:
- Засчитывать голоса стейкеров в комитетах шард-блокчейнов как голоса на основном Beacon Chain.
- Финализировать и подтверждать блоки шард-блокчейна.
- Осуществлять все иные типы взаимодействия шардов – например, перемещать из шарда в шард ETH или другие виды активов.
Необходимые для этого механизмы пока недостаточно развиты. Они могут стать востребованными с наступлением фазы 2.
Структура шардинга дает возможность управления нодой, наделенной качеством гибкости – способной обрабатывать все, включая Beacon Chain и каждый шард. Можно управлять только Beacon Chain, включающей заголовки для отдельных блоков шард-блокчейнов.
Также существует третья возможность – управлять нодой, которая верифицирует Beacon Chain и избранный сегмент шард. Если пользователь предпочитает не управлять нодой, обрабатывающей каждый шард, он вынужден полагаться на других пользователей, проверяющих аутентичность процессов в этих шардах. Тем не менее высока вероятность того, что некоторые пользователи предпочтут подтверждать эти шарды, предоставляя тем самым гарантии.
12.Каковы перспективы Ethereum 2.0?
Держатели Ethereum склонны экспериментировать с новыми изощренными системами – DAO, Maker, DeFi.
Некоторые члены сообщества Ethereum озабочены тем, что технология Ethereum существует уже пять лет, но по-прежнему отстает, поэтому, по их мнению, необходимы новые технологии.
Ethereum 2.0 удовлетворяет запрос сообщества на новые идеи, и можно рассчитывать на приток значительных средств и получение наград за стейкинг (возможно, миллиардов долларов в ETH).
13.Как запуск Ethereum 2.0 повлияет на цену?
В краткосрочной перспективе значительное количество токенов ETH может оказаться заблокировано в Beacon Chain, поскольку пользователей привлечет возможность заработать на создании новых блоков. Таким образом, запас ETH на рынке может сократиться, а цена – вырасти. С другой стороны, возможно, просто будут привлечены ETH из других контрактов, где они считаются заблокированными. Для того, чтобы Ethereum 2.0 стал катализатором роста цены токена в долгосрочной перспективе, запас не только не должен быть ограниченным, но также необходим сформированный спрос.
Чтобы сеть Ethereum 2.0 оказалась успешной, доказательство доли владения и система шардинга должны работать и быть достаточно убедительными, чтобы привлечь экономически значимые компоненты экосистемы Ethereum.
Смарт-контракты и системы DeFi должны будут выбрать, какой шард им подходит, и инвестировать в обновление своих технологий, которые должны стать совместимы с ограничениями шардированной системы.
14.Каков основной недостаток Ethereum 2.0?
Ethereum 2.0 исключительно сложен. В системе с многочисленными комитетами, шардами и различными типами голосования высок риск сбоев и задержек в реализации обновлений.