FAQ для валидаторов Artery Blockchain

Специалисты технической поддержки Artery собрали наиболее частые вопросы о работе валидаторов, и совместно с разработчиками подготовили данный FAQ.

1. Какая очередность подписания блоков? Почему я долго не получаю блоки?

Почему так и что они значат.

Во-первых, количество валидаторов — ограничение техническое — архитектура Cosmos SDK и Tendermint такова, что в каждый блок 1 валидатор выдвигает содержимое блока, а остальные проверяют его и подтверждают, либо отвергают (это называется раунд голосования). Тот, кто предложил блок, с которым все согласились, получает за это вознаграждение в размере комиссии за блок. Чтобы блок был принят, 2/3 валидаторов (не по количеству, а по силе, чуть ниже поясним) из активных должны с ним согласиться. На это выделяется определенное время. Все валидаторы, которые не уложились в это время, получают предупреждение (не штраф!). Чем больше валидаторов должны подтвердить блок, тем выше вероятность того, что у кого-то из них возникнут проблемы, и они не успеют сделать это в отведенное время. И тогда блок придется обрабатывать повторно и так возможно до бесконечности, каждый раз увеличивая время отведенное на “голосование”. Отсюда и ограничение в количестве тех, кто одновременно должен подтверждать содержимое блока. Ограничения эти получены математически и экспериментально.

Еще раз: активно может быть очень много нод, но подписывать конкретный блок должно ограниченное количество.

Задача валидаторов поддерживать стабильность и целостность сети — т.е. чтобы отказ ее части не привел к остановке или потере данных. Поэтому мы выделили 200 мест на наиболее стабильные машины; критерий стабильности на текущий момент — количество пропущенных голосований. Чем больше голосований пропущено, тем хуже считается стабильность работы валидатора. И соответственно тем дальше он выдвигается из основной группы. Дальше, если по количеству пропусков валидаторы равны, учитывается сила валидатора и количество не пропущенных голосований подряд.

Сила — это коэффициент определяемый стейком. В 1.3 те, кто имеет стейк 10–100К монет, получают силу 10, а кто имеет стейк 100К+, получают силу 15 (т.е. соотношение 2 к 3).

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

В дополнительной группе валидатор находится пока не предложит блок или не пропустит раунд голосования.

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

Хочется отметить — блокчейн ранжирует ноды на основании алгоритма описанного в White Paper. Ни поддержка, ни разработчики на текущую очередь повлиять не могут.

Дополнение по Artery Network 2.0:
В обновлении 2.0 активирован обновленный механизм ранжирования валидаторов. Это изменение крупное и достаточное серьезное — оно повышает безопасность блокчейн и его надежность.

Данный механизм работает следующим образом:
В Artery Blockchain 2.0 предполагает одновременный учет количества пропущенных блоков (предупреждений), количества подписанных блоков подряд и командного стейка путем начисления баллов за каждый критерий и их последующего суммирования.

Система баллов следующая:
* стейк учитывается как логарифм от суммы, к примеру:
- 10 000+ 23 балла
- 26 489,122 130+ 24 балла
- 72 004,899 338+ 25 баллов
- 195 729,609 429+ 26 баллов
… и так далее

* за каждый пропущенный блок (предупреждение) минус 1 балл
* за каждые 100 подписанных блоков подряд +1 балл

Поскольку теперь учитывается стейк в приоритете валидаторов (т.е. способ определять, кто попадет в активный сет, а кто нет). А также voting power привязан не к стейку напрямую (как в v1.3), а к позиции валидатора в рейтинге.

Соответственно, сейчас верхние 25% основной группы имеют voting power 15, следующие 25% voting power 12, еще 25% — 11, оставшиеся — 10, дополнительная группа — 8.

Количество ступенек и значения силы валидаторов вынесены на голосование лидерского совета

2. Как попасть в основные места? Как попасть в дополнительные места?

В дополнительной группе валидаторы чередуются по очереди. Они находятся в группе пока не подпишут блок либо не пропустят раунд голосования. При этом с точки зрения консенсуса они равны между собой — и тот кто в 20 дополнительных и тот кто в основной группе, получат блок в равной мере среди валидаторов с такой же силой. Т.е. те, у кого стейк 10–100К, равны между собой, независимо от того, в какую группу они попали. Если в дополнительной группе валидатор пропускает раунд голосования, то он попадает фактически в конец очереди.

3. Что такое штрафы?

4. Как узнать в какой я группе — основной, дополнительно или в очереди?

5. Что такое консенсус и почему он важен?

6. Что такое пропуски голосования (предупреждения) и за что они начисляются?

7. Какие требования к оборудованию?

Сейчас из полученной статистики мы можем сказать что чаще всего проблемы возникают с быстродействием диска и производительностью ЦП. Мы не рекомендуем начальные процессоры типа i3 и процессоры старых поколений, а также версии процессоров пониженного энергопотребления (ноутбуки, ультрабуки, макбуки).

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

