FunctionX: September Hash Out (Настройка узла валидатора)

Настройка узла валидатора в тестовой сети f(x)

Введение

Чтобы обеспечить стабильность сети, мы запустили ядро f(x) с размещенными узлами валидаторов работающие в течении почти трех месяцев. Теперь мы, наконец, открываемся для общественности, чтобы настроить узел валидатора на ядре f(x). Этот сентябрьский Хэш-Аут поможет вам выполнить настройку в тестовой сети. Настройка в Mainnet будет точно такой же, за исключением того, что она будет доступна общественности только через месяц. Этого времени достаточно, чтобы вы набили шишек, по-практиковавшись на Testnet. Мы проведем видеосессию по настройке Mainnet, чтобы обеспечить плавный процесс, пожалуйста, следите за обновлениями в нашем Твиттере где объявим точную дату.

С целым набором продуктов и услуг, которые будут запущены на блокчейне f(x)Core, я верю, что вы так же, как и я, рады стать одним из основных валидаторов f(x)! Мы хотим сделать весь процесс действительно легким и плавным, поэтому мы постараемся объяснить всё в этой статье и специально для вас.

Прежде чем углубиться в требования к настройке валидатора, давайте рассмотрим роли и некоторую важную информацию об участии в основном управлении f(x). Мы также хотим подчеркнуть, что при участии в любом децентрализованном проекте ВЫ ДОЛЖНЫ ПРОЯВЛЯТЬ ДОЛЖНУЮ ОСМОТРИТЕЛЬНОСТЬ! Это не безрисковая деятельность.

Советы: Вам не нужно исключительно лучшее оборудование для настройки узла f(x)core. Возможно, вы даже сможете запустить его, не вставая с места, если у вас есть 500 ГБ свободного места. И, конечно же, требуется токены $FX.

Пошаговое руководство по настройке

Если вы хотите перейти непосредственно к руководству по настройке, вот шаги по настройке основного валидатора f(x). На каждом шаге есть ссылка на полную документацию, которая поможет вам свериться.

  1. Установка f(x)Сердечника
  2. Настройка узла
  3. Как развернуть узел валидатора в основной тестовой сети f(x)

Вы можете перейти по этой ссылке для получения полной документации по установке.

Что такое валидатор?

Роль валидатора заключается в запуске полного узла (нода) для участии в сетевом консенсусе путем трансляции голосов (100fx = 1 голос). Валидаторы фиксируют (подписывают) новые блоки в блокчейне и получают вознаграждение в обмен на свою работу. Они также должны участвовать в управлении путем голосования по предложениям. Валидаторы ранжируются в соответствии с их общей привлечённой ставкой (если это неясно, мы объясним это позже…терпение, мой юный падаван).

Что такое полный узел?

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

Что такое делегатор?

Делегаторы-это держатели FX, которые хотят участвовать в управлении протоколом, но не хотят нести бремя валидатора. В этом случае они могут делегировать токены валидатору и получить часть своего дохода (а также разделять риски). Если валидатор ведет себя неправильно или нечестно, его делегаторам будет урезана часть их делегированной доли. Поэтому важно сделать следующее…ПРОВЕДИТЕ ДОЛЖНУЮ ПРОВЕРКУ валидаторов, а также распределите свою ставку между несколькими валидаторами.

Что такое валидация?

Ядро f(x) использует протокол делегированного подтверждения участия (DPoS). Это означает, что любой, кто владеет FX, может делегировать часть или все свои FX валидатору, в результате чего валидатор “набирает вес” в сети. Чем “тяжелее” валидатор, тем выше вероятность быть назначенным лидером для большего количества слотов, а также получить больше наград за голосование (подписание блоков).

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

Прежде чем делегироватьсвою валюту для участия в основном управлении f(x), пожалуйста, убедитесь, что вы понимаете, как это работает, и хорошо распределяете свои валютные активы.


Участие в валидации

Как распределяются вознаграждения за блок?

