Установка и настройка MEV-boost для валидатора Ethereum

mev boost linux intallВ нашем прошлом материале "Что такое MEV-boost в майнинге", мы уже рассказали для чего нужен MEV-boost майнерам. В этот раз мы подробнее разберем, как установить это дополнительное программное обеспечение на свой сервер с установленным валидатором криптовалюты Ethereum. Что позволит Вам увеличить доход от POS майнинга ETH в среднем на 15% за счет получения более высокого вознаграждения при нахождении блоков.

В качестве примера мы будем рассматривать установку ПО MEV-boost от компании Flashbots. GitHub депозитарий для скачивания последней версии MEV-boost находится по этой ссылке. На текущий момент 1.6 это последняя версия MEV-boost от Flashbots, которая, кстати говоря, обновляется не более пару раз в год. 

Перед установкой MEV расширения для своего валидатора ETH, необходимо установить сам валидатор. Хорошая инструкция по установке ETH ноды можно найти на Medium за авторством Sumer Esat. В приведенном примере рассматривается установка валидатора самого популярного варианта на операционную систему Linux, где в качестве консенсус слоя используется Pryzm, а в качестве слоя исполнения - GETH.  

Для MEV-boost не имеет значения какое программное обеспечение вы используете для POS майнинга ETH, т.к. оно работает независимо. Главное что бы сам валидатор и  консенсус клиент поддерживали работу с MEV-boost.

Стоит отметить, что Ethereum сообщество очень пристально следит за популярностью того или иного клиента для POS майнинга, и стремиться к более равномерному распределению различных вариантов ПО для работы. Т.е. стараются не допустить, что бы какая то одна версия программы валидатора была установлена на более чем 50% всех серверов в сети. Такая предосторожность нужна для предотвращения падения всей сети если популярная программа PRYZM и GETH, не сможет обрабатывать транзакции из-за внутренней ошибки, которую разработчики могут допустить по ошибке или даже специально.  

Установка MEV-boost

Как мы уже сказали в данном руководстве рассматривается установка на операционную систему Linux (Ubuntu).

  • Создать учетную запись пользователя для запуска службы

$ sudo useradd --no-create-home --shell /bin/false mevboost

$ cd ~
$ wget https://github.com/flashbots/mev-boost/releases/download/v1.6/mev-boost_1.6_linux_amd64.tar.gz

  • Убедиться, что контрольная сумма SHA256 совпадает с значением в файле Checksums.txt

$ sha256sum mev-boost_1.6_linux_amd64.tar.gz

  • Распаковать архив и установить MEV-Boost

$ tar xvf mev-boost_1.6_linux_amd64.tar.gz
$ sudo cp mev-boost /usr/local/bin
$ rm mev-boost LICENSE README.md mev-boost_1.6_linux_amd64.tar.gz
$ sudo chown mevboost:mevboost /usr/local/bin/mev-boost

  • Создать служебный файл Systemd для хранения конфигурации службы, которая сообщает systemd запускать MEV-bosst от имени пользователя mevboost

$ sudo nano /etc/systemd/system/mevboost.service

  • Укажите следующие настройки. Вместо -relays https://example.com укажите свое реле на выбор. Реле это независимый сервер, который предлагает для вашего валидатора блоки для записи в блокчейн. С которых Ваш валидатор и зарабатывает комиссию.  Список реле для Mainnet Ethereum. Можно указать сразу несколько реле через запятую -relays https://relay1,https://relay2

[Unit]
Description=mev-boost (Mainnet)
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=mevboost
Group=mevboost
Restart=always
RestartSec=5
ExecStart=mev-boost \
-mainnet \
-min-bid 0.05 \
-relay-check \
-relays https://example.com

[Install]
WantedBy=multi-user.target

  • От выбора реле зависит будет или нет соблюдать ваш валидатор AML (OFAC). Статистику по реле можно посмотреть на сайте Mevboost.pics. Рекомендуем использовать сразу несколько реле. Ранее наибольшей популярностью пользовался реле от самой компании Flashbots, но из-за того что это реле блокирует транзакции от заблокированных адресов, т.е. ведет фильтрацию в соответствии с правилами OFAC, это реле стало терять популярность. На первом месте сейчас реле, которые не соблюдают эти требования: Ultrasound, Bloxroute, Agnostic Gnosis.

mev boost best relay

  • Перезагрузить Systemd, что бы правила вступили в действие.

$ sudo systemctl daemon-reload

  • Запустить службу 

$ sudo systemctl start mevboost

  • Проверить, что MEV-boost работает, если все сделано правильно, в статусе будет написано Active зеленым цветом. Что бы закрыть это окно нужно нажать Q

mev boost active status

$ sudo systemctl status mevboost

  • Включить автозапуск при загрузке

$ sudo systemctl enable mevboost

  • На последнем шаге нужно указать вашему валидатору, что теперь необходимо использовать MEV-boost. Для разных программных решений этот параметр указывается по разному. Обычно эти изменения вносятся в параметр ExecStart. Указанные ниже флаги могут быть изменены разработчиками. Используйте команду --help для выбранного вами клиента.

Prysm consensus: --http-mev-relay=http://127.0.0.1:18550
Prysm validator: --enable-builder
Nimbus consensus: --payload-builder=true --payload-builder-url=http://127.0.0.1:18550
Nimbus validator: --payload-builder=true
Lodestar consensus: --builder --builder.urls http://127.0.0.1:18550
Lodestar validator: --builder
Teku combined: --validators-builder-registration-default-enabled=true --builder-endpoint=http://127.0.0.1:18550
Lighthouse consensus: --builder http://127.0.0.1:18550
Lighthouse validator: --builder-proposals

  • Перезапустить службы, которые были изменены. Или перезагрузите свой сервер.

sudo systemctl daemon-reload

sudo systemctl restart SERVICENAME

Обновление MEV-boost

$ cd ~
$ wget https://github.com/flashbots/mev-boost/releases/download/v1.6/mev-boost_1.6_linux_amd64.tar.gz
$ sha256sum mev-boost_1.6_linux_amd64.tar.gz
$ tar xvf mev-boost_1.6_linux_amd64.tar.gz
$ sudo systemctl stop mevboost
$ sudo cp mev-boost /usr/local/bin
$ rm mev-boost LICENSE README.md mev-boost_1.6_linux_amd64.tar.gz
$ sudo chown mevboost:mevboost /usr/local/bin/mev-boost
$ sudo systemctl start mevboost

Важный нюанс работы с MEV boost

Ваш валидатор только подписывает блок, но опубликовывает в сеть этот блок будет сервер реле, т.е. награду за блок так же получает сервер реле, а не ваш валидатор. Считается хорошим правилом если награда за блок передается валидатору в этом же блоке, т.е. сразу. Если этого не произошло, нужно обратиться в службу поддержки MEV оператора или в комьюнити ETHstaker.cc

Вывод: Установка Mev-boost это простой способ повысить свой доход от POS майнинга Ethereum, который не требует каких либо дополнительных затрат, кроме редких обновлений ПО. Если Вы готовы мириться с некоторыми нюансами работы MEV-boost, то мы рекомендуем использовать MEV для своего валидатора, тем более если он у вас не один.