Основы мастернод#

Общий обзор#

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

Проще говоря, мастернода это сервер с полной копией блокчейна Dash, в котором обеспечена необходимая производительность и функционал для гарантированного выполнения определённых задач по подтверждению блоков и поддержке InstantSend и CoinJoin - так в Dash называются технологии, обеспечивающие мгновенные и при этом, приватные транзакции, соответственно. За эту работу мастерноды получают плату, используя концепцию Proof of Service /«доказательство службы»/. Это концепция работает в дополнение к Proof of Work /«доказательство выполненной работы»/, применимой к майнерам, обеспечивающим безопасность блокчейна. Так же мастерноды могут голосовать по вопросам governance /управления и бюджетным предложениям, при этом, каждая мастернода имеет право на один голос (да/нет/воздержался) по каждому предложению, поданному в систему.

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

Мастерноды получают от сети вознаграждение за предоставляемые ими услуги InstantSend, CoinJoin и управление. 20% вознаграждения за блок идет в бюджет, а остальные 80% распределяются между майнерами и мастернодами в соответствии с этой таблицей перераспределения вознаграждения за блок 1. Затем, каждые 16 616 блоков (примерно 30,29 дня), создается суперблок, содержащий все 20% выплат победителям бюджетных предложений. Мастерноды выбираются для выплаты в каждом блоке (примерно каждые 2,6 минуты) из детерминированного списка мастернод, а после выплаты перемещаются в конец списка. По мере создания большего числа мастернод длительность промежутка между выплатами увеличивается. Если залог за мастер-узел израсходован или если мастер-узел перестал обслуживать сеть более чем на один час, он удаляется из списка до возобновления нормального обслуживания. Таким образом, мастерноды получают стимул для эффективного и надежного обслуживания сети.

Наличие столь большого числа серверов, хранящих полную копию блокчейна и работающих на монету может быть чрезвычайно полезным. Благодаря системе наград, отсутствует риск недостаточного числа мастернод и разработчики, при желении внедрить новые децентрализованные технологий, могут на них полагаться. Именно в этом истинная сила Dash- сеть финансово стимулируемых децентрализованных серверов, работающих 24х7, дающих возможность Dash более эффективно масштабироваться и внедрять функции, чем блокчейны, работающие исключительно на энтузиазме неоплачиваемых добровольцев. Чем больше мастернод, тем лучше и безопаснее сеть Dash.

По состоянию на июль 2024 года сеть Dash насчитывает более 3000 мастернод, расположенных <http://178.254.23.111/~pub/masternode_count.png>`_ в более чем 20 странах <https://chainz.cryptoid.info/dash/#!network>`_ и размещенных на более чем 140 интернет-провайдерах <http://178.254.23.111/~pub/Dash/masternode_ISPs.html>`_. Вознаграждение за блок составляет примерно 1,9 Dash, поэтому выбранная мастернода получает 1,4 Dash за платеж или примерно 6,5 Dash в месяц. Вознаграждение за блок уменьшается на 7,14 % примерно раз в год, поэтому годовой заработок владельца мастерноды составляет примерно 7 % от суммы залога и будет уменьшаться со временем как подсчитано здесь. Смотрите этот инструмент для расчета % выплат в реальном времени, а также этот сайт для получения различной статистики по сети мастернод в реальном времени.

Эволюционные мастерноды (Эвоноды)#

Эволюционные мастерноды (Evonodes) - это подмножество мастернод, созданных для хостинга Dash Platform. Эвоноды похожи на обычные мастерноды, но имеют следующие отличия:

Мастернода

Эвонода

Залог

1000 DASH

4000 DASH

Сервис(ы)

Только Dash Core

Как Dash Core, так и Platform

Вес голоса

1 (размер обеспечения / 1000)

4 (размер обеспечения / 1000)

Эвоноды также имеют более высокие требования к аппаратному обеспечению, чем обычные мастерноды, из-за дополнительных сервисов Dash Platform, которые они хостят. Дополнительную информацию об эвонодах смотрите в DIP28.

Концепты мастернод#

Ниже приведен список доступной документации:

