Сколько стоит поднять мастерноду и поддерживать ее? Различные конфигурации архитектуры в сети Minter
Асхат Бельцев, представитель пула Validator.Center и будущей мастерноды под одноименным названием в сети Minter, подготовил для читателей DeCenter колонку, в которой рассказал, как запустить мастерноду, а также привел реальные цифры для разных конфигураций архитектуры и пояснил, во сколько это удовольствие обойдется.
В начале статьи хотелось бы обратить внимание, что предлагаемые ниже параметры подойдут для Testnet и на первые полгода работы основной сети, но не более. Дальше с увеличением количества пользователей, а следовательно и с повышением количества транзакций и размера блокчейна, представленные ниже варианты не будут справляться с нагрузкой.
Начнем наше повествование с самой простой конфигурации: запуск мастерноды без использования SNA. И кратко разберем 3 ключевых шага, которые нужно сделать, чтобы эту мастерноду для начала запустить.
Для справки: Sentry Node Architecture (SNA) — это решение, которое обеспечивает способ скрыть IP-адрес узла валидатора и предоставить более легко масштабируемый список общедоступных IP-адресов для смягчения DDoS. Говоря более простым языком, это первая линия обороны, которая защищает от кибератак главную мастерноду валидатора.
Шаг 1. Арендуем виртуальный сервер и хостинг у провайдера: 2 ядра, 4GB оперативной памяти и 40GB SSD-диска.
Почему именно такие параметры?
2 ядра в Testnet берем с запасом, чтобы была дополнительная «прочность». Подпись формируется только на одном ядре, но чтобы сбалансировать и параллельно выполнять другие задачи, лучше использовать больше, чем 1 CPU.
Потребуется 40 GB SSD-диска, чтобы хватило как минимум на пару месяцев, возможно, хватит и на больший срок, в зависимости от развития сети. Нужен именно SSD-диск, потому что он работает быстрее, чем HDD.
Блокчейн проекта стремительно становится больше: 5 тысяч транзакций по 1 килобайту — это неприлично много: 5MB + 20% на заголовки => 6MB — а это один блок, а в будущем планируется проводить 10,000 транзакций!
Нужно 4GB оперативной памяти, ибо стоимость небольшая и лучше взять с запасом. В Testnet на данный момент хватает 1.5GB оперативной памяти.
Хостинг-провайдер рекомендуем с почасовой оплатой с зависимостью от нагрузки, подойдет любой из списка:
Microsoft Azure
Amazone Cloud
Google Cloud Platform
То есть если нагрузки нет — значит меньше платим, как только появляется — выделяются ресурсы, соответственно, становится дороже. На первое время это лучшее решение, пока сеть не наберет серьезные «обороты».
Можно выбрать виртуальный сервер с постоянной конфигурацией. На рынке VDS-хостингов много компаний, но наш взор упал на две из них:
Германия: Hetzner с продуктом CX21 за €5.78 (440 рублей) в месяц
США: Linode с продуктом 2GB за $10 (670 рублей) в месяц
Брать лучше в США, так как немцы очень педантичны и у них хорошие, «железные» файерволы. «Уронить» такие сервера сложно, но из-за избыточной защищенности возникают потери в 20 милисекунд, а это пропуск блока.
Шаг 2. Ставим ОС на виртуальный сервер и настраиваем ее.
ОС можно установить на любую 64-битную систему. Можно использовать Windows, MacOS или UNIX-подобные(на ядре linux или *bsd). ОС, подобные UNIX, бесплатные и хорошо зарекомендовавшие себя в качестве ОС для серверов. Если использовать на ядре Linux, то это Ubuntu Server, Debian, Centos, RedHat; а если BSD, то подойдут FreeBSD, OpenBSD.
Шаг 3. Установка блокчейна Minter.
Скачиваем последнюю версию платформы Minter, подходящую вам, с Гитхаба. Если там нет вашей архитектуры, то можете собрать ее сами, так как исходный код полностью открыт.
В настройках устанавливаем, что наш сервер будет работать в режиме Валидатора, а именно в файле config.toml прописываем команде validator_mode значение «true» (будет выглядеть так: validator_mode="true").
Нода будет работать в режиме валидатора и без этой команды, но тогда будет больше лазеек «положить» ноду, поэтому стоит отрубить прочие функции и оставить ее только как валидатора.
Файл находится в каталоге config, где синхронизируется весь Blockchain проекта. Путь может настраиваться к этой папке, но по умолчанию в каталоге пользователя установлен каталог .minter.
Следующая, более сложная, но бюджетная конфигурация с SNA
Берем 3 виртуальные машины на Google Cloud Platform. Характеристики: 1 процессор (настоятельно рекомендуем 2 и более ядер, но и на 1 ядре работать будет), 3.75GB оперативной памяти и SSD-диск на 40GB.
По деньгам теоретически выходит 3*$27.7= $83.1= 5560.93 рублей, а в реальности вышло ~2000 рублей в месяц. На GCP поднято три виртуальных сервера, но сколько каждый потребляет денег, сложно сказать, такой статистики нет.
Но при нагрузке все равно возникнут проблемы (падение), так как подписание не распараллеливается. С этим может справится мощный процессор (3 ГГц и более), но, к сожалению, в основном на рынке виртуальных серверов представлены продукты мощностью 2.7 ГГц.
Исходя из всего вышесказанного предлагаем следующие «держащие удар» на первое время конфигурации:
3 или 4 виртуальные машины Linode 8GB (4 cpu, 8GB памяти и 160GB диск), 3 — SNA и 1 — валидатор = $40*4 = $160 (10,706.96 рублей).
3 или 4 виртуальные машины Google (4 cpu, 8GB памяти и 160GB диск), 3 — SNA и 1 — валидатор = $113*4 = $452 (30,247.16 рублей), фактически затраты во многом будут зависеть от нагрузки сети, а на первое время это минимум.
Что рекомендуют разработчики для Mainnet?
RAM — 4GB
SSD — 200GB
x64
3.4 GHz
8 vCPUs
Что имеется у Linode?
32GB
8 Cores
640GB SSD
16 TB
40 Gbps
7000 Mbps
Продукт: Linode 32GB. Цена: $160 в месяц.
Итого: $160*4 = $640 = 42,827.84 рублей в месяц.
Что имеется Hetzner?
vCPU — 8
RAM — 32GB
Disk — 240GB
Traffic — 20TB
Продукт: CX51. Цена €35.28 в месяц.
Итого: €35.28*4 = €141.12 = 10,724.63 рублей в месяц, но, напоминаю, пропускаются блоки.
Что имеется у Google?
CPU — 8
RAM — 7.2GB
Disk — 200GB
Цена: $178.92 в месяц
Итого $178.92*4 = $715.68 = 47,895.25 руб в месяц, напоминаю, в реальности плата будет по нагрузке, то есть потенциально меньше в первое время.
Как вы уже поняли, много вложений для старта не требуется, важно лишь грамотно составить архитектуру и выбрать подходящую конфигурацию. Напоследок дам пару советов:
Блокчейн растет, поэтому 200GB не хватит.
3 SNA будет мало, лучше около 10, чтобы покрыть большую площадь.
Все ваши вопросы и пожелания с удовольствием обсудим в нашем чате. Присоединяйтесь!
По вопросам размещения материалов в рамках авторской колонки, пожалуйста, пишите на np@decenter.org.