Skip to main content

Подгружаем

Разработчики Ethereum успешно ввели обновления Constantinople и St. Petersburg

Split

Хардфорк, который привнес обновления, состоялся на блоке 7 280 000, 28 февраля, в 22:57 по московскому времени. Обновление имеет две составляющих Constantinople и St. Petersburg. Обновление Constantinople неоднократно переносилось из-за обнаруженных брешей в коде, в итоге разработчики решили на одном блоке ввести Constantinople и дополнения, которые после введения Constantinople закроют обнаруженные бреши — это и есть обновление под названием St. Petersburg.

Спустя четыре дня после хардфорка можно смело утверждать, что сеть работает стабильно и нет оснований для отката сети или каких-либо срочных обновлений, скептические настроения многих пользователей и майнеров не оправдались. Основные изменения кратко:

  • Уменьшена награда майнеров с 3-х ETH до 2-х ETH.
  • Увеличена производительность сети.
  • Снижен GAS — комиссия, которая применятся для проведения транзакции и оплаты работы майнеров.

Изменения, внесенные в данном обновлении, основываются на Ethereum Improvement Proposals (EIPs, предложения по усовершенствованию Ethereum), которые описывают стандарты для платформы Ethereum, включая спецификации основных протоколов, клиентские API и стандарты контрактов. Что привнес Constantinople:

  • EIP 145: Bitwise shifting instructions in EVM — инструкции побитового сдвига в EVM (Ethereum Virtual Machine), которая обеспечивает собственное побитовое смещение, что по стоимости наравне с другими арифметическими операциями, реализация иными методами стоила бы дороже. До внедрения Constantinople в EVM отсутствовали операторы побитового сдвига, но поддерживались другие логические и арифметические операторы. Операции сдвига могли быть реализованы с помощью арифметических операторов, но это имело более высокую стоимость и требовало больше времени для обработки. Реализация SHL и SHR (операции циклического сдвига) с использованием арифметики обходится в 35, в то время как в инструкциях обновления Constantinople используется 3 GAS. В итоге добавлена нативная функциональность к протоколу, в результате чего становится дешевле и проще делать различные операции в сети.
  • EIP 1014: Skinny CREATE2- добавляет новый код операции в 0xf5, который принимает 4 аргумента стека: endowment, memory_start, memory_length, salt. Ведет себя аналогично CREATE, отличие в том, как используется keccak256. Данный EIP позволяет взаимодействовать с адресами, которые еще не созданы.
  • EIP 1052: EXTCODEHASH opcode — добавляет код операции EXTCODEHASH. До обновления Constantinople контракты могли проверять байт код с помощью операции EXTCODECOPY, что выходило дорого, особенно для крупных контрактов, когда требуется только хеш. EXTCODEHASH возвращает хеш-код keccak256 байт-кода контракта, в результате чего становится дешевле и проще делать различные операции в сети.
  • EIP 1234: Constantinople Difficulty Bomb Delay and Block Reward Adjustment — задержка бомбы сложности на 12 месяцев и снижение вознаграждения за блок с 3-х ETH до 2-х ETH.
  • Обновление St. Petersburg удалило EIP 1283: Net gas metering for SSTORE without dirty maps.