Важные концепции:

  • Мастерноды «регистрируются» и начинают предоставлять услуги, когда в блокчейн записывается ProRegTx специальная транзакция, содержащая определенный ключ.

  • ProRegTx ссылается на идентификатор транзакции (txid) и индекс, содержащий залог. IP-адрес и порт центрального узла также определяются в этой транзакции.

  • ProRegTx содержит 2 адреса Dash (которые ещё называют публичными ключами) и один публичный ключ BLS, который представляет 3 различных роли в мастерноде и определяет права на обновление и голосование. Ключами являются:

    1. ownerKeyAddr: Это адрес Dash (публичный ключ), который контролируется владельцем мастерноды. Он отличается от адреса, используемого для хранения залога. Так как владелец использует приватный ключ, который связан с этим адресом для проведения транзакций ProUpRegTx, он должен быть уникальным для каждой мастерноды.

    2. operatorPubKey: Это публичный ключ BLS оператора мастерноды. Только оператору разрешено проводить транзакции ProUpServTx. Поскольку ключ оператора используется во время работы мастерноды в реальном времени для подписи P2P-сообщений, связанных с мастернодой, сообщений о кворуме и триггера голосов управления, ключ BLS должен быть уникальным для каждой мастерноды.

    3. votingKeyAddr: Это адрес Dash (публичный ключ), который используется для голосований по предложениям. Голоса, подписанные соответствующим приватным ключом, действительны, пока мастернода находится в зарегистрированном наборе.

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

  • Конфигурацию мастерноды можно обновить со временем, используя транзакции ProUpServTx, ProUpRegTx и ProUpRevTx. Для получения более подробных сведений смотрите Обновление информации о мастернодах в DIP003 и Информация по обновлению мастерноды в этой документации.

Процесс настройки или обновления мастерноды заключается в следующем:

  1. Настройте свой сервер и операционную систему

  2. Установите программное обеспечение Dash и синхронизируйте блокчейн

  3. Сгенерируйте пару BLS-ключей и введите приватный ключ для мастерноды

  4. Подготовка транзакции ProRegTx

  5. Подпишите транзакцию ProRegTx

  6. Подтвердите подписанную транзакцию ProRegTx

Шаг 1 можно пропустить, если у вас есть существующий сервер. Шаги 2 и 3 требуют прямого доступа к мастерноде. Для шагов 3 и 4 требуется доступ к кошельку Dash (или DMT). Шаг 5 требует доступа к кошельку, на котором удерживается залог. Шаг 6 требует информации о балансе Dash для оплаты транзакционных комиссий.

Мастерноды и майнинг#

Dash, ровно как Bitcoin и большинство других криптовалют, основывается на технологии распределённого списка транзакций, называемой блокчейном. Блокчейн защищён через механизм консенсуса; в случае Dash и Bitcoin, этот механизм называется Proof of Work (доказательство выполненной работы). При данном консенсусе Miners майнеры пытаются решить сложные криптографические задачи, используя специальное программное обеспечение и/или компьютеры. Когда они решают задачу, то получают право добавить новый блок в блокчейн. Если все остальные люди, у которых запущено соответствующее программное обеспечение, согласны с тем, что задача решена верно, то блок добавляется в блокчейн и майнер получает вознаграждение.

Однако Dash работает несколько иначе, чем Bitcoin, поскольку имеет двухуровневую сеть. На втором уровне работают мастерноды (Полные ноды), которые обеспечивают конфиденциальность финансовых операций (CoinJoin), мгновенные транзакции (InstantSend), а также децентрализованную систему управления и бюджета. Поскольку этот второй уровень так важен, мастерноды также получают вознаграждение, когда майнеры открывают новые блоки. Вознаграждение распределяется следующим образом: 80% вознаграждения за блок делится между майнером и мастернодой в соответствии с распределением, приведенным тут, а 20% предназначается для бюджетной системы (создается суперблоками каждый месяц).

Система мастернод характеризуется концепцией Proof of Service (PoSe) -доказательство службы, поскольку мастерноды предоставляют жизненно важные услуги для сети. Фактически, мастерноды осуществляют наблюдение за работой всей сети и наделены властью отказывать неверно сформированным майнерами блокам. Если бы майнер попытался забрать всю награду за блок себе или запустить старую версию программного обеспечения Dash, то сеть мастернод определила бы его блок как «сиротский» и он не был бы добавлен в блокчейн.

