Ethereum — платформа для создания децентрализованных приложений (Dapps). Эта технология позволяет участникам сети взаимодействовать друг с другом без посредников и доверять результатам своих сделок. Однако, как и у любой инновационной системы, у Эфира есть свои проблемы и вызовы, которые требуют постоянного развития и улучшения. В этой статье мы рассмотрим один из последних и самых значимых апгрейдов протокола Ethereum — Shanghai. Мы узнаем, что он включает в себя, как он повлиял на работу блокчейна и его пользователей, а также какие перспективы открывает для экосистемы Эфириума.

Что входит в апдейт Shanghai сети Эфира

Shanghai — это обновление кода Эфириума, запущенное 12 апреля 2023 года. Оно является завершающим этапом перехода Эфириума от механизма консенсуса PoW к PoS. Это сделает сеть второй криптовалюты более быстрой, экологичной, эффективной и безопасной. Кроме завершения перехода на PoS, Shanghai также включает четыре других предложения по улучшению Ethereum (EIPs), касающиеся высоких комиссий за газ, ограниченного размера смарт-контрактов, медленной обработки транзакций и общей производительности сети.

1. Обзор EIP-4895: суть и последствия

Это главное изменение Shanghai, которого все очень долго ждали. Оно позволяет валидаторам снимать свои стейкинговые награды из сети Beacon Chain. Напомним, сеть Beacon Chain была активирована в 2020 году в рамках начала плавного перехода Эфириума на PoS. В 2022 году произошло «слияние» Beacon Chain и основной сети Ethereum1, в результате чего мы получили нынешнюю Ethereum 2. Однако в 2022 году переход не был завершен до конца, так как валидаторы хотя и могли получать ETH за стейкинг, но при этом эти ETH не могли быть сняты или переведены.

Так вот, EIP-4895 ввел новый тип операции на уровне выполнения — «снятие», которая снимает ограничение на вывод стейкинговых токенов, до этого заблокированных на счетах валидаторов, и токенов, которые были получены как награда за стейкинг. Правда, вывести эти средства можно не все сразу. Вывод доступен только двумя способами: 

  • быстрый вывод, но лишь тех токенов, которые были выданы в качестве вознаграждения за стейкинг. Например, если у узла на балансе стейкингового смарт-контракта заблокировано 45 ETH (32 из них — минимальный депозит для запуска стейкинга эфира), он сможет моментально вывести только 13 ETH.
  • поэтапный вывод всех стейкинговых токенов. Например, если на балансе узла-валидатора есть 45 ETH, то он сможет забрать все 45 ETH.

2. Обзор EIP-3651: суть и последствия

EIP-3651, также известный как WARM Coinbase, вносит изменения в способ начисления комиссии за использование адреса COINBASE в Ethereum. В частности, данное улучшение меняет COINBASE с холодного адреса на горячий. Это позволит снизить стоимость доступа к COINBASE и сделать его более доступным для валидаторов и разработчиков, которые используют ресурсы экосистемы одной из крупнейших бирж в мире — Coinbase.

3. Обзор EIP-3855: суть и последствия

EIP-3855 вносит несколько изменений в работу сети Ethereum.

  • Сокращение размера кода смарт-контрактов путем замены инструкции PUSH1 на более короткую и дешевую инструкцию PUSH0 в виртуальной машине Ethereum (EVM).  Это экономит газ при развертывании и выполнении смарт-контрактов.
  • Снижение риска неправильного использования различных инструкций в качестве меры оптимизации. Например, некоторые контракты используют такие инструкции, как RETURNDATASIZE или CALLVALUE, чтобы поместить нуль в стек, но эти инструкции могут иметь разные значения в зависимости от контекста. EIP-3855 предоставляет надежный и простой способ помещения нуля в стек.
  • Уменьшение необходимости использовать инструкции DUP для дублирования нулей. Это также экономит газ и упрощает код контракта.

4. Обзор EIP-3860: суть и последствия

EIP-3860 предлагает изменения в максимальном размере initcode в Ethereum, а также введение платы за газ за каждый 32-байтовый фрагмент initcode. Initcode — это код, который выполняется при создании нового смарт-контракта, и текущее максимальное значение для initcode было установлено в 24576 байт в EIP-170. EIP-3860 увеличивает максимальное значение initcode до 49152 байт, что в два раза больше текущего максимального размера.

Введение EIP-3860 в сети Эфириума даст несколько преимуществ:

  • Увеличит максимальный размер смарт-контрактов, позволяя разработчикам создавать более сложные и функциональные децентрализованные приложения на блокчейне.
  • Снизит затраты на газ и память при развертывании и выполнении смарт-контрактов, которые используют initcode, или как-то связаны с его инициализацией.
  • Минимизирует риски изменения поведения или отмены некоторых предложений EVM из-за отсутствия ограничения на размер initcode.
  • Упростит дизайн и реализацию движков EVM, устанавливая явные ограничения на размер и стоимость initcode.

5. Обзор EIP-6049: суть и последствия

