неділя, 23 березня 2025 р.

 

Ultimate гайд по нодам: теория и практика нодраннинга - INCRYPTED

Ilya Surgan11-14 minutes 22.08.2024

Запуск и обслуживание ноды

Теперь переходим от теоретической к практической части статьи. Новичкам стоит на этом моменте остановиться и предварительно ознакомиться с основами работы блокчейна, чтобы лучше понимать, какие возможности и риски могут возникнуть при работе с нодами. Также потребуется базовое понимание работы Linux и командной строки. Если у вас уже есть необходимая подготовка — двигаемся дальше. 

Развертывание ноды

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

Шаг 1: подготовка. Включает ознакомление с техническими требованиями ноды и выбор хостинга. Технические требования публикуются, как правило, на официальном сайте проекта или в отдельном разделе для операторов нод. Вот, например, рекомендуемые характеристики для оборудования под ноду Ethereum.

Характеристики для оборудования под ноду Ethereum. Данные: Ethereum.

На основе этих данных можно приступать к выбору хостинга. Это может быть как выделенный сервер, так и VPS или самостоятельное решение —  домашний сервер на базе стандартного оборудования или, например, RaspberryPi. 

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

  • Hetzner — немецкий провайдер без ограничений по гигабитному каналу. В сообществе не однозначное отношение к Hetzner из-за опасений касательно низкой децентрализации, так как большая часть операторов нод держат сервера именно на этом сервиса. Кроме того, использование серверов для криптовалютных проектов запрещено правилами сервиса, поэтому ноду могут остановить в любой момент. Самый доступный и оптимальный по качеству вариант, но с риском;
  • Vultr — сравнительно дорогой, но удобный и надежный сервис. По реферальной ссылке дают $100 на месяц, так что новички могут установить свою первую ноду с использованием бонусного баланса. Оплата почасовая, что позволяет быстро развернуть решения или ноды на короткий срок;
  • DigitalOcean — американский сервис, основной плюс которого в быстром развертывании и почасовой тарификации. По реферальной ссылке дают $200 на два месяца, так что можно использовать как аналог Vultr или, если потребуется, второй тестовый сервер.
  • Mevspace — польский хостинг с доступными ценами на готовые стандартные конфигурации. Бывают сбои в работе, но это редкое явление. Лучше использовать для тестовых сетей;
  • OVH — старый и надежный хостинг. Дороже Hetzner, но дешевле остальных. Нареканий от операторов нод нет, работает в большинстве случаев отлично, но не рекомендуется брать сервера в Польше из-за проблем с подключением;
  • Google Cloud — любимец поклонников бесплатных опций и экспертов разных направлений, но не лучший вариант для начинающих операторов из-за сложности установки. Требует навыков и знаний для работы. Основное преимущество в том, что выдают $300 на тестирование, что позволяет бесплатно поддерживать ноду некоторое время.
  • Contabo ― распространенный хостинг, один из дешевых по аренде VPS среди конкурентов. Хорошая география дата-центров. Оплата производится вперед за месяц. Единственное у него слабая скорость интернета, для блокчейнов со скоростью блока быстрее 10 секунд могут быть проблемы с синхронизацией.

AWS, Azure, SpaceCore, PerfectQaulity, Webtropia и другие облачные решения используются операторами нод.

При выборе сервера в первую очередь нужно тестировать скорости дисков. Для большинства случаев хватает бенчмарка YABS, который запускается командой `curl -sL yabs.sh | bash -s — -fg`. 

Допустимый диапазон скорости — от 150 Мбит до 500 Мбит, с чем вполне справляются SSD. Если нужна большая скорость, нужно искать сервер с NVMe. Что касается HDD, то их можно частично использовать при запуске архивных нод для хранения полной истории сети. 

При выборе выделенного сервера рекомендуется проверка износа дисков. Можно использовать различные программы, многие используют программу smartmontools, работает только с дисками NVME. Установить программу smartmontools `sudo apt-get install smartmontools -y`, просмотреть подключенные диски командой `fdisk –list`, проверить каждый командой `smartctl -a /dev/nvme1_имя_диска`. Процент износа отображен в строке Percentage Used.

Посмотреть, чем пользуются валидаторы сетей, входящих в Cosmos Hub, можно по ссылке.

Интернет-провайдеры Cosmos Hub. Данные: Observatory.

Шаг 2: установка софта. Для установки и отладки ноды достаточно базовых знаний Linux и умения искать информацию через сервисы вроде Google/. Также потребуется освоить навык использования командной строки. В остальном инструкции от разработчиков по запуску нод в большинстве случаев корректны и нужно просто правильно им следовать. С методом установки можно ознакомится на примере ноды сети биткоина тут

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