Если говорить кратко, то майнеры обеспечивают работу первого уровня, на котором происходит основная отправка и получение средств, а также предотвращение двойных расходов. На втором уровне работают мастерноды, которые обеспечивают дополнительные возможности, отличающие Dash от других криптовалют. Мастерноды не майнят, и майнинговые компьютеры не могут выступать в качестве мастернод. Кроме того, каждый мастернода «обеспечен» залогом DASH. Эти DASH всегда остаются под контролем их владельца и могут быть свободно потрачены. Средства никак не блокируются. Однако если эти средства будут перемещены или потрачены, то связанный с ними мастернод перейдет в автономный режим и перестанет получать вознаграждение.

Логика выплат#

Все выплаты мастернод исходят из основного блокчейна. Core-чейн выплачивает 62,5% от доли вознаграждения мастернод, которая полагается за добычу блока. Оставшиеся 37,5% помещаются в credit пул и используются для вознаграждения эвонод в рамках Платформы. Мастерноды и эвоноды также получают часть комиссии за транзакции в основном блокчейне, в то время как эвоноды получают все комиссии собираемые платформой.

Поскольку процент распределения вознаграждения фиксирован, ожидается, что количество эвонодов стабилизируется вокруг фиксированного числа, зависящего от общего числа мастернод (учитывая текущее число мастернод ~3850, ожидается ~450 эвонод). Это связано с тем, что если число evonodes превышает фиксированное, то работа обычного MN будет более выгодной, чем работа evonode, и хосты будут преобразовывать свои evonodes в MN.

Распределение вознаграждения#

С момента активации хардфорка, связанного с перераспределением вознаграждения мастернод в августе 2024 года на блоке 2128896, часть вознаграждения мастернод от coinbase перемещается в credit пул каждый раз, когда добывается блок. Поэтому сейчас эвоноды получают одно вознаграждение в течение цикла выплат в основном блокчейне, вместо 4 наград из 4 последовательных блоков, как это было в Dash Core v19/v20.

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

Совет

Пока сеть не достигнет точки равновесия, количество мастернод и эвонод будет колебаться. По мере преобразования большего количества мастернод в эвоноды частота платежей (и, соответственно, вознаграждений) в цепочке Core будет увеличиваться. Дополнительную информацию см. в Evonode FAQ, DIP28, и proposal approving evonodes.

Частота выплат#

Частота выплат мастернод Core блокчейна увеличилась, так как за цикл производится меньше выплат. Во время хард форка в сети было около 2600 включенных мастернод и около 175 включенных эвонод. Это привело к сокращению выплат с 3330 за цикл (2600 + (175 * 4)) до форка до всего 2775 (2600 + 175) после форка. Результаты этого изменения приведены в следующей таблице.

До форка

После форка

Разница

Результат

Выплата (Блоки)

3300

2775

-525

Более частые выплаты

Выплаты (Дни)

5.73

4.82

-0.91

Более частые выплаты

Выплаты / год

64

76

12

Больше выплат

Размер выплаты#

Увеличение частоты выплат уравновешивается снижением размера выплаты за один блок в основном блокчейне. Это уменьшение произошло в результате перемещения части средств в credit пул для Платформы Dash. В приведенной ниже таблице сравниваются выплаты майнерам, Credit пулу и Мастернодам из блока непосредственно перед хард форком и блока сразу после него.

Категория

До форка

После форка

Разница

Майнер

0.48

0.48

Без изменений

Credit пул

0

0.54

+0.54

Мастернода

1.43

0.89

-0.54

Итого

1.91

1.91

Без изменений

Совет

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

Core Вознаграждения#

Начиная с версии Dash 0.13.0, расчеты с мастернодами полностью детерминированы и основаны на простом алгоритме сортировки списка. В Dash версии 0.13.0 реализована функция DIP003, определяющая два набора мастернод.

  1. Полный набор, который содержит все зарегистрированные мастерноды, не потратившие своё залоговое подтверждение.

  2. Допустимый набор является подмножеством полного набора, который содержит все мастерноды, у которых нет метки бана Proof of Service (PoSe).

