Валидаторы в TON
Валидатор – участник сети, который поддерживает работу блокчейна, хранит его копии и подтверждает новые транзакции используя собственные сервера и осуществляя круглосуточную поддержку работоспособности.
Список валидаторов TON: tonscan.org/validators
В блокчейне TON существует инфляция, которая составляет 0.6% в год – столько новых монет от общей эмиссии выпускает блокчейн ежегодно. Новые монеты распределяются между валидаторами и номинаторами пропорционально их вкладу, который называется стейк (от англ. stake).
Для запуска валидатора вам необходимо обладать достаточным уровнем технических знаний, так как на ваших плечах будет лежать ответственность не только за собственные деньги, но и за средства номинаторов.
Сколько стоит валидатор
Чтобы стать валидатором вы должны иметь не менее 350 000 TON.
Это не обязательно должны быть личные средства, вы можете привлечь пользователей, которые одолжат вам свои TON во временное пользование через специальный смарт-контракт. Важно помнить, что стать валидатором вы сможете только после того как наберёте необходимую сумму. Пользователи должны довериться вам, так как вы не сможете получать вознаграждения и валидировать блокчейн до того как соберёте полную сумму и станете активным валидатором.
На данный момент в блокчейне более 200 валидаторов и со временем эта цифра будет расти, как и минимальный лимит для входа.
Раунды
Процесс валидирования разбит на раунды. Каждому раунду предшествует процедура выборов в течении, которые длятся примерно 9 часов, затем начинается раунд длительностью 18 часов, после чего ваш стейк будет заморожен ещё на 9 часов, и по итогу вернётся вместе с вознаграждением.
Раунды начинаются параллельно друг другу и разделяются на чётный и нечётный, каждый новый раунд стартует во время "периода заморозки" стейков прошлого раунда. Это сделано для того, чтобы обеспечить "сменяемость власти" в блокчейне и увеличить децентрализацию.
Доходность
При текущих ставках вознаграждения составляют ≈7% годовых.
Доходность зависит от показателя инфляции, который составляет 0.6% в год и общего количества монет у валидаторов, между которыми распределяются новые монеты, создаваемые блокчейном. При этом в оригинальном White Paper можно найти информацию о целевом показателе инфляции в 2%, возможно со временем это значение будет принято текущими валидаторами, что увеличит текущую доходность.
Запуск и настройка
Рекомендуем для начала запускать валидатора в тестовой сети.
Вам нужно арендовать выделенный сервер (например Vultr), не ниже рекомендуемой конфигурации: 8 vCPUs, 64Gb Memory, 1Tb enterprise SSD with redundancy (hardware or software raid), Fixed IP and 1Gb/s connection.
⚠️ Не запускайте валидаторов на облачных серверах, у провайдеров Hetzner и OVH, а также серверах расположенные в Германии и Финляндии. В сети достигнут лимит валидаторов из этих локаций.
1. Устанавливаем mytonctrl
Скачиваем установочный скрипт от имени того пользователя, на чьё имя будет установлен mytonctrl. Настоятельно не советую устанавливать mytonctrl от имени root. В нашем случае от имени user:
wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
Запускаем установочный скрипт от имени администратора:
sudo bash install.sh -m full
2. Проверяем, что всё установилось правильно
Запускаем mytonctrl от имени того пользователя, на чьё имя установили:
mytonctrl
Смотрим статус mytonctrl. Здесь нас интересует:
- Статус ядра mytoncore. Должен быть зелёным.
- Статус локального валидатора. Должен быть зелёным.
- Рассинхронизация локального валидатора. Вначале будет огромное число. После того, как валидатор свяжется с остальными валидаторами, число станет около 250 000. Затем, по мере синхронизации валидатора, число будет уменьшаться. Как только число станет меньше 20 — значит, валидатор синхронизировался.
Смотрим доступные кошельки. Кошелек validator_wallet_001 был создан при установке mytonctrl:
3. Пополняем кошелёк валидатора и активируем его
Минимальное количество монет для участи в одних выборах можно посмотреть на сайте tonmon.xyz, раздел Participants stakes
.
На скрине команда vas
отображает историю переводов, а команда aw
активирует кошелек:
Если вы хотите запустить пул номинаторов, на этом этапе нужно перейти к запуску контракта номинаторов, для этого откройте следующий раздел ›
4. На данном этапе всё уже готово для работы валидатора
mytoncore будет автоматически участвовать в выборах — разделит баланс кошелька на две части и будет использовать их как ставку для участия в выборах. Можно самому в ручном режиме установить размер стейка:
set stake 50000
— установили размер стейка в 50к монет. Если ставка была принята и мы стали валидатором, то забрать свою ставку мы сможем только на вторые выборы — таковы правила электора.
Не стесняйтесь команды help:
Логи mytoncrl можно смотреть в ~/.local/share/mytoncore/mytoncore.log
если он был установлен не от лица root, иначе в /usr/local/bin/mytoncore/mytoncore.log
.
Запуск пула номинаторов
Процесс запуска пула через смарт-контракт номинаторов несколько отличается, для начала выполните первые три пункта инструкции выше, после этого перейдите к следующим пунктам.
4. Отправьте 1 TON на адрес кошелька валидатора, отображаемый в списке wl
.
5. Введите aw
чтобы активировать кошелек валидатора.
6. Переключитесь на ветку, поддерживающую пулы:
update dev
7. Создайте два пула для чётного и нечётного раунда:
new_pool p1 0 1 1000 300000
new_pool p2 0 1 1001 300000
p1
— имя пула;0
% — это доля вознаграждения валидатора (например, используйте 40 для 40%);1
- максимальное количество номинаторов в пуле (должно быть <= 40);1000
TON — минимальная ставка валидатора (должна быть >= 1K TON);300000
TON – минимальная ставка номинатора (должна быть >= 10K TON);
⚠️ Конфигурации пулов не должны быть идентичными, вы можете добавить 1 к минимальной ставке одного пула, чтобы сделать их разными.
8. Введите pools_list
чтобы отобразить адреса пулов:
pools_list
Name Status Balance Address
p1 empty 0 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT
p2 empty 0 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL
9. Отправьте по 1 TON в каждый пул и активируйте пулы:
mg validator_wallet_001 0f98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780qIT 1
mg validator_wallet_001 0f9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV5jL 1
activate_pool p1
activate_pool p2
10. Введите pools_list
чтобы отобразить адреса пулов:
pools_list
Name Status Balance Address
p1 active 0.731199733 kf98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780v_W
p2 active 0.731199806 kf9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV8UO
11. Откройте каждый пул по ссылке "https://tonscan.org/nominator/<address_of_pool>" и проверьте конфигурацию пулов.
12. Внесите депозит валидатора в каждый пул:
deposit_to_pool validator_wallet_001 kf98YhXA9wnr0d5XRXT-I2yH54nyQzn0tuAYC4FunT780v_W 1005
deposit_to_pool validator_wallet_001 kf9qtmnzs2-PumMisKDmv6KNjNfOMDQG70mQdp-BcAhnV8UO 1005
1005
TON – сумма депозита. Обратите внимание, что 1 TON будет списана пулом для обработки депозита.
13. Активируйте режим пула:
set usePool true
14. Приглашайте номинаторов вносить депозиты в ваши пулы. Участие в валидации начнется автоматически.
⚠️ Вам необходимо иметь не менее 200 TON в месяц на кошельке валидатора для оплаты операций.
Переключение обычного валидатора в режим пула номинаторов
- Наберите
set stake 0
чтобы отключить участие в выборах. - Подождите, пока обе ваши ставки вернутся от электора.
- Выполните шаги "Запуск пула номинаторов".
Для написания данного материала использовались инструкции из официального репозитория mytonctrl, благодарим igroman787 за помощь!