EIP-6049 предлагает отказаться от использования опкода SELFDESTRUCT в Ethereum и заменить его новым опкодом под названием halt. Опкод SELFDESTRUCT позволяет смарт- контракту уничтожить себя и вернуть оставшиеся средства указанному получателю. Однако у него есть несколько проблем, которые делают сомнительным его применения в некоторых сценариях использования децентрализованных приложений EVM.

Одна из основных проблем опкода SELFDESTRUCT заключается в том, что его может вызвать кто угодно, а не только владелец смарт-контракта. Это может привести к ситуациям, когда злоумышленник может уничтожить контракт и заставить владельца потерять все свои средства. Кроме того, SELFDESTRUCT имеет неограниченную стоимость, а это означает, что он может быть использован для потребления большого количества газа и создания DDoS-атак (отказа в обслуживании) на смарт-контракты децентрализованных приложений.

Предлагаемый опкод halt предназначен для решения этих проблем, поскольку он предоставляет более безопасный и контролируемый способ для самоуничтожения смарт-контрактов. В отличие от SELFDESTRUCT опкод halt может быть вызван исключительно владельцем смарт-контракта и имеет фиксированную стоимость газа. Это снизит возможные риски злоупотребления функцией самоуничтожения и DDoS-атак, а также обеспечит разработчикам больший контроль над своими смарт-контрактами и снизит риск атак, которые могут причинить широкомасштабный ущерб сети Ethereum.

Правда, здесь нужно помнить, что EIP-6049 — это всего лишь предупреждение об устаревании опкода SELFDESTRUCT. Семантика SELFDESTRUCT изменится при будущих обновлениях сети, но поведение кода операции остается неизменным в Shanghai.

Как обновление Shanghai повлияло на цену ETH

До запуска Shanghai многие эксперты и аналитики опасались, что возможность вывода стейкинговых эфиров и награды из сети Beacon Chain может вызвать распродажу эфира и, следовательно, обрушение его стоимости. Согласно анализу Cointelegraph, сейчас на счетах валидаторов находится более 17,5 млн стейкинговых ETH (около 31,9 млрд долл), и если хотя бы половина их была бы конвертирована в другую криптовалюту или фиат, то это могло бы обрушить стоимость второй криптовалюты с 1880 до 1250 долл за 1 ETH.

Влияние Shanghai на ETH
Как изменилась стоимость эфира после обновления Shanghai. Источник — tradingview

Но, как показывает график курса ETH/USD, этого не произошло. После запуска Shanghai стоимость эфира сначала выросла с 1880 до 2100 долл, а затем вернулась на прежние уровни. При этом курс двигался в рамках общего тренда — рынок отыграл это событие и вернулся в норму.

Влияние Shanghai на ETH, BTC и BNB
Динамика изменения курса ETH в сравнении с курсом BTC и BNB. Источник — tradingview

Как обновление Shanghai повлияло на работу сети Эфириума

Количество валидаторов. Еще одно опасение, которые высказывали некоторые эксперты в связи с запуском Shanghai, — это возможное уменьшение количества валидаторов. Но и оно не сбылось. Данные BeaconScan показывают, что после обновления количество валидаторов, наоборот, всего за месяц выросло с 567 до 674 тысяч (+18,8%).

Влияние Shanghai на количество валидаторов ETH
Как изменилось количество валидаторов Эфира после запуска Shanghai. Источник — BeaconScan

Монеты, заблокированные в стейкинге. Общая сумма стейкинговых монет Эфириума также выросла: с 17,5 млн ETH в апреле до 20,1 млн ETH в марте. Падение было, но очень короткое и незначительное. 

Влияние Shanghai на стейкинг ETH
Статистика по стейкингу эфира. Фиолетовым – общая сумма заблокированных монет эфира в стейкинге, голубым — поступления на стейкинговые смарт-контракты, синим — вывод средств со стейкинговых депозитов, желтым — вывод наград за стейкинг. Источник — Nansen

Размер сетевых комиссий. Предполагалось, что после запуска Shanghai размер сетевых комиссий в сети Эфириума снизится. Но пока мы наблюдаем обратное. Средний размер комиссий сразу после запуска обновления подскочил с 5,65 до 14 долларов. После чего была непродолжительная коррекция до 9 долл и очередной рост до текущих 15 долл. Причем это не связано с ростом количества транзакций в сети, так как здесь все стабильно (1 млн).

Влияние Shanghai на комиссии ETH
Как изменился размер комиссий в сети Эфириума после запуска Shanghai. Источник — Coin Metrics

Вероятно, это связано с ростом цены Эфира, так как размер комиссий в сети Биткоина за это время также вырос, хотя его блокчейн никак не обновлялся. 

Комисии BTC
Размер комиссий в сети Биткоина в феврале-марте 2023 года. Источник — Coin Metrics 

Как Shanghai повлияет на Эфир в будущем

Shanghai является важным шагом для развития сети Ethereum и ее перехода к более эффективной и устойчивой модели консенсуса. Кроме этого, это обновление должно улучшить масштабируемость, функциональность и безопасность блокчейна, что также окажет положительное влияние на будущее второй криптовалюты. Но это лишь теория, как все будет на практике, мы узнаем лишь спустя несколько месяцев, когда все изменения будут протестированы и опробованы пользователями и разработчиками Эфириума.