Специалисты Interdax анализируют Ethereum 2.0, объясняют, как будет происходить переход на proof-of-stake (PoS) и рассказывают о возможных последствиях этого перехода.
Ethereum 2.0: совершенствование криптоэкономических стимулов
Переход на PoS существенно изменяет криптоэкономику Ethereum, меняя стимулы для валидации блокчейна и участия в сети. Первая фаза перехода на Ethereum 2.0 официально началась 1 декабря, с запуском Beacon Chain, нового координационного блокчейна для ETH 2.0.
Как Ethereum работает сейчас
На сегодняшний день в основной сети Ethereum, как и в других крупнейших криптовалютах (Bitcoin, Litecoin), используется протокол proof-of-work (PoW), в котором майнеры конкурируют между собой за то, чтобы первыми найти верное значение, необходимое для формирования валидного блока с транзакциями.
За затраченные на это энергию и ресурсы майнеры получают компенсацию в виде награды за блок и комиссий за транзакции. Получаемая ими награда за блок включается в каждый валидный блок, добавляемый в блокчейн. В Ethereum размер награды за блок составляет 2 ETH, в дополнение к которым майнеры получают переменную сумму уплачиваемых пользователями комиссий за транзакции.
Главное преимущество PoW-блокчейнов заключается в том, что они потенциально могут быть чрезвычайно безопасными. Для того чтобы переписать блок, злоумышленнику потребовалось бы переписать и все предыдущие блоки, поэтому атаковать PoW-блокчейны вычислительно дорого. С учетом стоимости необходимой энергии, такая атака потребовала бы огромного количества ресурсов, и это обстоятельство является главной защитой PoW-блокчейнов от такого рода атак.
Безопасность PoW-блокчейнов достигается ценой их масштабируемости и доступности. В блок Ethereum 1.0 можно включить ограниченный объем данных, поскольку каждый блок добывается последовательно. Если количество транзакций в очереди превышает доступное пространство блока, то оставшиеся транзакции должны будут ждать следующего блока. Стало быть, Ethereum может обрабатывать только 7–15 транзакций в секунду, и любое действительно успешное и получившее широкое распространение приложение, может парализовать работу всей сети и взвинтить уровень комиссий за транзакции.
Еще одна проблема PoW — это централизация майнинга. Входной барьер высок, и это делает отрасль в целом менее конкурентоспособной, а некоторые меньшие криптовалюты — более уязвимыми перед определенными видами атак, такими как атака 51% или эгоистичный майнинг. Для того чтобы извлекать из майнинга прибыль, начинающим майнерам необходимо покупать специализированное оборудование, иметь доступ к дешевой электроэнергии и возможность работать в довольно существенных масштабах.
Как результат, майнинг PoW-монет представляет собой в основном олигополистический рынок, препятствующий получению награды за блок мелкими игроками и частными лицами. Как видно из диаграммы ниже, всего три майнинговых пула контролируют более 51% хешрейта Ethereum:
Примечание: распределение хешрейта — удобный замещающий показатель, однако майнеры и майнинговые пулы не являются синонимами, и эти цифры не следует считать 100% точным представлением истинного распределения хеширующих мощностей. К тому же распределение хеширующих мощностей — это лишь один из возможных показателей степени децентрализации криптовалютного майнинга.
Proof-of-stake: как он будет выглядеть в Ethereum
Одна из задач, решаемых в Ethereum 2.0 (или Eth2/Serenity), состоит в уравнивании посредством введения PoS условий для большего числа индивидуальных валидаторов, которые смогут получать отдачу от сохранения истинности сети.
В отличие от PoW-майнеров, расходующих для создания и проверки блоков физическую энергию в виде электричества, в PoS-системе Eth2 валидаторы фиксируют в «стейке» (stake) 32 ETH — своего рода залог. На место фиксированному выпуску новых монет, выплачиваемых в качестве награды за блок, приходит модель переменного объема эмиссии, определяемого количеством заблокированных для стейкинга (он же PoS-майнинг) эфиров.
Для PoS-сетей важно правильно соразмерить экономические стимулы. Если стимул для участия в стейкинге слишком мал, сеть не наберет минимального количества валидаторов, необходимого для обеспечения безопасности блокчейна. Если стимул слишком велик, сеть будет переплачивать за безопасность и раздуваться со скоростью, которая может нанести ущерб ее экономике.
Для участия в PoW-блокчейнах майнеры сталкиваются с капитальными (покупка ASIC и прочего оборудования) и операционными (как, например, счета за электроэнергию и недвижимость) затратами. Вне зависимости от успешности майнера, эти расходы ложатся на плечи любого майнера в PoW-сети.
Безопасность PoS-сетей обеспечивается за счет потенциальной потери недобросовестными валидаторами внесенного ими стейка, то есть капитальных или операционных затрат валидаторы практически не несут. В случае форка PoW-майнеры распределяют доступные им ресурсы в пользу поддержки корректной, по их мнению, ветки. Однако в PoS-системе никаких внутренних затрат на защиту сети (как, например, электричество) не подразумевается, поэтому у валидаторов нет никаких противопоказаний для стейкинга на обеих ветках форка одновременно.
И поскольку в этом случае валидаторы не несут издержек упущенной выгоды, это создает ситуацию фактического «отсутствия ставки» (проблема nothing at stake). Поэтому рациональным поведением для валидатора представляется голосование одновременно по каждой из конкурирующих веток, чтобы максимизировать свою прибыль. PoS-криптовалюты решают проблему «отсутствия ставки» по-разному. Исследования на тему PoS и разделения Ethereum на шарды (сегменты), начались еще до января 2014 года, когда сооснователь сети Виталик Бутерин предложил следующее решение проблемы nothing at stake:
Если каждая цепь будет иметь информацию о других цепях, то, если майнер будет пойман на майнинге одновременно на двух ветках, он может быть подвергнут наказанию.
Эта идея Бутерина в конечном счете и вылилась в Casper, алгоритм, предусматривающий наказание валидаторов, которые работают на более чем одной конкурирующей ветке блокчейна или иным образом наносят вред сети, обходя проблему «отсутствия ставки».
Дизайн Eth2 предполагает, что при атаке на сеть люди в большей мере склонны рисковать заблокированными для стейкинга криптовалютными токенами в сравнении с расходами на электроэнергию. Если провалившаяся атака на PoW-сеть приводит к потере затрат на электроэнергию, то изъятие стейка валидатора при неудачной атаке на PoS-сеть эквивалентно уничтожению всей серверной фермы. Стоимость атаки на Eth2 равна сумме заблокированных для стейкинга ETH — таков размер штрафа за вредоносные действия валидатора. Поскольку Eth2 предусматривает одновременно стимулы для честных валидаторов и наказание для злонамеренных, то защита сети от недобросовестных акторов теоретически должна стать сильнее.
Обзор Eth2/Serenity
Реализация Eth2 осуществляется поэтапно и происходит в несколько этапов: фазы 0, 1 и 2, как подробно показано на схеме ниже:
С каждым этапом эти изменения будут охватывать все большую долю Ethereum и его комьюнити. Пользователям предоставлена возможность для раннего участия в стейкинге в фазе 0, либо они могут просто подождать, пока PoW-блокчейн Ethereum (Eth1) не мигрирует полностью на Eth2.
Сеть будет оставаться работоспособной, даже если одна из программ-клиентов столкнется с проблемой консенсуса, при условии, что ни на один из клиентов не приходится более трети от общего числа нод/валидаторов.
Ниже описаны несколько основополагающих концепций Eth2:
- Casper: комбинация Casper the Friendly Finality Gadget (FFG) и LMD-GHOST (известного также как Gasper) призвана обеспечить плавный переход от старого механизма консенсуса PoW к PoS, сначала через наложение нового протокола на текущий. LMD-GHOST — это аббревиатура от Greedy Heaviest Observed Subtree – Last Message Driven (жадное и самое весомое видимое поддерево, управляемое последним сообщением). Подробную информацию о том, как сеть будет переходить на PoS, можно найти здесь (англ., PDF). В Casper есть две основные заповеди. Первая: валидатор не должен транслировать два разных голоса для одной высоты блока. Вторая: валидатор не должен голосовать в пределах других своих голосов. Этот механизм позволяет избежать большинства проблем, имеющихся как в существующих PoS-подходах, так и в семействе Byzantine Fault Tolerant (устойчивых к византийской ошибке) алгоритмов консенсуса. Любой валидатор, нарушающий какую-либо из этих заповедей, считается вредоносным и лишается всего своего депозита (не только суммы стейка). В целях повышения доступности и сокращения возможности для цензурирования транзакций, предусмотрено также наказание за уход нод офлайн.
- Beacon Chain (координационный блокчейн): в качестве первого шага по переходу на PoS в фазе 0 был запущен координационный блокчейн с PoS-механизмом Casper. Будучи основой будущей PoS-сети, Beacon Chain должен обеспечивать темп достижения консенсуса и состоит из слотов и эпох. По достижении в ethereum-комьюнити определенного уровня консенсуса в отношении стабильности различных клиентов, на Eth1 был опубликован депозитный контракт. Цель этого контракта заключается в сборе стейков от потенциальных валидаторов ETH 2.0, чтобы они могли получить доступ к проверке данных в Beacon Chain. После того как на этот контракт было депонировано заданное количество ETH (524 288 ETH), 1 декабря координационный Beacon Chain был запущен и начал производить блоки.
- Шардинг: на сегодня каждая нода Ethereum должна проверять и выполнять каждую транзакцию, что снижает масштабируемость и пропускную способность сети. Шардинг — это потенциальное решение проблемы масштабирования блокчейна, которое будет вводиться в действие постепенно, начиная с фазы 1. Термин означает горизонтальное разделение базы данных. В общих чертах, разделенный на шарды блокчейн имеет подмножества валидаторов, которые обрабатывают и проверяют транзакции только в рамках своего сегмента – шарда. Ожидается, что разделенный на шарды Ethereum сможет обрабатывать более 15 000 транзакций в секунду. Каждый шард — это отдельный блокчейн со своим собственным состоянием (остатки на счетах, смарт-контракты) и историей транзакций. По плану, во второй фазе шардинг должен занять центральное место в дизайне системы Ethereum и масштабировать его PoS-блокчейн.
Фаза 0: Beacon Chain
Сейчас Eth2 находится в фазе 0, которая включает в себя тестирование и [произошедший 1 декабря 2020 г.] запуск Beacon Chain (координационного блокчейна), основы новой PoS-архитектуры Ethereum.
На схеме ниже показана архитектура Beacon Chain:
В нулевой фазе Beacon Chain еще не может обрабатывать транзакции, выполнять смарт-контракты или другие функции, доступные на PoW-блокчейне Ethereum, Eth1. На Beacon Chain реализован алгоритм завершения транзакций Casper (FFG) и генератор случайных чисел для перетасовки валидаторов и симулирования перекрестных ссылок между несуществующими еще блокчейнами шардов. Eth1 продолжает получать обновления и функционировать параллельно с новым координационным блокчейном для Eth2.
Eth2 рассчитан на как минимум 16 384 валидатора (ожидается, что в течение пары лет эта цифра вырастет до сотен тысяч). В нулевой фазе валидаторы могут голосовать по блокам и получать вознаграждение за стейкинг в Beacon Chain.
Случайное распределение валидаторов должно служить гарантией от спланированной атаки на сеть со стороны злонамеренных акторов, поскольку валидаторы распределяются по разным блокам. Каждому блоку назначается случайным образом выбранный комитет валидаторов, поэтому маловероятно, что злоумышленник, контролирующий менее трети всех валидаторов, сможет организовать атаку на какой-либо блок.
В первой реализации Casper для добавления в блокчейн новых блоков используется текущий механизм предложений из Eth1. Если два блока были предложены одновременно, валидаторы получают вознаграждение только при ставке на одну цепочку, поэтому имеет смысл делать ставку на исходную цепочку, поскольку именно она с наибольшей вероятностью окажется успешной.
Что еще более важно, в Casper предусмотрен механизм, который мгновенно и в полном объеме конфискует стейк любого валидатора, пытающегося поддержать невалидную ветку, проверяя более одного блока за раз. Если валидатор попытается скомпрометировать сеть (т.е. валидировать некорректную историю данных), то ETH из его стейка будут изъяты — полностью или частично. Пользователи могут представлять доказательства голосования валидаторов по некорректным веткам и инициировать для них наказание. То есть Casper решает проблему «отсутствия ставки» путем введения штрафов за некорректное голосование.
Кроме того, если валидатор Eth2 уйдет офлайн и не будет выполнять свою долю вычислительных обязанностей, то его награда за блок будет постепенно снижаться, чтобы стимулировать валидаторов оставаться в сети бесперебойно, насколько это возможно.
Как происходит голосование за блоки в Eth2?
Beacon Chain (координационный блокчейн Ethereum 2.0) можно сравнить с метрономом, задающим темп для достижения консенсуса системой.
Каждый слот составляет 12 секунд, каждая эпоха состоит из 32 слотов, что эквивалентно 6,4 минуты (как показано ниже).
В каждую эпоху псевдослучайный процесс RANDAO выбирает для каждого слота инициаторов блоков (proposers) и распределяет валидаторов в комитеты. Валидаторы могут участвовать только в одном слоте и в одном комитете за эпоху. В каждом комитете для каждого слота участвуют не менее 128 валидаторов.
Валидатор участвует в консенсусе назначенного ему шарда и может голосовать за указатель head этого сектора (хотя настоящие шарды будут реализованы только в фазе 1). Валидатор связывает «голову» шарда — его последнее состояние — с beacon-блоком для слота. Валидаторы также контролируют друг друга и получают награду за сигналы о недобросовестном поведении других валидаторов — о конфликтующих голосах или предложении одновременно нескольких блоков.
Комитету псевдослучайным образом назначается шард для связывания посредством перекрестной ссылки с beacon-блоком. Состав комитетов не постоянен. Комитет, ответственный за связывание перекрестными ссылками блока шарда, меняется от блока к блоку. Подробное изучение комитетов шардов, ответственных исключительно за состояние блокчейна шарда, — это тема для будущих исследований.
Основным источником нагрузки на Beacon Chain являются голоса (или аттестации). Аттестация — это голос валидатора, взвешенный по его балансу, и такие аттестации транслируются валидаторами в дополнение к блокам.
Блок в первом слоте эпохи называют чекпойнтом (контрольной точкой) или граничным блоком эпохи. В эпохе всегда есть один чекпойнт-блок, где все валидаторы голосуют по Casper FFG. Блок может быть чекпойнтом и для нескольких эпох.
В большинстве случаев валидаторы — это аттестаторы, голосующие за блоки Beacon Chain и шардов. Эти голоса записываются в Beacon Chain. Голоса определяют актуальное состояние Beacon Chain и шардов.
Когда члены комитета голосуют за блок, они должны ссылаться и голосовать за конкретный чекпойнт-блок из истории, а также отдать голос за конкретный предложенный блок. Или, точнее, ссылку на переход от одного чекпойнт-блока к другому (от исходного к целевому чекпойнту) — механизм, дающий уверенность в том, что процесс голосования урегулирован.
Блок считается «обоснованным» (justified), если поверх него сформирован чекпойнт-блок и более чем две трети членов комитета ссылаются на этот чекпойнт. Это может быть достигнуто, самое раннее, по истечении двух третей эпохи. Когда эпоха заканчивается, чекпойнт считается обоснованным.
Затем этот блок становится финализированным, когда после него в блокчейн записывается два новых обоснованных блока. Как правило, время до обоснования блока будет составлять одну эпоху (~6,4 минуты), а до его финализации — две эпохи (~12,8 минуты).
Голосование, проведенное с участием двух третей от числа всех активных валидаторов, рассматривается как квалифицированное большинство. Как только достигается квалифицированное большинство и чекпойнт финализируется, транзакции в этом блоке навсегда записываются в блокчейн и уже не могут быть отменены — это называется Casper finality.
Правило выбора форка LMD-GHOST гарантирует, что при расчете актуального состояния (head) цепочки учитывается только последний голос каждого валидатора, а не любой его выбор, сделанный в прошлом (что значительно сокращает объем требуемых вычислений).
Для Casper FFG все голоса состоят из двух ‘субголосов’: один — за эпоху, которая обосновывается в данный момент, и второй — за предыдущую, финализируемую эпоху. Такое разделение на два субголоса сокращает потребность в дополнительной связи между нодами, позволяя сети масштабироваться до большего числа валидаторов.
Консенсус в Eth2 основывается на следующих важных технологиях:
Вместе все валидаторы в эпоху посредством голосования Casper FFG стремятся финализировать одну контрольную точку, а все валидаторы, назначенные слоту, посредством голосования LMD-GHOST стремятся определить один консенсусный указатель head координационного Beacon Chain.
Связывание Eth1 и Eth2
Для участия в нулевой фазе был создан новый токен для Beacon chain (BETH), обменный курс которого привязан к ETH. BETH создаются через одностороннюю транзакцию из Eth1 в Eth2 и не могут быть возвращены в основной блокчейн до окончания нулевой фазы. Использование BETH в блокчейнах шардов (для смарт-контрактов) станет доступно в фазе 2.
По зачислении ETH на bridge-контракт («контракт-мост») пользователь получает такую же сумму BETH на Beacon Chain. Минимальная сумма депозита на bridge-контракт составляет 1 ETH, но для того чтобы стать валидатором, нужно внести не менее 32 ETH. Использование одностороннего моста делает систему проще и надежнее, но подразумевает потенциальный риск блокировки (а также вероятность возникновения рынков фьючерсов на отдельные токены Eth1 и Eth2).
Мейннет Beacon Chain обрабатывает депозиты (после некоторой задержки, чтобы исключить «двойную трату») и переводит пользователей в статус валидаторов. После этого валидаторы получают возможность подтверждать блоки в Beacon Chain и получать вознаграждение за счет эмиссии новых токенов (по крайней мере до тех пор, пока не будут разрешены пользовательские транзакции).
Для запуска нулевой фазы необходимо было собрать не менее 524 288 ETH и 16 384 валидатора, чтобы обеспечить достаточный уровень децентрализации и безопасности, что и было сделано к 1 декабря, когда произошел запуск Beacon Chain. Со временем в экосистеме Ethereum должны будут появиться продукты и решения, позволяющие пользователям объединять свои средства в пулы и получать соразмерную своему вкладу долю от общего вознаграждения за стейкинг.
При минимально возможном количестве валидаторов (16 384), годовая доходность стейкинга составляет около 20% (при условии 95% времени безотказной работы ноды). Но по мере увеличения общего стейка ETH и числа валидаторов доходность будет сокращаться. Ниже приведен график, показывающий устойчивый рост числа потенциальных валидаторов за последний год.
По состоянию на 17 мая 2020 г. (доступ к более поздним данным был ограничен платной подпиской) количество адресов с балансом ≥ 32 ETH составляло 115 411.
Потенциальные риски и доходы валидаторов
Есть различные статьи затрат и дохода, которые следует учитывать инвесторам, заинтересованным в запуске валидатора для Eth2. Например, Beacon Chain деактивирует всех валидаторов, баланс которых сокращается до 16 ETH — это называется «принудительным выводом» (forced exit). При этом стейкер имеет возможность вывести любой остаток баланса валидатора (но не раньше начала фазы 1).
Баланс честного валидатора можно будет вывести примерно через 27 часов. Валидаторы смогут также покинуть сеть добровольно («voluntary exit») после того, как отработали 2048 эпох (что соответствует примерно девяти дням). При любом выходе валидатора — добровольном или принудительном — существует задержка в четыре эпохи, прежде чем стейкер сможет запросить вывод средств из своего стейка. В эти четыре эпохи валидатор еще может быть пойман на недобросовестном поведении и лишен средств в стейке, полностью или частично. Однако для подвергнутого штрафу валидатора задержка перед выводом средств увеличивается до 8192 эпох (около 36 дней).
Ниже перечислены основные выгоды и затраты, ассоциируемые с поддержанием нод-валидаторов:
Выгоды:
Затраты:
К нарушениям, наказываемым мгновенным сокращением стейка, относятся:
Вознаграждение каждого валидатора определяется функцией, обратной квадратному корню по отношению к объему эмиссии. Чем больше общее количество ETH, внесенных в стейк для PoS-майнинга Eth2, тем больше выпускается токенов Eth2 для компенсации валидаторам.
По мере того, как количество ETH в общем стейке растет, доходность валидаторов снижается, поскольку выгоды от стейкинга перевешиваются более высокой эмиссией, что снижает доходность отдельных валидаторов. На диаграмме ниже показаны различные уровни доходности и эмиссии в зависимости от количества ETH в стейке.
Когда сумма стейка увеличивается, базовая доходность валидатора снижается, а скорость эмиссии растет. Если в стейке Serenity будет размещено 10 млн ETH, то годовая доходность составит 5,72%, а максимальный годовой объем эмиссии — 572 433 ETH.
Для того чтобы оценить реальную доходность (доходность минус инфляция токена), нужно также учитывать инфляцию токена. Поскольку вознаграждения будут выплачиваться как валидаторам Eth2, так и через обычную награду за PoW-блок, комбинированная инфляция двух цепочек первоначально может резко вырасти, но затем будет стремиться к диапазону 0–1% по мере постепенного ослабления акцента на PoW-блокчейне в фазе 2.
Интересующиеся могут воспользоваться этим калькулятором для расчета потенциальной доходности.
Комиссии сети также будут основным фактором увеличения дохода валидаторов. Если награда за блок будет слишком низкой, то без значительного роста комиссий за транзакции сеть станет менее безопасной, поскольку экономический стимул для стейкинга будет слишком слабым. Если в результате успешной реализации EIP 1559 комиссии за транзакции будут частично сжигаться, это увеличит потребность в развитом рынке комиссий для поддержки валидаторов.
Фаза 1: блокчейны шардов
Фаза 1 должна быть начата примерно через год после запуска Beacon Chain (фаза 0).
В этой фазе блокчейн Ethereum будет разделен на 64 блокчейна шардов, которые работают параллельно и взаимодействуют между собой. Шардинг обеспечивает бóльшую масштабируемость, позволяя Ethereum одновременно обрабатывать несколько транзакций (теоретически, 64 блока одновременно). Сначала на шарды будут разделены только блокчейн-данные, в то время как выполнение и изменение состояний не будут сегментированы вплоть до фазы 2.
Структура разделения на шарды обеспечивает также больше гибкости для желающих запустить свою ноду. Пользователи могут выбирать различные типы нод, такие как:
Блокчейны шардов могут быть полезны для приложений, которым требуется хранилище данных с высокой доступностью, поскольку общий объем данных, доступных системе, оценивается в диапазоне 1–4 Мбит/сек.
Для создания блоков, включающих 64 перекрестные ссылки, Beacon Chain потребуется участие не менее 262 144 валидаторов (что эквивалентно более чем 8 миллионам ETH). Каждый из шардов (0–64) на схеме ниже можно рассматривать как отдельные блокчейны, взаимодействующие между собой.
Множество комитетов валидаторов на слот из фазы 0 теперь распределяются по разным сегментам-шардам. Для каждого шарда определяется собственный комитет стейкеров, этот комитет регулярно меняется.
Как и в Beacon Chain, одному члену комитета поручается сформировать блок в отведенный промежуток времени, а остальные члены комитета голосуют по каждому предложению. Когда Beacon Chain связывается перекрестными ссылками с блоками шарда, вся эта информация о голосованиях включается в Beacon chain.
Перекрестные ссылки — это ссылки в beacon-блоках на блоки шарда; посредством их Beacon Chain следит за актуальным состоянием блокчейна шарда.
Перекрестные ссылки служат трем основным целям:
Поскольку изначально будет существовать 64 шарда, каждый beacon-блок будет содержать до 64 перекрестных ссылок. Если в 63 шардах в текущем временном слоте не было предложенных блоков, то в beacon-блок будет записана только одна перекрестная ссылка. Все приписанные к комитету валидаторы пытаются связать ссылками конкретный шард.
В фазе 1 валидаторы случайным образом распределяются либо в Beacon Chain, либо в определенный шард. Когда объем общего стейка составляет меньше 8,4 миллиона ETH, валидаторов для полноценного обслуживания всех шардов становится недостаточно, и поэтому работа шардов может несколько замедлиться.
Beacon Chain обеспечивает гарантию окончательности транзакций внутри шардов. После финализации соответствующих блоков в Beacon Chain пользователи блокчейна шарда могут быть совершенно уверены в окончательности совершенных в нем транзакций.
EVM 2.0: eWASM
Шарды Ethereum не будут использовать существующую Ethereum Virtual Machine (EVM), но перейдут сразу на eWASM. Каждый шард будет включать в себя виртуальную машину на основе eWASM, эквивалент сегодняшней Ethereum Virtual Machine.
eWASM, или несколько видоизмененный под нужды Эфириума WebAssembly, — это движок, который выполняет смарт-контракты и существенно влияет на то, сколько транзакций может быть обработано и впоследствии добавлено в блок, дополнительно увеличивая пропускную способность сети.
Другие преимущества eWASM включают в себя улучшенную безопасность и поддержку большего числа языков программирования.
Фаза 2: реализация блокчейнов шардов
Как и в случае с первой фазой, определенная дата перехода во вторую фазу точно не определена, но ориентировочно планируется на начало 2022 года. Фаза 2 предполагает успешную реализацию и PoS, и шардинга, что позволит использовать ETH-аккаунты, совершать транзакции, выводить средства и взаимодействовать со смарт-контрактами — все это на Eth2.
Держателям ETH не придется куда-то переводить или обменивать свои токены — их можно будет беспрепятственно использовать на Eth2. История транзакций оригинального PoW-блокчейна/Eth1 сохранится, но он больше не будет нуждаться в поддержании PoW-механизма консенсуса.
Блокчейн Eth1 будет перенесен в Eth2 и будет существовать как один из 64 шардов рядом с Beacon Chain, так что никакого нарушения непрерывности истории данных возникнуть не должно.
Есть два возможных способа переноса ETH 1.x в ETH 2.0:
- Преобразование EVM и истории Eth1 в одну из сред выполнения Eth2, что минимизирует требования к миграции для Dapps.
- Альтернативное решение основано на клиентском ПО Eth1 без сохранения состояний, где состояние шарда 0 может содержать корень состояния системы Eth1. Зарегистрированные валидаторы, поддерживающие Eth1, могут быть случайным образом выбраны как инициаторы блоков шарда 0 и должны будут поддерживать ноды Eth1.
Подробно о процессе мержинга Eth1 и Eth2 можно прочесть здесь (англ.).
Одна из областей исследования в Eth2, имеющих большое значение в фазе 2, известна как клиенты без сохранения состояний (stateless clients). Стейтлесс клиенты позволят нодам шардов отказаться от поддержки состояния. Понятие состояния существует на уровне приложения, а не на уровне консенсуса; это означает, что ноды только «подключаются» к определенной среде выполнения, информацию о которой они должны иметь. Вместо того чтобы хранить в каждом блоке шарда полное состояние, сохраняется только сгенерированный из данных корневой хеш.
Нодам не обязательно поддерживать большую базу данных текущего активного хранилища. Вместо этого они могут использовать в каждой транзакции witness-данные и предоставлять ветви Меркла для значений состояния, доступ к которым необходим для конкретной транзакции.
Новая «стейтлесс» модель делает текущие реализации нулевой и первой фаз гораздо более эффективными. Кроме того, при этом отпадает необходимость в отдельной перетасовке комитетов. Это повышает безопасность, поскольку сокращение периода перетасовки в цепочке шарда означает сокращение времени на сговор между валидаторами, а синхронизация полной ноды становится проще. Более длительный период перетасовки в Beacon Chain означает, что сеть более стабильна, и снижает нагрузку на синхронизацию легкого клиента каждые шесть минут.
Еще одной функцией, которая должна быть реализована в фазе 2, станут транзакции между шардами. Подробно о таких транзакциях можно прочитать здесь (англ.). Кроме того, среды выполнения позволят перенести Eth1 (а потенциально и другие блокчейны, такие как Bitcoin) на Eth2.
Однако еще остаются некоторые открытые вопросы в отношении транзакций между шардами, а также многих других составляющих фазы 2, включая возможность обновления сред исполнения без выполнения форка, управление средами исполнения и другие их особенности.
Заключение
Суммируя все вышесказанное, в фазе 0 произошел запуск Beacon Chain, нового блокчейна, который обеспечивает основу для будущей PoS-системы Ethereum путем налаживания работы валидаторов, назначения вознаграждений и штрафов и введения односторонней привязки BETH к ETH.
Фаза 1 подразумевает запуск блокчейнов шардов, связывание их перекрестными ссылками и использование eWASM в качестве виртуальной машины для каждого шарда.
Наконец, в фазе 2 шардинг должен быть реализован уже в полном объеме. Аккаунты, смарт-контракты, Dapp и вся основная активность сети перейдут на новую цепочку. Сам блокчейн Eth1 тоже будет постепенно перенесен в Eth2, завершая переход сети на PoS.
Так выглядит полная схема архитектуры Eth2:
Переход Ethereum на PoS — амбициозная задача, сопряженная с вероятностью получения больших преимуществ и сопровождаемая существенными рисками. Основные преимущества Eth2 включают:
К основным рискам Eth2 относятся:
Обновление до Eth2 обещает представить миру масштабируемую платформу для децентрализованных систем и приложений, но это будет сложный процесс, который по самым оптимистичным оценкам займет несколько лет. Не стоит забывать и о конкуренции со стороны других PoS-сетей, таких как Cardano, Tezos или Aethereum. Однако в случае успешного перехода на Eth2, Ethereum, скорее всего, укрепит свое преимущество первопроходца в нише блокчейна для смарт-контрактов.