Блог EF

Верхнее фоновое изображение ETH
Нижнее фоновое изображение ETH
Перейти к содержанию

Эта публикация доступна на 16 языках:

Pусский

Объявление о слиянии основной сети

Автор и дата публикации: Protocol Support Team, 24 августа 2022 г.

Объявление о слиянии основной сети
  • Ethereum движется к доказательству владения! Переход, известный как слияние, сначала потребуется активировать в сети Beacon с помощью апгрейда Bellatrix. После этого цепочка с доказательством работы перейдет на доказательство владения до достижения определенной Total Difficulty.
  • Апгрейд Bellatrix назначен на эпоху 144896 сети Beacon и должен пройти 11:34:47 (UTC) 6 сентября 2022 года.
  • Значение Terminal Total Difficulty, вызывающее слияние (58750000000000000000000), ожидается в период с 10 по 20 сентября 2022 года.
  • Примечание. Как сообщалось ранее, тестовая сеть Kiln прекращает работу. Закрытие операторов намечено на 6 сентября 2022 года.

Контекст

Наконец, спустя годы усердной работы, апгрейд Ethereum с переходом на доказательство владения стал доступным! Успешное обновление всех общедоступных тестовых сетей завершено, и для основной сети Ethereum запланировано слияние.

Две особенности принципиально отличают это слияние от предыдущих апгрейдов сети. Во-первых, операторам узлов необходимо обновить оба клиента, слоя консенсуса (CL) и исполнения (EL), а не один из них. Во-вторых, апгрейд активируется в два этапа: первый, Bellatrix, на высоте эпохи в сети Beacon, а второй, Paris, — при достижении значения Total Difficulty в слое исполнения.

Информация об апгрейде

Сроки

Процесс слияния будет состоять из двух этапов. Первый шаг — это апгрейд сети Bellatrix в слое консенсуса, который запускается высотой эпохи. За этим следует переход слоя исполнения от доказательства работы к доказательству владения — Paris. Он запускается определенным пороговым значением Total Difficulty под названием Terminal Total Difficulty (TTD).

Апгрейд Bellatrix назначен на эпоху 144896 сети Beacon и должен пройти 11:34:47 (UTC) 6 сентября 2022 года.

Paris — это часть перехода в слое исполнения, которая будет запущена при достижении значения Terminal Total Difficulty (TTD) 58750000000000000000000, что ожидается в период с 10 по 20 сентября 2022. Точная дата достижения значения TTD зависит от скорости хеширования доказательства работы. Оценки для перехода можно найти на страницах bordel.wtf и 797.io/themerge.

Как только слой исполнения достигнет значения TTD или превысит его, следующий блок будет создан валидатором сети Beacon. Переход к слиянию будет считаться оконченным, как только сеть Beacon завершит создание этого блока. При нормальных условиях работы сети это произойдет в течение 2 эпох (или примерно через 13 минут) после создания первого блока по достижении TTD!

Новый finalized тег блока JSON-RPC возвращает последний оконченный блок или ошибку, если такого блока после слияния не существует. Этот тег может использоваться приложениями, чтобы проверять завершенность слияния. Подобным образом умные контракты могут запрашивать опкод DIFFICULTY (0x44) (который после слияния получит имя PREVRANDAO), чтобы определить, произошло ли слияние. Рекомендуем поставщикам инфраструктуры следить не только за завершением процесса, но и за общей стабильностью сети.

Выпуски клиентов

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

При выборе клиента для запуска валидаторы должны уделять особое внимание рискам запуска большинства клиентов в обоих слоях, EL и CL. Объяснение этих рисков и их последствий можно найти здесь. С оценкой текущего распространения клиентов EL и CL, а также руководством для перехода от одного клиента к другому можно ознакомиться здесь.

Слой консенсуса

НазваниеВерсияСсылка
Lighthousev3.1.0Скачать
Lodestarv1.0.0Скачать
Nimbusv22.9.0Скачать
Prysmv3.1.0Скачать
Teku22.9.0Скачать