Вознаграждение за блок распределяется пропорционально всем валидаторам относительно их права голоса (объёма привлечённых токенов). Все валидаторы будут иметь первоначальный равный вес (право на вознаграждение), пока в сеть не будет внесены новые токены от делегаторов.

Давайте возьмем пример, когда у нас есть 10 валидаторов с равным правом голоса и ставкой комиссии 1%. Давайте также предположим, что вознаграждение за блок составляет 1000 FX и что у каждого валидатора есть 20% собственных FX (остальные 80% привлечённых FX). Эти токены не передаются напрямую заявителю. Вместо этого они равномерно распределены между валидаторами. Так что теперь пул каждого валидатора насчитывает 100 FX. Эти 100 FX будут распределены в соответствии с долей каждого участника:

  • Комиссия: 100*80%*1% = 0.8 FX
  • Валидатор получает: 100*20% + Commission = 20.8 FX
  • Все делегаты получают: 100*80% - Commission = 79.2 FX

Затем каждый делегатор может претендовать на свою часть от 79,2 FX пропорционально своей доле в пуле ставок валидатора.

Как распределяются гонорары?

Гонорары распределяются аналогичным образом, за исключением того, что узел, предлагающий блок, может получить бонус за сборы предлагаемого им блока, если они включают в себя больше требуемого минимального количества pre-commits.

Когда валидатор назначен для подписания следующего блока, он должен включать не менее 2/3 pre-commits предыдущего блока. Однако существует стимул включать более 2/3 pre-commits в виде бонуса. Бонус колеблется от 1%, если участник включает 2/3 pre-commits (минимум для зрелости блока), до 5% (растет линейно), если участник включает 100% pre-commits. (аналогия с PoW, где более длинная цепочка блоков имеет преемущество перед более короткой)

Валидатор должен найти баланс между ожиданием большего количества pre-commits и риском пропустить подписание следующего блока. Этот механизм направлен на стимулирование предложений по непустым блокам.

Давайте возьмем конкретный пример, чтобы проиллюстрировать вышеупомянутую концепцию. В этом примере есть 10 валидаторов с равной долей. Каждый из них применяет комиссию в размере 1% и имеет 20% собственных делегированных FX. Теперь идет успешный блок, который собирает в общей сложности 1025,51020408 FX в виде сборов.

Во-первых, применяется налог в размере 2%. Эти fx поступают в резервный пул. Средства резервного пула могут быть распределены через управление для финансирования вознаграждений и улучшений.

  • 2% * 1025.51020408 = 20.51020408 FX переходят в резервный пул.

Теперь осталось 1005 FX. Предположим, что валидатор включил 100% подписей (pre-commits) в свой блок. Таким образом, он получает полный бонус в размере 5%.

Мы должны решить это простое уравнение, чтобы найти вознаграждение R для каждого валидатора:

9*R + R + R*5% = 1005 ⇔ R = 1005/10.05 = 100

Для валидатора претендента:

  • Пул получает R + R * 5% = 105 FX
  • Комиссия: 105 * 80% * 1% = 0,84 FX
  • Вознаграждение валидатора: 105 * 20% + Commission = 21,84 FX
  • Вознаграждения делегаторов: 105 * 80% - Commission = 83,16 FX
    (каждый делегатор сможет претендовать на свою часть от 83,16 FX пропорционально своей ставке в пуле валидатора)

Для каждого валидатора пропустившего подписание блока:

  • Пул получает R: 100 FX
  • Комиссия: 100 * 80% * 1% = 0,8 FX
  • Вознаграждение валидатора: 100 * 20% + Commission = 20,8 FX
  • Вознаграждения делегатов: 100 * 80% - Commission = 79,2 FX (каждый делегат сможет получить свою часть этих вознаграждений пропорционально своей ставке)

Теперь переходим к самому важному сегменту…барабанная дробь, …

Каковы требования к оборудованию для настройки узла проверки ядра f(x)?

