DoA

Материал из P2POOL WIKI
Версия от 18:38, 13 февраля 2018; Uxal (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Просроченные (stale) шары и их виды

В P2Pool есть два вида просроченных шар: мёртвые (DoA) и сироты (orphan). Общее у них то, что они не принимаются в расчет при определении доли майнера в выплатах при нахождении блока, а также то, что если они удовлетворяют уровню сложности, чтобы стать блоком, то они будут отправлены в сеть и выплаты состоятся. Ниже мы попытаемся обсудить их сходства и отличия.

Dead on Arrival (DoA)

Понятие о мертвых шарах

Мёртв по прибытии (англ. Dead on arrival (DOA)) — термин, применяемый полицией США для пострадавших при различных инцидентах и умерших до прибытия медиков. В переносном смысле так иногда называют новый товар, полученный уже сломанным.

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

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

На вероятность запаздывания шары влияют не только сетевые задержки, но и задержки дисковой подсистемы, процессора и т.д. Все эти задержки отражаются на показателе "Задержка получения задания" (getwork latency), который отражается в классической статистике P2Pool.

В случае P2Pool майнеры стремятся найти псевдошары, которые следуют в несколько раз чаще, чем блоки монеты. Майнер получает новое задание после каждой найденной псевдошары, следовательно количество "мертвых" решений на нем в несколько раз больше, чем на обычном пуле в похожих условиях.

Но, в отличие от обычного пула, "мертвые" решения не означают, что такое решение потеряно. Если решение не может стать псевдошарой потому, что опоздало, но его хэш удовлетворяет критерию сложности блока, нода P2Pool отправит его в сеть монеты, и майнеры получат выплаты.

Где посмотреть статистику по DoA

Большинство нод показывают "мгновенное" (на самом деле усредненное за 10 минут) значение DoA на основной странице.

Текущее значение DoA

Но этот показатель малоинформативен, так как может колебаться в значительных пределах. Гораздо интереснее усредненный показатель DoA за длительный период времени. Для того, чтобы посмотреть его, нам понадобится "классическая" статистика[1].

Сначала надо перейти в классический интерфейс (обычно ссылка под списком активных майнеров):

Doa2.png

А затем нажать на ссылку Graphs в самом верху. Doa3.png

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

Doa4.png

Обратите внимание на среднее за день значение хэшрейта (70Th/s) и среднее за день значение DoA (6,87Th/s). Если мы разделим второе значение на первое и умножим на 100, то мы получим процент DoA (6,87/70*100=9,8%)

Способы уменьшения DoA

Хотя, как было сказано выше, высокий уровень DoA не сильно влияет на эффективность P2Pool в целом, но он может значительно снижать долю майнера в выплатах. Ниже рассматриваются способы снижения уровня DoA:

  1. Снизьте сетевые задержки. Если есть возможность поставьте проводной интернет вместо мобильного, оптоволокно вместо DSL и т.д.
  2. Подключитесь к ноде с меньшим уровнем DoA. Выберите несколько нод с наименьшим пингом и попробуйте добывать на каждой по одному дню. Остановите свой выбор на ноде с наименьшим уровнем DoA (DoA зависит не только от сетевых задержек, поэтому, не всегда наименьший уровень DoA будет на ноде с наименьшим пингом.).
  3. Если у вас есть навыки системного администрирования, рассмотрите вопрос об установке собственной ноды в одной локальной сети с оборудованием для майнинга.

Замечание

Как вы знаете из статьи о псевдошарах, в P2Pool есть различие между стратум-шарами (решения, которые удовлетворяют сложности, заданной в стратум-протоколе) и псевдошарами. Различие в том, что псевдошары удовлетворяют минимальной сложности P2Pool. Первые используются исключительно для статистики, вторые — как доказательство работы. И первые и вторые могут иметь статус Dead, поскольку пулу известно, что шара опоздала и он может это легко определить. Поэтому существует статистика по DoA. Но только псевдошара может иметь статус orphan. Почему, мы попытаемся объяснить ниже.

Orphan shares

Механизм возникновения

Итак, псевдошара найдена и отправлена в сеть P2Pool. Обычно, все ноды принимают её и начинают искать следующую. Но случается такая ситуация, что две (или более, но это реже) ноды находят решение почти одновременно. Каждая из нашедших не знает, что другая нода тоже нашла псевдошару и посылают свое решение в сеть. В результате часть сети принимает одну псевдошару, а часть другую. В дальнейшем всё будет зависеть от того, какая половина сети первой найдет новую псевдошару. Как и в Bitcoin самая длинная цепь станет истинной, а менее удачливая псевдошара превратится в сироту (orphan).

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

Где посмотреть статистику

Статистика по orphan псевдошарам отображается только для ноды в целом, на графиках классической версии.

Как бороться

То, что выше говорилось про DoA можно сказать и про orphan. Определенный процент псевдошар-сирот неизбежен. А поскольку все страдают от них, то доля остается более-менее равной, если конечно уровень орфан-шар не превышает значительно общий по сети. От высокого процента сирот страдает не пул целиком, а конкретная нода. Если же на ноде очень высокий уровень орфанов, то вероятны проблемы в сетевой связности или в программном обеспечении.

Примечания

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