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

Общий обзор#

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

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

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

Masternodes are paid by the network for the InstantSend, CoinJoin and governance services they provide. 20% of the block subsidy goes to the budget with the remaining 80% split between miners and masternodes per this block reward reallocation table. Then, every 16,616 blocks (approximately 30.29 days), a superblock is created that contains the entire 20% payout to the budget proposal winners. Masternodes are selected for payment in each block (approximately every 2.6 minutes) from a deterministic masternode list, and moved to the back of the list after payment. As more masternodes are created, the duration between payments increases. If the collateral behind a masternode is spent, or if a masternode stops providing services to the network for more than one hour, it is removed from the list until normal service resumes. In this way, masternodes are given incentive to provide efficient and reliable services to the network.

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

По состоянию на сентябрь 2023 года в сети Dash насчитывается почти 3500 мастернод, расположенных в 19 странах и размещенных на более чем 140 интернет-провайдерах. Вознаграждение за блок составляет примерно 2,310 Dash, таким образом, выбранный masternode получает 1,344 Dash за платеж или примерно 6 Dash в месяц. Вознаграждение за блок уменьшается на 7,14% примерно раз в год, поэтому годовой заработок владельца masternode составляет примерно 7% от суммы залога и будет уменьшаться со временем как рассчитано здесь. См. инструмент <https://dash- news.de/dashtv/#value=1000>`_ для расчета ставок выплат в реальном времени, а также сайт <http://178.254.23.111/~pub/Dash/Dash_Info.html>`_ для получения различной статистики по сети masternode в реальном времени.

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

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

Мастернода

Эвоноды

Залог

1000 DASH

4000 DASH (4x залог для обычной мастерноды)

Характеристики

Меньше, чем эвоноды

Выше, чем у обычных мастернод

Сервисы

Только Dash Core

Как Dash Core, так и Platform

Вес голоса

йъ

Имеет силу голоса в 4 раза чем обычная мастернода

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

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

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

  • Мастерноды «регистрируются» и начинают предоставлять услуги, когда в блокчейн записывается 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 works a little differently from Bitcoin, however, because it has a two-tier network. The second tier is powered by masternodes (Full Nodes), which enable financial privacy (CoinJoin), instant transactions (InstantSend), and the decentralized governance and budget system. Because this second tier is so important, masternodes are also rewarded when miners discover new blocks. The breakdown is as follows: 80% of the block subsidy is split between the miner and a masternode per the distribution found here, while 20% is reserved for the budget system (created by superblocks every month).

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

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

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

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

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

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

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

Логика платежей эвоноды#

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

Эвоноды будут получать 100% комиссионных, генерируемых платформой, и 37,5% от части вознаграждения за блок Core, получаемой мастернодами. Обычные MN будут получать оставшиеся 62,5% вознаграждения за блокчейн Core и 0% вознаграждения Platform.

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

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.

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

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

In addition to the DASH held in collateral, masternodes also have minimum hardware requirements. For Dash versions 20.0 and higher, these requirements are as follows:

Минимальные

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

ЦПУ

2x 2 ГГц

3x 2 GHz

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

4 Гб + 2 Гб swap

8 Гб + 4 Гб swap

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

60 Гб

80 Гб

Сеть

750 GB/mth

1 Тб/мес

Masternode bandwidth use ranges between 600-900 GB per month and will grow as the network does.

Dash Evolution#

Точные требования к оборудованию для мастернод Dash Evolution пока не определены, хотя некоторые параметры можно взять из дорожной карты и этого поста в блоге. Пока размер блока не достигнет приблизительно 20 МБ, должна быть возможность запуска мастернод Dash на обычных серверах VPS, после чего может потребоваться специальное оборудование, такое как графические процессоры, а впоследствии и ASIC-устройства.