Мы рекомендуем следующее для запуска ядра f(x):

  • 2 или более процессорных ядра
  • Не менее 500 ГБ дискового хранилища
  • Объем памяти не менее 4 ГБ
  • Пропускная способность сети не менее 10 Мбит / с

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

В идеале вам понадобится SSD-накопитель, и единственное, что мешает вам настроить валидатор на ноутбуке по сравнению с настройкой его на сервере, - это 500 ГБ дискового хранилища. Тем не менее, по мере увеличения использования сети возрастут и требования к оборудованию.

Каковы требования к пропускной способности?

Ядро f(x)обладает очень высокой пропускной способностью по сравнению с такими цепочками, как Ethereum или биткойн.

Мы рекомендуем, чтобы узлы центра обработки данных (лёгкие узлы) подключались только к доверенным полным узлам в облаке или другим валидаторам, с которыми они знакомы в социальных сетях. Еще раз ПРОЯВИТЕ ДОЛЖНУЮ ОСМОТРИТЕЛЬНОСТЬ!

Как управлять закрытыми ключами?

Валидаторы должны ожидать запуска Аппаратного модуля безопасности (HSM), поддерживающего ключи ed25519. Вот потенциальные варианты:

  • YubiHSM 2
  • Ledger Nano S
  • Ledger BOLOS SGX enclave
  • Thales nShield support

Валидатору рекомендуется проявить усилия по улучшению HSM и безопасности управления ключами.

Другие советы

Эффективной управление узлом - непростая задача. Главное-избегать атак и отключений, а также поддерживать безопасность и изоляцию. Регулярное обновление программного обеспечения, исправление ошибок, защита от атак типа “отказ в обслуживании” -это лишь некоторые из дополнительных аспектов, на которые следует обратить внимание.

Расходы

В дополнение к затратам на оборудование и сеть, в тестовых сетях валидаторам необходимо делегировать не менее 100 FX. Для Mainnet мы рекомендуем 100 000 FX или более.

Валидаторы не обязаны делегировать более 100FX самостоятельно. Однако делегаторы могут установить минимальное требование, чтобы их валидаторы самостоятельно делегировали больше, чем требуется. Если отдача от валидатора опускается ниже заданного предела, все делегаторы откажутся от этого валидатора. Это гарантирует ему простои в сети.

Создайте свой собственный валидатор тестовой сети

Теперь вы можете настроить свой узел валидатора в тестовой сети для пробного запуска. Требования и шаги для Mainnet точно такие же, за исключением того, что для настройки валидатора тестовой сети вам придется запросить несколько тестовых токенов FX testnet через кран.

Как упоминалось выше, это шаги по настройке основного валидатора f(x). На каждом шаге есть ссылка на полную документацию, которая поможет вам сделать скриншоты. Установка ядра f(x), Настройка узла, Как развернуть узел валидатора в основной сети ядра f(x). Вы можете перейти по этой ссылке для получения полной документации по установке.

Итоговые советы и рекомендации

  1. Даже не думайте о том, чтобы работать на чем-либо, кроме Ubuntu 20.04 LTS.
  2. При установке ядра f(x)убедитесь, что вы установили GO версии 1.16 или более поздней.
  3. При настройке полного узла предпочтительным был бы способ докера.
  4. Как только узел будет настроен и синхронизирован, это займет несколько часов, чтобы вы могли возобновить свой игровой процесс Axie Infinity.
  5. Следите за исправным состоянием вашего диска

До сих пор есть довольно много, что нужно переварить (это все еще мягко сказано), в том числе настроить инструкции в нашей Gitbook. Если вы все еще считаете это непонятным, у нас будет видеосессия о том, как настроить Mainnet через несколько месяцев.

Окончательно…


В заключение мы благодарим вас за всю поддержку. Следите за нашими обновлениями в Twitter, Facebookи Reddit. Если вы заинтересованы в обмене идеями и участии в создании экосистемы Функции X, чтобы сделать ее лучше, присоединяйтесь к нашему официальному форуму Функции X.

Function X

](Function X - Medium)

Создано PundiX

3 Likes