Слой исполнения

НазваниеВерсияСсылка
Besu22.7.2Скачать
Erigonv2022.09.01-alphaСкачать
go-ethereum (geth)v1.10.23Скачать
Nethermindv1.14.1Скачать

Предупреждение! Версия geth v1.10.22 содержит критическую ошибку базы данных. Не используйте эту версию. Если вы уже завершили апгрейд, перейдите на версию 1.10.23 как можно скорее.

Спецификации апгрейда

Критические изменения консенсуса для слияния указаны в двух местах.

  • Слой консенсуса изменяется в каталоге Bellatrix репозитория спецификаций консенсуса.
  • Слой исполнения изменяется в спецификации Paris в репозитории спецификаций исполнения.

Кроме того, две другие спецификации охватывают способы взаимодействия клиентов слоя консенсуса и слоя исполнения.

  • Интерфейс Engine API, указанный в репозитории execution-apis, используется для коммуникации между слоями консенсуса и исполнения.
  • Спецификация Optimistic Sync, указанная в папке sync репозитория consensus-specs, используется слоем консенсуса для импорта блоков по мере синхронизации клиента слоя исполнения и обеспечивает частичный обзор головы цепочки от первого до последнего значения.

Награда за обнаружение ошибок слияния

Все связанные со слиянием награды за уязвимости увеличены в 4 раза в период с настоящего момента до 8 сентября. Критические ошибки теперь стоят до 1 млн долларов США.

Дополнительные сведения см. в программе вознаграждения за обнаружение ошибок.

Часто задаваемые вопросы

Что нужно делать оператору узла?

После слияния полный узел Ethereum объединяет в себе клиент слоя консенсуса (CL), запущенный по модели доказательства владения в сети Beacon, и клиент слоя исполнения (EL), который управляет пользовательским состоянием и запускает вычисления, связанные с транзакциями. Слаженность работы клиентов EL и CL достигается с помощью аутентифицированного порта и нового набора методов удаленного вызова процедур (RPC) JSON под названием API движка. Клиенты EL и CL аутентифицируют друг друга с помощью секретного ключа JWT. Операторы узлов смогут найти инструкции по созданию и настройке этого значения в документации своих клиентов.

Иными словами, если вы уже управляете узлом в сети Beacon, теперь вам также нужно будет управлять клиентом слоя исполнения. Аналогично: если вы управляете узлом в текущей сети с доказательством работы, вам будет необходимо управлять клиентом слоя консенсуса. Для их безопасной связи необходимо передать на каждый клиент токен JWT. В обновлении раздела «Запуск узла» на сайте ethereum.org эти шаги описаны подробнее.

Стоит подчеркнуть: они оба являются частью выпусков клиентов слоя консенсуса, но запуск узла Beacon отличается от запуска клиента валидатора. Дольщики должны запускать оба узла, но операторам нужен только первый. В этой публикации более подробно объясняется разница между обоими компонентами.

Обратите также внимание, что каждый слой будет содержать независимый набор пиров и собственный программный интерфейс API. Поэтому программные интерфейсы API Beacon и удаленного вызова процедур (RPC) JSON продолжат работать так, как ожидается.

Что нужно делать дольщику?

Как уже говорилось выше, после слияния валидаторам сети Beacon необходимо будет запустить клиент слоя исполнения, помимо клиентов слоя консенсуса. Это настоятельно рекомендовалось сделать до слияния, но некоторые валидаторы передали эти обязанности третьим сторонам. Это было возможно, потому что единственными данными, необходимыми для слоя исполнения, были обновления депозитного контракта.

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

Вознаграждение для валидатора все еще начисляется в сети Beacon и для снятия потребует последующего апгрейда сети, но комиссии за транзакции будут выплачиваться, сгорать и распределяться в слое исполнения. Валидаторы могут указывать любой адрес Ethereum в качестве получателя комиссий за транзакции.

