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

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

По поводу очередности подписания. В блокчейн после обновления 1.3 мы задумали следующее — 200 “основных” мест и 20 “дополнительных”.

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

В основные места попадают валидаторы с минимальным количеством пропущенных голосований. Если количество пропущенных голосований равно, то берется тот валидатор, которые обладает большей силой. Если сила равна — с большим количеством проведенных подряд голосований.

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

Штраф за валидацию — это приостановка участия в основной и дополнительной группе на 120 блоков. Фактически защищает валидатора от сильного падения рейтинга, т.к. штраф дается за два пропуска голосования подряд (два предупреждения, см. п.6), что говорит о том, что у валидатора проблемы. И таким образом он исключается из активных, чтобы мог устранить ошибку и не получить большого количества предупреждений за пропущенные голосования т.к. это привело бы к сильному падению рейтинга. Также штраф повышает стабильность сети — т.к. исключает проблемного валидатора из голосования (много нерабочих валидаторов приведут к краху консенсуса и остановке блокчейн).

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

По текущему интерфейсу валидации вы этого посмотреть не можете. Сейчас мы усиленно дорабатываем интерфейс вкладки Artery Node в десктопном приложении Artery Network — там будет показываться, в какую группу вы вошли, как вы соединяетесь с сетью, текущая версия блокчейн и еще некоторая информация. Данная информация поможет в определении причин сбоев и ошибок при обращении в поддержку.

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

Консенсус в блокчейн — это процесс достижения соглашения всеми участниками о том, какие изменения данных признать правомерными и принять, а какие считать ошибочными и отклонить. Он необходим для того, чтобы много нод, распределенных в сети, могли провести идентичные изменения данных. Чтобы все балансы, статусы и прочая информация в системе была одинакова. В нашем блокчейн для достижения консенсуса необходимо, чтобы с изменениями согласилось более 2/3 валидаторов по силе (см. п.1). Если консенсуса достичь не удастся — дальнейшая работа системы станет невозможна, т.к. не будет понимания какие данные правильные. Поэтому быстрые и надежные валидаторы очень важны — если они не будут успевать обрабатывать данные, то не смогут договорится за адекватное время. А если треть валидаторов неожиданно отключится от сети, консенсуса достичь не удастся, потому что голосов оставшихся будет недостаточно для принятия решения. Изменение состава валидаторов — это такое же изменение данных, которое также требует согласования и достижения консенсуса, поэтому если консенсус не достигнут из-за неявки большого количества валидаторов, заменить их другими не получится. Поэтому так важны стабильные валидаторы и такие жесткие меры по их отбору.

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

Процесс достижение консенсуса валидаторами предполагает, что каждый блок 1 валидатор предлагает содержимое (какие транзакции войдут в блок), а остальные проверяют его и либо подтверждают, либо отвергают (это называется раунд голосования). Чтобы блок был принят, 2/3 валидаторов по силе (см. п.1) из активных должны с ним согласиться. На это выделяется определенное время. Все валидаторы, которые не уложились в это время, получают предупреждение за пропуск голосования. Два таких предупреждения подряд (т.е. отсутствие подписи валидатора два блока подряд) приводят к отключению валидатора на 120 блоков (“штрафу”).

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

Минимальные требования, которые предъявляет к своим узлам Cosmos SDK, нам не подходят, т.к. у нас сложная реферальная система встроена в блокчейн. Именно в сам блокчейн — и это почти уникальный опыт. Она очень требовательна к ресурсам, поэтому валидаторы требуются достаточно мощные.

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

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

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

Возможные причины:

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

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

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

Обычно в этот момент также написано что “Связь с блокчейн НЕ установлена”. Причины в том что либо ваша нода потеряла связь с сетью и отстала от основного блокчейн, либо произошел какой-то сбой и она перестала функционировать. Основные причины аналогичны п.10.

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

2 880 блоков в сутки — т.к. блок выходит примерно 1 раз в 30 секунд

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

