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

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

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

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

Мастерноды получают оплату от сети за свою работу, такую как обеспечение PrivateSend, InstantSend и управление. 45% награды за блок платится мастернодам, 45% майнерам и 10% идут в Бюджет. На практике, половина награды за нормальный блок идёт майнерам и половина мастернодам. Далее, каждые 16616 блоков (примерно 30,29 дней) создаётся суперблок, который целиком состоит из накопившихся 10% наград, он распределяется на выплаты бюджетным предложениям, получившим одобрение. Мастерноды, которые получат награду выбираются в каждом блоке случайным образом (примерно каждые 2,6 минуты) из верхних 10% списка общего числа мастернод. После получения выплаты, мастернода перемещается в конец списка. По мере увеличения числа мастернод, растёт и время ожидания выплаты. В алгоритме выплат заложена случайность, но в долгосрочной перспективе все мастерноды получат одинаковые выплаты. Если сумма, заложенная в мастерноду будет потрачена или мастернода перестанет работать на сеть на время более часа, то она удаляется из списка до восстановления нормального функционирования. Таким образом, мастерноды стимулируются к обеспечению эффективной и надёжной работы в сети.

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

по состоянию на март 2018, в сети Dash есть более 4700 мастернод в 41 стране и их хостинг обеспечивает более более 100 провайдеров. Награда за блок составляет приблизительно 3.34 DASH, таким образом, мастернода получает выплату в 1.67 DASH за раз или около 6 DASH в месяц. Награда за блок уменьшается на 7.14% примерно раз в год, таким образом, за год владелец мастерноды зарабартывает примерно 7% от заложенной суммы, но это значение со временем будет падать, как показано в подсчётах здесь. Для подсчётов наград в реальном времени используйте этот инструмент, и этот сайт для получения различной статистики по сети мастернод.

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

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

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

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

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

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

В 12й версии Dash вплаты мастернодам определяются использованием децентрализованной закономерной очереди с вероятностным выбором

Общий всемирный список

Каждая мастернода появляется в общем всемирном списке. Позиция мастерноды в этом списке определяется временем, прошедшим с последней выплаты согласно сети, а не блокчейна. Новые мастерноды, присоединяющиеся к сети и мастерноды, уже получающие выплаты, располагаются в конце списка. Работающие, активные мастерноды, которые были перезапущены с помощью rpc команд „masternode start“ или „masternode start-alias“ тоже находятся в конце списка. Для избежания этого испльзуйте новую prc команду „masternode start-missing“. По мере того, как мастерноды перемещаются в конец общего списка, оставшиеся мастерноды медленно поднимаются вверх по списку. Как только мастернода папдает в 10% мастернод, находящихся вверху списка, она становится подходящей для выбора в пуле выбора.

Пул выбора

Пул выбора это верхние 10% из общего списка мастернод. Размер этого списка определяется общим числом мастернод. Например, если есть 4500 активных мастернод, то верхние 450 в общем списке допущены к выборке. Как только мастернода попадает в пул выбора, то факт её выбора для выплаты награды определяется энтропией хешей блоков. Блок захешированный 100 блоков назад определяет, какая мастернода получит награду. Двойной SHA256 хеша транзакции выплаты и индекс всех мастернод в пуле выбора сравнивается с доказательством выполненной работы 100 блоков назад. В итоге, мастернода с самым близким цифровым значение хеша к хешу того блока выбирается для выплаты награды.

Вероятности

По причине того, что выбор определяется энтропией хешей блоков, то предугадать, когда поступит выплата невозможно. Операторы мастерноды дожны ожидать, что временные интервалы между выплатами могут разниться. Как только мастернода попадает в пул выбора, то выплаты ей являются вопросом вероятности. В данном примере вероятности рассчитаны исходя из наличия в пуле 450 мастернод (при общем числе в 4500). Ноды в пуле выбора выбираются для наград случайным образом, то есть вероятность ноды быть выбранной в любом блоке составляет 1/450.

Нижепредставленная таблица показывает процент вероятности выбора подходящей ноды для выплаты награды в определённый период времени. Например, вероятность выбора подходящей ноды для награды в 12-ти часовой период времени составляет 46%. Данная таблица не даёт (и не может дать) информацию о вероятности выбора после обозначенного периода времени. Например, если ваша мастернода не была выбрана в течение последних 12 часов, а, как мы знаем из таблицы, вероятность этого составляет примерно 54%, то вероятность быть выбранным в следующем блоке не 46%. Она остаётся 1/450. Если сложить всё это вместе, то при наличии подходящей ноды и, допустим, если прошло 48 часов с последней выплаты, то вам, должно быть, очень не повезло, так как вероятность такого события составляет менее 10%. Но ваши шансы быть выбранным в следующем блоке составляют ровно столько же, сколько и для любого блока, то есть 1/450.

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

Часы Блоки Вероятно
1 23.07 5.00%
2 46.14 9.76%
3 69.21 14.27%
4 92.28 18.56%
6 138.42 26.50%
8 184.56 33.67%
10 230.70 40.14%
12 276.84 45.98%
18 415.26 60.30%
24 553.68 70.82%
30 692.10 78.56%
36 830.52 84.24%
42 968.94 88.42%
48 1107.36 91.49%
72 1661.04 97.52%
96 2214.72 99.28%

Вы можете запустить код, (он написан членом сообщества Dash moocowmoo для создания таблицы выше, код здесь.

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

InstantSend транзакции в Dash версии 12 обезопашены использованием консенсуса заданно выбранных мастернод. Этот набор мастернод неформально называется кворумом и он должен быть согласован большинством- как минимум, шестью из десяти, только при этом транзакция пройдёт. Многочисленные кворумы самовыбираются для каджого ввода InsantSend транзакции через математичекие расстояния между хешем каждого ввода и набором транзакций финансирующей мастерноды.

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

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

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

  • 1000 DASH: пожалуй, самая трудная часть, но это утверждение спорно. Dash можно приобрести на таких биржах как Poloniex, Bittrex, Kraken и Livecoin. Также будет очень удобно воспользоваться ShapeShift.
  • Сервер, работающий на Linux: последние руководства используют Ubuntu 16.04 LTS, Мы рекомендуем VPS сервисы такие как Vultr и DigitalOcean, но подойдёт любой хороший провайдер. В целом, подойдёт система со средними характеристиками, но по мере продвижения по дорожной карте, системные требования будут расти.
  • Выделенный IP адрес: обычно они прилагаются к VPS/серверу.
  • Ещё недавно настройка мастерноды была сложным процессом требовала много времени (и даже смелости), но теперь есть инструменты типа dashman, которые заметно облегчают процесс.

В дополнение к наличию 1000 DASH, мастернода имеет минимальные системные требования. В версии 12.1 эти требования таковы:

  Минимальные Рекомендованные
Процессор 1x 1 ГГц 1x 2 ГГц
Оперативная память 1 Гб 2 Гб
Место на жестком диске 8 Гб 16 Гб
Сетевой траффик 400 Гб/мес 1 Тб/мес

Мастернода передаёт информации порядка 300-500 Гб в месяц и это число будет расти вместе с сетью.

Dash Evolution

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