После обновления клиента консенсуса в настройках обязательно установите fee recipient частью конфигурации клиента валидатора, чтобы убедиться, что комиссия за транзакцию отправляется на адрес, которым вы управляете. Если вы внесли свою долю с помощью третьей стороны, именно она должна указать способ распределения комиссий.

Панель запуска стейкинга содержит контрольный список для проверки готовности к слиянию, с помощью которого дольщики могут убедиться в прохождении каждого этапа процесса. Команда EthStaker также проводила семинары по подготовке валидаторов и уже планирует новые.

Дольщики, желающие запустить валидатор в тестовой сети для подготовки к переходу основной сети на доказательство владения, могут это сделать в Goerli (теперь в слиянии с Prater), где также имеется узел панели запуска стейкинга.

Почему прогнозируемая дата достижения Terminal Total Difficulty не называется точно?

Возрастающая сложность, добавляемая с каждым блоком, зависит от скорости хеширования сети, которая меняется. Если в сети повысится скорость хеширования, TTD удастся достичь раньше. И аналогично: если в сети снизится скорость хеширования, значение TTD будет достигнуто позже. При значительном снижении уровней скорости хеширования TTD Override может быть согласована как выполненная в Ropsten.

Что требуется от меня как разработчика приложений или инструментов?

Как говорилось в предыдущей публикации, слияние окажет лишь минимальное воздействие на подмножество контрактов, развернутых в Ethereum, и ни один из них не должен быть нарушен. Кроме того, львиная доля пользовательских конечных точек программного интерфейса API остается стабильной (если вы не используете особые методы доказательства работы, такие как eth_getWork).

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

Кроме того, обратите внимание, что все тестовые сети, помимо Sepolia и Goerli, устареют после слияния. Пользователям Ropsten, Rinkeby или Kiln следует рассмотреть переход на Goerli или Sepolia. Больше об этом можно узнать здесь.

Требуется ли что-нибудь от пользователей Ethereum или владельцев эфира?

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

Нужно ли что-нибудь делать мне как майнеру?

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

Что будет, если я как майнер или оператор узла не буду участвовать в апгрейде?

Если вы используете клиент Ethereum, не обновленный до последней версии (указанной выше), после апгрейда ваш клиент будет синхронизироваться с блокчейном до разветвления.

Вы застрянете на несовместимой цепи, следующей старым правилам, и не сможете отправлять эфир либо работать в сети Ethereum после слияния.

Могу ли я как валидатор снять свою долю?

Нет. Слияние — самый сложный апгрейд среды Ethereum за все время ее существования. Чтобы свести к минимуму риски нарушения работы сети, был принят минимальный подход, исключающий во время данного апгрейда любые изменения, не связанные с переходом.

Снятие доли из сети Beacon, вероятно, будет введено с первым обновлением после слияния. Спецификации для слоев консенсуса и исполнения находятся в процессе разработки.

У меня есть еще вопросы. К кому с ними обратиться?

Присоединяйтесь к разработчикам команды клиентов, членам ETHStaker, исследователям и другим участникам следующего звонка сообщества по слиянию в пятницу, 9 сентября, в 14:00 (UTC)!

Спасибо

Переход Ethereum на доказательство владения назрел оооочень давно. Спасибо всем, кто участвовал в исследованиях, спецификациях, разработке, анализе, тестировании, критических испытаниях, исправлении и объяснении всего, что привело нас к слиянию.

За все годы было слишком много соавторов, чтобы вместить всех здесь, но вы знаете, насколько вы важны. Без участия всех вас у нас бы не вышло создать это колоссальное творение.

Когда произойдет слияние? Очень 🔜.


Спасибо Джозефу Швейцеру и Томо Сайто за обложку к этой публикации!

Эта публикация переведена с английского языка. Ввиду этого она может быть не совсем точной или актуальной. Оригинальную версию можно найти здесь: Английский.

Подписаться на объявления о протоколе

Подпишитесь на получение уведомлений по электронной почте, связанных с протоколом, таких как обновления сети, часто задаваемые вопросы или проблемы безопасности. Вы можете отказаться от них в любое время.


Категории