Ранее мы писали что если сеть уходит на второй раунд обработки блока — то время подписания увеличивается. С другой стороны, если раунд проходит быстрее, то время блока может быть менее 30 секунд. Поэтому точное время суток немного плавает. В вайтпейпер все временные интервалы указываются именно в блоках. На текущий момент для Artery Network блок основное измерение происходящих событий.

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

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

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

Т.к. они не смогут из-за технических ограничений оставить свои голоса по блоку за приемлемое время (30 секунд).

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

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

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

У стейка 2 градации. 10 и 100К — т.е. от 10 до 100К все равны, и после 100К все равны

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

Счетчик времени сбрасывается каждый раз, когда нода теряет связь или отстает от блокчейн

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

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

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

Это сложный вопрос, на который ответить однозначно нельзя. Наиболее быстрая и стабильная работа достигается на Linux, но она требует намного больше внимания — здесь вам придётся самостоятельно обновлять исполняемые файлы, запускать, останавливать и возобновлять после штрафов валидацию. На Mac и Windows приложение Artery Node делает это за вас., Mac дороже при более слабом аппаратном обеспечении, а Windows показывает меньшую стабильность работы.

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

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

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

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

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

Для запуска блокчейн ноды ей необходимы данные текущего блокчейн и все блоки, которые он обрабатывал. После того, как она их получит и начнет обрабатывать одновременно со всей сетью, можно запускать валидацию. Т.к. количество событий, происходящих в блокчейн, измеряется тысячами — эти данные занимают много места и постоянно растут.
Есть два способа “догнать сеть” — взять готовый набор данных, или просчитать все данные начиная с блока генезиса. Т.к. расчет всех блоков требует много ресурсов, мы в приложении Artery Network комбинируем два этих метода — раз в неделю создается слепок данных текущего блокчейн, который другие ноды могут скачать и, начиная с блока, на котором он был сделан, посчитать оставшиеся до основной сети блоки. Первый процесс называется “Загрузка”, а последующий расчет блоков “синхронизация”. При этом во время загрузки нода не работает, а запускается только при синхронизации.
Тот, кто хочет проверить корректность данных в блокчейн с самого первого блока, может взять генезис и рассчитать все изменения исходя из него.

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

Да, подойдет. Но необходимо выбирать сервера с выделенными процессорными ядрами и быстрыми дисками.

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

Блокчейн выпускает фиксированное количество блоков в сутки — 2880, которые распределяются между активными валидаторами. Чем больше валидаторов, тем реже они получают блоки. Если кто-то старается перетянуть на себя больше блоков и делает много валидаторов — он вынуждает остальных участников поступать также. Что приводит к повышению затрат на их содержание и увеличивает общее количество нод в сети (при том, что набор валидаторов фиксирован). Что увеличивает время на обновление данных и синхронизацию. Кроме того, одновременная потеря нескольких валидаторов (например, в случае неожиданного отключения электроэнергии), гораздо сильнее бьёт по надёжности и стабильности блокчейна, чем потеря одного.

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

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

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

Мы уже говорили — консенсус это то, на чем строится работа блокчейн. И за его достижение отвечает каждый валидатор в отдельности. И, если он работает медленно, не обеспечивает достаточно входящих подключений, вылетает из-за сбоев на компьютере — он не только “теряет деньги” на что акцентируют внимание некоторые участники, но и дестабилизирует всю систему в целом, что бьет по всем участникам. А потеря сразу большого количество активных валидаторов (например, когда выходит блок с большим количеством транзакций/запланированных операций, более требовательный к ресурсам) может привести к остановке блокчейн и потерям монет и репутации

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

К сожалению, данной настройки пока нет, но мы планируем ее добавить в ближайших релизах. На текущий момент вы можете запустить ноду, закрыть ее и создать soft или hard линк на другой диск из папки AppData\Roaming\desktop-wallet\chain (если вы не понимаете о чем речь, пожалуйста подождите выхода соответствующей функции в приложении)

--

--

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

Love podcasts or audiobooks? Learn on the go with our new app.

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

Artery Network

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