С обновлением Shanghai/Capella была добавлена возможность вывода средств в сети Beacon (с включением EIP-4895). Это предложение по улучшению Ethereum позволяет автоматически выводить вознаграждения в слой исполнения, а также дает возможность вышедшим валидаторам разблокировать весь свой баланс без необходимости газа.
Чтобы ваш валидатор мог выполнять какой-либо вывод средств, необходимо указать адрес для вывода средств и зарегистрировать свой аккаунт в сети Beacon. Это должен быть подконтрольный вам адрес. Изменить его будет нельзя.
Текущие валидаторы
В зависимости от того, как вы настроите свой первоначальный депозит, ваш аккаунт может сразу быть или не быть готовым к снятию средств:
Командная строка для депозитов при стейкинге: если вы использовали флаг --eth1_withdrawal_address при генерации ваших ключей, у вас все готово.
Графический интерфейс Wagyu Key Gen: если при генерации своих ключей вы предоставили адрес для снятия средств, у вас все отлично (проверить это можно в расширенном режиме).
Введите индекс своего валидатора здесь, чтобы проверить, готов ли ваш аккаунт к выводу средств:
Если у вашего аккаунта-валидатора все еще используются учетные данные для снятия средств BLS (0x00), необходимо опубликовать однократное сообщение, сигнализирующее о том, какой аккаунт слоя исполнения следует использовать для всех снятий средств.
0x00 = "Type 0" = Ключи BLS = Старые учетные данные для вывода средств: Нет прав на снятие средств
0x01 = "Type 1" = Ключи слоя исполнения = Новые учетные данные для вывода средств: Снятие средств активировано
Обратите внимание: учетные данные для снятия средств — не то же самое, что получатель комиссии с получением комиссий за транзакцию от предложенных блоков. В обоих случаях для настройки можно использовать один и тот же адрес, но саму настройку нужно выполнять отдельно.
Инструменты, доступные для генерирования сообщения о смене ключа
Эти инструменты помогут вам сгенерировать необходимые ключи и сообщение, которое нужно подписать. Подписанные сообщения можно будет публиковать для включения в блоки, начиная с обновления Shanghai/Capella.
Для этого необходимо использовать мнемоническую кодовую фразу, выполняя действие на изолированном компьютере (вне сети).
Очередь замены BLS на исполнение (BTEC)
Одна из очередей, о которых стоит упомянуть, — очередь, ограничивающая количество адресов для снятия средств BLS (0x00), которые можно обновить до адресов слоя исполнения (0x01) во время определенного блока.If more than 16 requests are being made at one time, a queue will be formed and these will be processed in subsequent blocks. Once completed, your validator is permanently enabled for withdrawals, and will be eligible for payouts during the next sweep.
снятие излишка на балансе обрабатывается, когда у активного валидатора имеется максимальный эффективный баланс 32, а общий баланс превышает 32. Отдельный валидатор не может получать вознаграждения с превышением баланса 32 ETH, поэтому у таких аккаунтов излишек баланса будет автоматически выводиться на связанный адрес Ethereum.Это также называют «частичным снятием средств» или «выплатами вознаграждений», так как оставшиеся 32 ETH остаются заблокированными и использованными в стейкинге.
📝Запросить вывод определенного количества ETH вручную невозможно
полное снятие средств обрабатывается для всех неактивированных валидаторов, которые более не считаются участниками стейкинга и полностью выполнили выход с прекращением своих обязанностей по утверждению. Следовательно, для полного снятия средств на балансе валидатору необходимо сначала выполнить процесс выхода.
Чтобы выйти из стейкинга и полностью снять средства в размере всего оставшегося баланса, вам необходимо выполнить два действия:
Убедитесь, что обновили свои учетные данные для снятия средств, добавив адрес для снятия на уровне исполнения
Заявите о своем намерении забрать ставку, подписав и опубликовав в сети сообщение о добровольном выходе с помощью своих ключей валидатора и клиента валидатора.
Выполнив первый шаг, вы позволите выводить средства с вашего аккаунта-валидатора. Это автоматически запустит обработку выплат по излишнему балансу (частичное снятие средств), но не приведет к автоматической разблокировке остальной части ваших средств и не инициирует выход из сети.Желающим вывести свои валидаторы из стейкинга и снять свои ETH следует ознакомиться с руководством ниже, соответствующим их конфигурации:Консенсус-клиенты:
Чтобы сделать аккаунт доступным для полного снятия средств, сначала необходимо выполнить выход для этого аккаунта-валидатора. Выход аакаунтов-валидаторов из стейкинга можно выполнять двумя основными способами: добровольно или принудительно.
Любой желающий прекратить свои обязательства по стейкингу может подписать сообщение о «добровольном выходе», которое будет опубликовано в сети Beacon, чтобы начать процесс. Этот шаг выполняется вручную.
Аккаунты, прошедшие слэширование или имеющие недостаточный баланс, будут подвергнуты выходу принудительно в соответствии с правилами сети. Все происходит автоматически, остановить запущенный процесс нельзя.
Любой выход (независимо от того, был ли он добровольным) необходимо обрабатывать с помощью очереди на выход. Это происходит не мгновенно и зависит от того, сколько других аккаунтов выходят в то же время.
📝Валидаторам будет необходимо продолжать выполнение своих обязанностей по утверждению, пока они не выйдут
После выхода валидатора и снятия всего его баланса любые дополнительные средства, размещенные на этом валидаторе, будут автоматически переводиться на адрес для снятия средств во время следующего перебора валидаторов. Чтобы поставить ETH повторно, потребуется активировать новый валидатор.
Раньше у пользователей Ethereum транзакции выполнялись вручную. Если вам нужно было перевести средства, требовалось подписать транзакцию и заплатить газ.EIP-4895 (название: Цепь Beacon выполняет снятие средств в качестве операций) реализует дизайн, упрощающий весь процесс для стейкеров.Вместо нового типа транзакции, используемого для запроса снятия средств стейкерами вручную, аккаунты автоматически проверяются на наличие подходящего излишка на балансе каждые несколько дней. Все валидаторы проверяются в рамках бесконечного цикла, а все доступные вознаграждения или средства вышедших аккаунтов автоматически отправляются на предоставленный аккаунт для снятия.
Очередь на снятие заполняется автоматически и обрабатывается предлагающими блоки, которые автоматически проверяют наличие доступных выплат с помощью механизма перебора.В бесконечном цикле каждый аккаунт валидатора постоянно оценивается на предмет соответствующего права на снятие ETH (их два типа, подробнее о них ниже). Валидаторы обрабатываются в порядке по индексу, первоначально начиная с 0, а каждый последующий предлагающий продолжает с того места, где остановился предыдущий.Когда валидатор по плану должен предложить следующий блок, он выполняет перебор аккаунтов-валидаторов, пытаясь найти подходящие для снятия средств. Во время перебора валидатор проверяет до 16 384 аккаунтов, пытаясь найти 16 подходящих для обработки и перевода в следующий блок.Подобно стрелке часов, этот процесс двигается в одном направлении. Когда достигается последний валидатор, перебор начинается заново от начала. При достижении каждого валидатора оценивается возможность снятия средств с этого аккаунта.
📝Обратите внимание: очереди на снятие средств и замену BLS на исполнение отдельные, они не пересекаются. В каждой из них есть ограничения на основе блоков.
Как известно каждому, кто уже прошел через процедуру активации валидатора, она не является автоматической, особенно если есть множество других пользователей, пытающихся присоединиться в то же время. Причина заключается в том, что слой консенсуса использует очередь на активацию, чтобы ограничить скорость, с которой новые аккаунты-валидаторы смогут присоединиться к сети.И аналогично: есть очередь на выход (очередь на выход), ограничивающая скорость, с которой валидаторы могут выйти из сети. Это сделано в целях безопасности. Учитывая, что каждый валидатор ограничен максимальным эффективным балансом 32 ETH, большое количество ETH не сможет быть использовано при атаке и быстро выведено из сети за один раз.Количество валидаторов, которые можно активировать или которыми можно выйти за одну эпоху (6,4 минуты), определяется количеством активных валидаторов в сети на данный момент.За одну эпоху разрешается выход четырех (4) валидаторов, а при общем количестве валидаторов свыше 327 680 за каждые 65 536 активных валидаторов добавляется еще один (1) валидатор. По состоянию на февраль 2023 г. максимальное количество: семь (7). Оно вырастет до восьми (8), если и когда число валидаторов достигнет 524 288.
📝Обратите внимание: очереди на активацию и выход отдельные, они не пересекаются. В каждой из них есть ограничение на основе эпохи.
Эпоха выхода и эпоха снятия средств
Сразу после публикации подписанного сообщения о добровольном выходе значения эпоха выхода и эпоха с возможностью снятия средств будут рассчитаны на основе текущего количества эпох. Эти значения определят точное время, когда валидатор будет не нужен в сети для выполнения валидации и, следовательно, получит возможность полного снятия средств.Эпоха выхода — эпоха, во время которой ваш валидатор более не активен, зарабатывать вознаграждения более нельзя, а правила слэширования не действуют.Эта эпоха определяется первой доступной эпохой, которая еще не достигла максимального значения с другими существующими валидаторами (ограничение скорости зависит от общего количества валидаторов в сети). После инициирования выхода должно пройти не менее четырех (4) эпох.Вплоть до этой эпохи (при нахождении в очереди) ваш валидатор должен быть в сети и подчиняться тем же правилам слэширования, что и обычно. Не отключайте свой валидатор до достижения этой эпохи.Эпоха с возможностью снятия средств — это эпоха, в течение которой средства вашего валидатора могут быть полностью сняты во время следующего перебора валидаторов.Это происходит через 256 эпох после эпохи выхода, что занимает примерно 27,3 часа.Сводка об очереди на выходПосле опубликования подписанного сообщения о добровольном выходе требуется:
Не менее Около 25 минут (четыре эпохи) от текущей эпохи до достижения эпохи выхода (при отсутствии других в очереди, может сильно меняться)
Затем еще Около 27 часов (256 эпох) перед тем, как эти средства будут помечены как подходящие для снятия
Затем до еще несколько дней для следующего перебора валидаторов, чтобы выполнить полный вывод (предполагается тип учетных данных для вывода 0x01)
This timing of this last step is variable depending on validator index, current sweep position, and number of validators. Подробнее о частоте выплат ниже.
Обратите внимание: когда у пользователя появятся учетные данные для снятия средств типа 0x01 и будет опубликовано сообщение о добровольном выходе, до завершения обработки не потребуется никаких дополнительных действий.
Дерево решений используется, чтобы определить, какой тип снятия будет инициирован. Если у проверяемого валидатора есть ETH, которые можно снять, он добавляется в очередь на снятие. В противном случае этот аккаунт пропускается.
Предоставлен ли адрес для вывода средств?
Если это так, перейдите к следующему вопросу
Если нет, остановитесь. Снятие средств не будет обрабатываться, а аккаунт будет пропущен.
Выполнил ли валидатор процесс выхода?
Если это так, остановитесь. Полное снятие средств обрабатывается в отношении всего оставшегося баланса.
Если нет, перейдите к следующему вопросу
Ограничен ли эффективный баланс максимальным значением 32?
Если это так, обрабатывается снятие излишка на балансе
Если нет, снятие средств не будет обрабатываться, а аккаунт будет пропущен
Затем создатель блока проверяет следующего валидатора в линии и еще раз определяет, нужно ли обработать снятие средств. Этот процесс повторяется до тех пор, пока не будет найдено 16 подходящих снятий средств или не будет проверено 16 384 валидатора (в зависимости от того, что произойдет быстрее). В этот момент очередь на снятие будет отправлена в слой исполнения, чтобы ее включили в конце следующего блока.
Время, которое занимает проверка каждого аккаунта во время цикла, зависит от следующего:
Установленные ограничения для очереди на снятие (могут измениться при тестировании до обновления Shanghai)
Max withdrawals per payload: 16 (24) Максимальное количество снятий, которые можно обработать в одном блоке
Max validators per withdrawals sweep: 16,384 (214) Максимальное количество аккаунтов, которые можно проверить в блоке. Происходит остановка, когда обнаруживается 16 снятий. Если после проверки первых 16 384 аккаунтов не будет обнаружено 16 подходящих вознаграждений, очередь на снятие этого блока будет отправлена как есть, а следующий предлагающий продолжит с того места, где процесс остановился.
Общее количество аккаунтов-валидаторов (количество индексов, каждый когда-либо зарегистрированный аккаунт-валидатор, со временем только увеличивается)
Общее количество аккаунтов-валидаторов, имеющих право на снятие средств (переменная)
Аккаунты без обновленных учетных данных для снятия средств будут пропущены
Аккаунты, с которых полностью сняты средства и баланс которых равен нулю, будут пропущены
Активные аккаунты с эффективным или общим балансом менее 32 будут пропускаться
Количество пустых ячеек (пропущенные возможности блоков, переменные, обычно на минимуме)
Время ячейки слоя консенсуса: 12 секунд (изменения не планируются)
Эту информацию можно обобщить, чтобы оценить верхнее ограничение времени на выполнение полного перебора в зависимости от количества выводов, которые нужно обработать: