Введение в Eth2
Ethereum 2.0 (или Eth2) — это давно запланированное обновление сети Ethereum, которое в случае успеха обеспечит ей масштабируемость и безопасность, необходимые для того, чтобы всерьез претендовать на гораздо большую пользовательскую базу, чем нынешняя. Поэтапная реализация обновления сети официально стартовала с декабря 2020 года и, видимо, растянется на ближайшие несколько лет.
Основная идея состоит в том, чтобы значительно снизить энергопотребление за счет смены алгоритма консенсуса с proof-of-work на proof-of-stake и увеличить пропускную способность сети в отношении количества транзакций. В дополнение к эпохальному переходу с PoW на PoS, в сети будет реализована также концепция блокчейнов-шардов (шардчейнов) — идея, уже некоторое время существующая в мире блокчейн-технологий, и которая будет протестирована в новой версии протокола Ethereum. Наконец, как и предполагалось ранее, фактическое развертывание Ethereum 2.0 будет происходить в несколько этапов, подробнее о которых я расскажу позже.
Запущенный 1 декабря Beacon Chain (новый координационный блокчейн для Ethereum 2.0) в этот переходный период, в сущности, будет играть роль тестовой сети для системы на основе алгоритма proof-of-stake. Большая часть экономической активности и смарт-контрактов по-прежнему сосредоточена в оригинальном блокчейне Ethereum, который продолжает функционировать параллельно с Ethereum 2.0. Разработчики реализовали возможность перевода токенов из Eth1 в Eth2, но вывести их обратно на пока невозможно.
Зачем нужен Ethereum 2.0?
С момента своего запуска в 2015 году, Ethereum занял место программируемого блокчейна номер один по количеству децентрализованных приложений (dApp) и реализованных смарт-контрактов. В сравнении с Биткойном, который имеет гораздо более жесткий скриптовый язык, Ethereum обеспечивает гораздо большую свободу при создании контрактов за счет использования Тьюринг-полного языка программирования под названием Solidity.
Очевидно, что с большими возможностями приходит большая ответственность, и не случайно широкие возможности для создания смарт-контрактов любого рода не раз приводили к появлению ошибок и багов, стоивших пользователям миллионов долларов. Однако самой фундаментальной проблемой для Ethereum на сегодня является острая потребность в масштабировании, чтобы реализовать свой истинный потенциал, поскольку возможность обрабатывать всего 15 транзакций в секунду — это узкое место, которое очень сложно как-то обойти. Для сравнения с уже известными системами, Visa обрабатывает около 1500 транзакций в секунду, что позволяет использовать ее как платежную систему во всем мире.
Нынешний алгоритм консенсуса proof-of-work (PoW) требует, чтобы процесс майнинга по соображениям безопасности был сопряжен с высокими затратами, но при этом он практически не оставляет возможностей для масштабирования сети по мере необходимости. Построение решения, которое было бы одновременно масштабируемым, безопасным и децентрализованным, — задача нетривиальная, и именно поэтому разработка Ethereum 2.0 заняла так много времени.
Proof-of-work vs. proof-of-stake: зачем менять алгоритм консенсуса?
Алгоритм proof-of-work основан на концепции майнеров, которые обеспечивают безопасность и синхронизацию сети. Майнеры затрачивают огромные вычислительные мощности на создание блоков из еще не подтвержденных транзакций. Хотя с теоретической точки зрения это самый безопасный подход к созданию и функционированию криптовалюты, он подразумевает высокие затраты на электроэнергию, а скорость проверки транзакций при этом слишком низка для приложения, которое имеет амбиции для того, чтобы масштабироваться и использоваться во всем мире.
В proof-of-stake, с другой стороны, высокая энергозатратность заменяется прямыми финансовыми обязательствами участников: здесь нет майнеров, только валидаторы, которые, предоставив в залог («стейк», от англ. stake — ставка, прим. переводчика) необходимое количество ETH, получают возможность создавать и валидировать новые блоки, чтобы получить вознаграждение в виде нововыпущенных сетью монет. Валидаторы устанавливают и запускают программное обеспечение, с помощью которого они подтверждают транзакции и создают новые блоки.
Размер финансового обязательства, необходимого для того, чтобы запустить одного валидатора, составляет 32 ETH, но в будущем, скорее всего, появится возможность участвовать в стейкинге и с меньшей суммой, присоединившись к пулу и получая соразмерную своему вкладу часть от общего вознаграждения.
Что такое шардчейны?
Еще одно важное новшество Ethereum 2.0 — это шарды. Эти шарды представляют собой отдельные блокчейны, функционирующие параллельно с основным, координационным блокчейном новой экосистемы, называемым Beacon Chain. Блокчейны-шарды, шардчейны, берут на себя значительную часть работы по обработке данных. На сегодняшний день нодам для обработки транзакции нужно загрузить, вычислить, архивировать и прочитать каждую транзакцию в истории Ethereum. Это одна из причин того, что протокол может обрабатывать не больше 15 транзакций в секунду.
С введением шардов, ноды будут распределяться по подмножеству фрагментов сети и должны будут загружать, вычислять и архивировать каждую транзакцию только в определенном подмножестве, а не во всей сети, как сейчас. Задача Beacon Chain при этом будет состоять в том, чтобы обеспечить синхронизацию всех нод. Beacon Chain — это центральный блокчейн в новой экосистеме Ethereum, обеспечивающий консенсус для всех ее шардчейнов. Валидаторы каждого шардчейна будут создавать блоки транзакций и передавать данные о них в Beacon Chain, который будет делать эту информацию доступной для всех участников сети.