Ethereum 2.0, известный также как Serenity, это амбициозный проект на много лет, цель которого — создать для мира доступные программируемые деньги. В течение следующих нескольких лет Эфириум будет подвергаться многочисленным обновлениям и ответвлениям, дабы стать той самой всеохватывающей сетью, о которой было изложено в whitepaper монеты около 5 лет назад.
На текущий момент сеть Ethereum может обрабатывать примерно 25 транзакций в секунду. К сожалению, такой пропускной способности явно недостаточно, учитывая то, что миссия Ethereum состоит в превращении в мировой компьютер для следующего поколения приложений. К счастью, пропускная способности сети пройдёт через массу разительных улучшений в грядущие месяцы и годы. Разработчики представят Ethereum 2.0 и ряд новых решений масштабируемости — в особенности, Sharding («Шардинг») и Casper («Каспер»).
Что такое шардинг?
Чтобы у вас было некоторое представление о традиционных архитектурах блокчейна, обычно каждый узел (нода) в сети должен проверять и обрабатывать каждую транзакцию (например, перевод средств). Если в системе тысячи узлов и каждый узел должен проверять каждую транзакцию, это создает проблемы с задержкой и в конечном итоге приводит к неэффективной обработке транзакций. Есть мнение, что такого рода архитектура по своей природе ограничивает масштабируемость сети 1 уровня или 1 слоя (layer 1).
Поэтому шардинг, или сегментирование, разделяет сетевую обработку на более мелкие части — шарды (вероятнее всего, приживется именно этот термин, так что привыкайте). Шард представляет собой цепочку, состояющую из скопления или кластера проверяющих узлов — так называемых «валидаторов». Как таковые, узлы несут ответственность только за обработку и проверку транзакций лишь в рамках своих соответствующих шардов.
Передавая проверку транзакций нескольким шардам, узлы будут обрабатывать значительно меньшее количество транзакций, что в конечном итоге приведёт к повышению масштабируемости почти без ущерба для децентрализации или безопасности.
Что такое Ethereum Casper?
В отличие от Ethereum 1.0 или Bitcoin, Ethereum 2.0 будет использовать Proof of Stake (PoS). Речь идёт о системе доказательства доли, более известную как Casper, для достижения консенсуса. В отличие от PoW, который требует от пользователей — они же майнеры — предоставлять вычислительную мощность своих компьютеров для обеспечения безопасности сети, PoS требует, чтобы пользователи — они же валидаторы — буквально закладывали свои деньги, своё криптовалютное имущество для обеспечения безопасности сети. На практике Casper потребует от пользователя ставку в 32 ETH, чтобы он мог стать валидатором и получал вознаграждение в форме эфириума (ETH).
План развития:
- Фаза 0: Beacon Chain
- Фаза 1: Базовый шардинг
- Фаза 2: Шардинг с EWASM (Ethereum Flavored WebAssembly)
- Фаза 3 и дальше: легкие клиенты, кроссшардовые транзакции, супер-квадратичный шардинг и все такое прочее
Фаза 0: Beacon Chain
Первый шаг в направлении Ethereum 2.0 (Фаза 0) вращается вокруг перехода к совершенно новому блокчейну — Beacon Chain. Beacon Chain (дословный перевод: «цепочка-маяк») это основа для Ethereum 2.0, поскольку она включает в себя первоначальную имплементацию Casper/PoS (пока без шардинга), а также несколько функций, которые действуют как базовая инфраструктура, позволяющая использовать шардинг в будущем.
Кроме того, Фаза 0 не включает функциональность, связанную со смарт-контрактами или EVM (Ethereum Virtual Machine), поскольку она запланирована на Фазу 2. Beacon Chain по большей части предназначена для:
- управления валидаторами и их долями;
- назначения избранного заявителя блоков для каждого шарда на каждом шагу;
- организации валидаторов в комитеты для голосования за заявленный блок;
- применения правил консенсуса;
- применения системы вознаграждений и штрафов к валидаторам;
- выступления в качестве отправной точки, на которой шарды регистрируют свои состояния для опосредования кроссшардовых транзакций.
Здесь важно отметить, что Ethereum 2.0 использует совершенно новый блокчей. Это значит, что сеть не будет обновляться как хардфорк на существующей цепи.
Что более важно в фазах 0-2: все пользовательские транзакции и смарт-контракты будут выполняться всё ещё на PoW-цепочке Ethereum 1.0.
С учетом сказанного, награды на всех этапах будут распределяться как валидаторам, так и майнерам в каждой соответствующей цепочке (ETH 1.0 и ETH 2.0). Таким образом, суммарный уровень эмиссии будет выше в ранних фаза Ethereum 2.0, пока постепенно не уменьшится до 0-1 процента. Пользователи, заинтересованные в том, чтобы стать валидаторами на Ethereum 2.0 во время Фазы 0, переведут свой эфириум 1.0 на цепь 2.0 при помощи контракта депозитов, работающего в одном направлении. Этот контракт сожжёт ETH 1.0 и выдаст новые ETH 2.0 на Beacon Chain.
Чтобы успешно запустить «цепочку-маяк», будет пороговое значение, которое потребует в общей сложности 16 384 работающих валидаторов, что в сумме составит 524 288 поставленных в виде доли (staked) эфириумов 2.0. Как только этот порог будет достигнут, валидаторы, которые перевели ETH на цепь 2.0, будут получать прибыль в размере 11 процентов годовых при определенных параметрах*.
*Прибыль будет снижаться тем больше, чем больше ETH будет поставлено в виде доли выше порогового значения. Пороговое значение пока уточняется.
Фаза 0 показала поразительный прогресс в 2019 году. 7 мая команда из Prysmatic Labs выпустила публичный тестнет для «цепи-маяка» на Goerli. Этот клиент позволил пользователям стать валидаторами и отправить 3,2 ETH на тестнет, получив взамен монеты за участие (тоже в эфириумах Goerli).
Фаза 1: базовый шардинг (без EVM)
После имплементации Beacon Chain, Фаза 1 добавит базовую структуру шардинга. Если говорить в общем, эта фаза в сочетании с цепью-маяком значительно улучшит пропускную способность сети и станет важной вехой для масштабируемости Ethereum.
Однако не стоит забывать, что это будет базовая имплементация шардинга, а смарт-контракты в ней отсутствуют. Beacon Chain будет в значительной степени отвечать за обеспечение построения, достоверности и консенсуса данных в шардах посредством выполнения так называемых blobs (binary large objects = бинарных крупных объектов).
В дополнение к этой базовой имплементации, в Фазе 1 будут также введены перекрестные ссылки.
Перекрёстные ссылки позволят записывать и финализировать состояние каждого шарда на Beacon Chain. В конечном счёте перекрёстные ссылки будут служить основой для транзакций между шардами в более поздних фазах. Подробнее об этом чуть позже.
В текущих спецификациях этой имплементации говорится, что цепь-маяк сможет поддерживать 1024 цепи шардов, каждая из которых содержит 128 полных узлов (131 072 узла всего). Таким образом, мы можем предположить, что в Фазе 1 ставкой будет выступать не больше 4,19 миллиона эфириума.
Важно отметить, что данные спецификаций постоянно корректируются по мере проведения дальнейших испытаний и исследований. Некоторые детали и цифры, изложенные в этой статье, могу быть УЖЕ устаревшими, потому что масса разработчиков неустанно трудится, приближая Ethereum к Serenity.
Фаза 2: Шардинг с EVM/EWASM
Фаза 2 — вот когда Ethereum 2.0 заиграет в полную силу. На этом этапе вводятся балансы аккаунтов, исполнение смарт-контрактов и другие абстракции в сети. Самое большое улучшение в Фазе 2 включает интеграцию EWASM (Ethereum Flavored WebAssembly), которая является следующей спецификацией Ethereum Virtual Machine (EVM), основанной на WebAssembly.
EWASM позволит более быстрое исполнение кода и обеспечит улучшенную среду для разработки. Основной пункт привлечения разработчиков в EWASM заключается в написании смарт-контрактов на C, C++, Rust и Go, не говоря уж о доступе к имеющимся инструментам разработки WASM.
Если хотите узнать больше о EWASM, не стесняйтесь проверить Github.
Другое интересное развитие Фазы 2 состоит в «аренде состояния». Эта аренда позволяет сети взимать плату за хранение и требует от пользователей платить EWASM за эту «услугу». Это довольно спорная имплементация, просто нужно учитывать, что её могут внедрить.
Фаза 3 и дальше: легкие клиенты, кроссшардовые транзакции, супер-квадратичный шардинг и тому подобное
К сожалению, всё за Фазой 2 находится в состоянии исключительного прогноза и нет никакой уверенной информации об этих фазах. Но официальный FAQ Ethereum Sharding расписывает Фазы 3-6. Они добавят ряд функций, которые зацементируют Serenity и превратят ее в полностью масштабируемую сеть, которая всегда и предполагалась. Среди имплементаций:
- кроссшардовые транзакции;
- лёгкие клиенты;
- супер-квадратичный шардинг;
- тесные связи.
Если вам интересно — ныряйте в Github. О том, что будет после фазы 3, мы расскажем в отдельной статье.
Кто делает ETH 2.0?
Поскольку на горизонте есть масса возможностей изменить Ethereum, нет никаких сомнений в том, что Ethereum 2.0 делают игроки высшего уровня. Ниже приведём графическое представление команд, которые изучают или разрабатывают клиент для Ethereum 2.0.
И в заключение
Serenity — это технически амбициозный план, который должен привести нас к истинному всемирному компьютеру. Если сообщество сможет реально воплотить задуманную сеть, природа истинно масштабируемой сети смарт-контрактов с довольно разнообразными активами сможет привлечь разработчиков, инвесторов и пользователей.