Шаг 3: мониторинг работоспособности. После развертывания ноды и синхронизации базы данных потребуется дальнейший мониторинг состояния узла и поддержка его стабильной работы. Для отслеживания работоспособности можно использовать следующие инструменты:

  • Zabbix — легкое решение с открытым исходным кодом для мониторинга состояния подключения и приложений по самым разным параметрам;
  • Grafana — веб-приложение для аналитики и интерактивной визуализации. Предоставляет диаграммы, графики и оповещения; 
  • Tenderduty — инструмент для валидаторов нод в сетях на базе Тendermint. Следит за корректной работой валидатора и автоматически рассылает уведомления;

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

Безопасность ноды

После запуска ноды не менее важно защитить ее от атак, нацеленных на блокировку работы узла или получение контроля над ним. Это критически важный аспект для валидаторов, которые несут финансовые потери при сбоях и необычном поведении ноды. Возможные векторы атак на ноды, развернутые на Linux-системах, включают:

  • DDoS;
  • брутфорс;
  • социальная инженерия.

При DDoS-атаке злоумышленник посылает множество запросов с целью «забить» узел и довести его до отказа. Базовая защита от DDoS включает установку файрвола, а также развертывание сети «часовых» (sentry) нод, с которыми валидатор может общаться, не раскрывая свой адрес. Такие узлы постоянно подключены к сети и синхронизированы. Этот тип нод доступен в таких блокчейнах, как Polygon, Cosmos и Sui.

Примечание: обычно хостинг-провайдеры блокируют такой трафик и уведомляют при DDoS-атаках (в некоторых случаях при DDoS-атаке может быть заблокирован сервер пользователя). Но в целом DDoS-атака на валидаторов и тем более на обычные ноды маловероятна из-за своей дороговизны.

Другой вектор атаки — брутфорс, то есть попытка получить контроль над нодой через подбор данных для доступа. Формула для исключения брута достаточно проста: отключение root-прав в комбинации с нестандартными логином и паролем. Также можно установить Fail2ban со стоковой конфигурацией для защиты сервера. Как вариант можно создать SSH-канал  и подключаться к серверу по ключу, отключив подключение через логин и пароль. Протокол проверяет соединение по публичному ключу, который хранится у вас на компьютере, и закрытому ― хранится у вас на сервере.

Примечание: если вы потеряете открытый SSH-ключ и отключите подключение через логин и пароль, вы потеряете доступ к серверу.

Ну и более изощренный способ захвата ноды — социальная инженерия. То есть, когда оператора убеждают под каким-либо предлогом установить стороннее ПО или передать свои данные для доступа к узлу. Самый распространенный инструмент — боты-установщики.

Пользователю предлагают удобный софт, который сам автоматически развернет и настроит ноду. Новички ищут подобные решения, но риск очень высок. Мы рекомендуем избегать установки стороннего софта при любых обстоятельствах.

Для валидаторов в сетях экосистемы Cosmos

Для защиты и бесперебойной работы валидаторов в сетях экосистемы Cosmos также можно использовать удаленных подписывающих агентов (remote signer) — программное обеспечение, которое устанавливается на стороннем сервере и используется для подписи блоков. К подобному ПО подключается несколько нод, поэтому даже если основной валидатор пострадает или отключится, работа продолжится через другой синхронизированный узел. Единственный риск — отказ сервера на котором он запущен. В таком случае можно воспользоваться Horcrux.

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

Важно: агенты не актуальны для сетей с коротким межблочным интервалом (к примеру, Sei) — поскольку вызывает задержки, из-за которых валидатор просто не успевают подписывать блоки. Кроме того, все эти инструменты в виде готового софта доступны только в экосистеме Cosmos. Для других блокчейнов их просто нет.

Особенности запуска нод в тестнете

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

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

  • не нужен начальный капитал (стейк) для запуска валидатора. Часто от тестовых валидаторов вообще не требуют залог, а если и требуют, то в виде тестовых токенов, которые не имеют реальной ценности. Это снижает входной порог и потенциальные потери;
  • требования к работе ниже. Если в мейннет валидатор обязан обеспечить бесперебойную работу узла 24/7 и несет финансовые потери при несоблюдении этих условий, то в тестнете санкции за нарушение режима работы не применяются. Однако это может повлиять на репутацию оператора, узел которого могут просто не допустить к следующему этапу тестирования; 
  • частые обновления. На этапе тестнета сеть еще находится в разработке, поэтому клиенты нод обновляются намного чаще, чем в случае с мейннетом, и не всегда эти обновления проходят гладко — ошибки, вылеты, «кривые» установщики и так далее. В этом плане новичкам может быть даже сложнее, чем в мейннете, где все уже более-менее отлажено и работает стабильно. 

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

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

Немає коментарів:

Дописати коментар

  Ось детальніша інформація для аналізу щодо руху Expanse : 1. Місія та цілі Expanse Основна місія : Рух Expanse об'єднує талановитих ав...