Каждая мастернода в наборе допустимых мастернод имеет свой ID, присвоенный ей при регистрационной транзакции и ассоциируется с блоком, в котором мастернодой последний раз была получена выплата. Если мастернода ни разу не получала выплату или была заблокирована за несоблюдение требований PoSe, то вместо блока последней выплаты используется блок, в котором мастернода была впервые зарегистрирована или в котором была восстановлена блокирования. Список сортируется в порядке возрастания по высоте блока и хешу ProRegTx (в качестве идентификатора для случаев, когда две мастерноды были зарегистрированы в одном блоке), и выплата отравляется первой записи в нём.

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

Вознаграждения платформы#

Вознаграждение эвонод основано на участии в консенсусе платформы. В частности, эвоноды получают вознаграждение за блоки, которые они предлагают, находясь в числе активных валидаторов. В конце каждой эпохи платформы (~9,125 дня) вознаграждения за блоки выплачиваются личностям мастернод, связанным с участвовавшими эвонодами.

Доказательство предоставления услуги#

Proof of Service (PoSe) - это балловая система, в рамках которой определяется, находится ли мастернода на хорошем счету в сети и предоставляет ли качественные услуги. В этом расчёте участвует множество характеристик, поэтому невозможно обмануть систему, подставив мастерноду под бан по несоответствию требований PoSe - например, из-за того, что мастернода не отвечает на запросы, потому что подверглась DDOS-атаке прямо перед осуществлением платежа. Каждое непредоставление услуги повышает количество баллов в PoSe по отношению к максимальному количеству баллов, которое равно количеству зарегистрированных мастернод. Если чьи-либо баллы достигают количества зарегистрированных мастернод, происходит бан PoSe, а мастернода должна будет перенастроиться, чтобы предоставлять сети надёжные услуги, и снова зарегистрироваться в списке через ProUpServTx. На текущий момент правила начисления баллов в Dash 0.14 таковы:

  • Проблемы при участии в DKG= 66% наказания

  • Каждый последующий блок снижает количество баллов PoSe на 1

Выбор кворума#

В прошлых версиях Dash кворумы из 10 мастернод формировались спонтанно для блокировки транзакций InstantSend. Начиная с версии Dash 0.14, кворумы формируются детерминированно, содержат большее количество мастернод и сохраняют свою активность в течение более длительного времени. Хотя они по-прежнему отвечают за транзакции InstantSend, механизм блокировки изменился и теперь автоматически пытается заблокировать большинство сетевых транзакций в соответствии с требованиями, описанными :ссылка:`здесь <is-broadcast>`. Теперь мастерноды отвечают и за другие функции сетевого консенсуса, такие как ChainLocks. Кворумы мастернод формируются в процессе распределенной генерации ключей <dashpay/dips>`__. Неучастие в DKG в конечном итоге приведет к PoSe бану, как описано выше.

Требования к мастернодам#

  • Обеспечение DASH: Размещение мастерноды требует большого количества DASH-залога. Пожалуй, это самое сложное. Dash можно получить на таких биржах, как Poloniex, Bittrex, Kraken и LiveCoin. Отличным способом является также сервис Shapeshift.

  • Сервер или VPS под управлением Linux: В большинстве последних руководств используется Ubuntu 22.04 LTS. Мы рекомендуем такие VPS-сервисы, как Vultr и DigitalOcean, хотя подойдет любой достойный провайдер.

  • Выделенный IP адрес: обычно они прилагаются к VPS/серверу.

Помимо DASH, находящегося в обеспечении, к мастернодам предъявляются также минимальные требования к аппаратному обеспечению. Для версий Dash 20.0 и выше эти требования следующие:

Обычные мастерноды#

Минимальные

Рекомендованные

ЦПУ

2x 2 ГГц

3x 2 ГГц

Оперативная память

4 Гб + 2 Гб swap

8 Гб + 4 Гб swap

Место на жёстком диске

60 Гб

80 Гб

Сеть

750 Гб/мес

1 Тб/мес

Эвоноды#

К Evonodes предъявляются более высокие требования к железу, поскольку на них размещаются сервисы Dash Platform и Dash Core. Для эффективной поддержки сети рекомендуются следующие требования:

Примечание

Intel CPUs should be Haswell architecture or newer

Рекомендованные

ЦПУ

4x 2.4 ГГц

Оперативная память

8 Гб + 2 Гб swap

Место на жёстком диске

200 Гб

Сеть

1 Тб/мес

Использование пропускной способности мастернод варьируется и будет расти по мере развития сети.