Оперативная память — зависит от ОС. Для Windows — не менее 8ГБ. Для unix / mac — не менее 4ГБ

Диск — только SSD (производительности HDD недостаточно)

Решения с HDD + кэширующий SSD показали себя не очень хорошо, т.к. запись на диск при обработке транзакций в блокчейн идет очень интенсивно, и кэша оказывается недостаточно.

8. Публичный (внешний, статичный, “белый”) IP, зачем?

Публичный IP — обязательное техническое требования для сервера (в нашем случае ноды-валидатора), так как без публичного IP невозможно установить входящего соединение с сервером и выполнить обмен данными через интернет.

Можно также почитать в статье что это и зачем нужно:

https://club.dns-shop.ru/blog/t-280-marshrutizatoryi/22654-probros-portov-i-nastroika-routera-dlya-vneshnego-dostupa/ (это статья на стороннем ресурсе об публичном IP и пробросе портов)

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

9. У меня публичный IP, но приложение его не видит, что делать?

1. Если ПК подключается к интернету через роутер, необходимо удостовериться что роутер поддерживает UPnP и он включен. В случае если UPnP не поддерживается или его включение не решает проблему, необходимо вручную настроить проброс портов 26656 и 26657 на ПК. На некоторых роутерах может быть включена блокировка всех входящих соединений ее необходимо отключить.

2. Антивирус или фаервол на ПК блокирует входящие соединения. Необходимо разрешить входящие соединения для приложений Artery Network.

3. Интернет провайдер блокирует входящие соединения. Необходимо отключить блокировку через личный кабинет провайдера.

Если у вас все исправно и проблема остается, напишите нам в техническую поддержку.

10. У меня зависает синхронизация, что делать?

Мы перерабатываем интерфейс синхронизации, и скоро он будет выводить более подробную информацию об ошибке.

11. У меня периодически пропадает кнопка включения и написано что “условия для валидации не выполнены”, что делать?

12. Как часто выходят блоки?

120 блоков в час

86 400 блоков в месяц — Artery Network считает что в месяце 30 дней

13. Блоки выходят не равномерно, сроки выплат тоже немного меняются. Почему?

Мы планируем после перехода на 2.0 уйти от привязки по блокам. (информация есть в роадмап) Это даст возможность получать больше блоков валидаторам (ровнее распределение вознаграждений), сделает быстрее прохождение транзакций и даст точное время выплаты вознаграждений.

14. У меня написано “валидация запущена на другом устройстве”. Почему? Что делать?

15. Почему сразу мы не можем сделать 1000 одновременно работающих валидаторов?

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

16. Что такое амнистия? Когда она была и что она дает?

17. Если у всех будет огромный стейк, значит те у кого маленький стейк никогда не получат блоки?

18. У меня уменьшается время онлайн, почему так?

19. Какие вы можете дать советы по настройке ПК для валидации?

  • лучше отключить спящий режим, режим экономии энергии, остановку дисков и т.п., т.к., несмотря на то, что приложение пытается сделать это самостоятельно, операционная система компьютера не всегда позволяет это сделать, и это может приводить к отключению ноды от сети
  • рекомендуем не использовать параллельно приложения, требующие много ресурсов диска: это может приводить замедлению записи и пропускам блоков
  • рекомендуем проверить настройки брандмауэра и добавить каталог с данными блокчейн ноды в исключения антивирусов, т.к. они проверяют записанные данные и могут сильно замедлять работу
  • если вы клонируете диск с установленной нодой — обязательно удалите файлы ключей. Если один и тот же ключ используется одновременно на нескольких устройствах, это может приводить к непредсказуемым последствиям, вплоть до полной пожизненной блокировки валидатора (она накладывается алгоритмами блокчейна автоматически, если они фиксируют поведение, характерное для хакерской атаки, и не может быть снята никаким способом).
  • когда на одном ПК меняют аккаунт к которому привязывается валидатор — перед этим надо обязательно отключать предыдущий. Иначе вы получаете либо штраф, либо ошибку “валидация используется на другом ПК”

20. Что лучше Mac, Windows, Linux?

21. Почему вы не можете разделить просто блоки между всеми активными валидаторами? Зачем эти группы, чередования, рейтинги и т.д.?

22. У меня запущена нода. Она синхронизируется / просто открыта. Почему идет большая нагрузка на диск и процессор?

23. Загрузка и синхронизация, в чем разница?

24. Подойдет ли VPS для валидации?

25. Почему плохо иметь много валидаторов одному человеку (твинки)?

26. У меня закрывается (падает) приложение при включенной валидации? Что делать?

27. Почему валидация это ответственность?

28. Можно ли использовать в Windows не системный диск для размещения данных блокчейн?

--

--

A blockchain project based on ordinary mobile devices as network validators. 4 decentralized products. Minimum transaction fee

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Artery Network

A blockchain project based on ordinary mobile devices as network validators. 4 decentralized products. Minimum transaction fee