Посвящается всем, у кого украли блок, у кого не падают блоки, кто сидит в соло и переживает, что падающие блоки забирает кто-то другой.

Материал родился под впечатлением от ужаса, пережитого при прочтении темы о работе пула 2Miners на форуме майнингклаба. Основан на многодневном бдении в канале 2Miners. Бдении чаще безмолвном, потому что просто невозможно одно и то же писать, как в первом классе — с начала каждой страницы.

Извечные вопросы: «Где блок?», «Где награда за блок?», «Доколе нам ещё копать блок?» повторяются каждый день.

Особенно они пугают, когда их начинают задавать владельцы мощности 2+ GH/s. Я понимаю, что в момент «привета» найсхеша многочисленные последователи секты «Протона» пошли в народ, то есть в пулы. Но не заставляйте меня полностью потерять веру в человечество! Как?! Как, имея оборудования на сумму больше миллиона рублей, можно не иметь хотя бы среднего образования?

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

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

tekhnologiya-blokchejn-postepenno-nachinaet-zavoevyvat-mir.jpg

Что такое блокчейн

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

В сети постоянно выполняются транзакции между кошельками, изменяются балансы, добавляются новые кошельки. Всю эту информацию надо сохранить.  Для этого в блокчейн добавляют очередной блок, который и содержит информацию о транзакциях за текущий период. Из-за этого блокчейн постоянно прирастает блоками с новыми данными. Причем мы можем добавить информацию в блокчейн исключительно путем дописывания её в новый блок. Линейность и наследуемость — одни из самых важных свойств блокчейна. Никто не может отредактировать информацию, которая уже хранится внутри прошлых блоков. Мы в любой момент можем проследить все транзакции, хоть до самой первой. Переписать историю в случае с блокчейном нельзя.

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

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

Что такое Proof of Work и Proof of Stake

В зависимости от используемого протокола формирования подписи нового блока практически все криптомонеты делятся на два типа: PoW (Proof of Work) и PoS (Proof of Stake). Есть и третий тип — смешанный, но мы оставим его за скобками.

У монет на протоколе PoS подписание блоков происходит одним из «кошельков» в сети. Вероятность подписать блок и получить за него награду растёт от количества монет в кошельке. При прирастании сети новым блоком награда за него делится между всеми держателями монет в зависимости от их доли.

Нам же интересен именно «аппаратный майнинг». У монет с протоколом PoW блоки подписывают майнеры. Для подтверждения блока майнер проводит вычисления и решает функцию. Нахождение ответа происходит простым «тупым» перебором одного из параметров уравнения. Кто первый угадывает ответ, тот и подписывает очередной блок в сети и получает за это награду.

Тут появляется награда. Как мы уже знаем, для функционирования криптосети нужно постоянное добавление в блокчейн новых блоков. Чтобы майнеры PoW монет или держатели монет с PoS протоколом поддерживали сеть своим участием, им платят деньги. Это случается при добавлении каждого нового блока в блокчейн. Награда состоит из постоянной части и суммы комиссии за транзакцию.

Перед обсуждением награды за блок знакомимся с процессом майнинга.

Как работают майнинг пулы

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

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

После каждой шары пул проверяет, нет ли среди них решения блока. Если решение подходит, он отправляет его в сеть.

Часто несколько пулов одновременно находят решение блока и отправляют его практически одновременно. Сети всё равно — она принимает только одно решение, а в блокчейн включает только один блок. Остальные будут отвергнуты и не получат награды. В сети Ethereum такие блоки называют uncle. За них майнер получает вознаграждение, хоть и в меньшей степени.

Одни из самых частых вопросов в канале поддержки пула 2Miners: «Как часто падают блоки?». Ответ – блоки не падают вообще.

Как выбрать монету для майнинга

У каждой монеты разное время блока. Например, у ETC это примерно 15 секунд. «Примерно», потому что среднее время блока — не абсолютная величина. Это время, к которому стремится сеть. Она определяет сложность задач, чтобы они решались в среднем за 15 секунд. Новый блок добавляется за то же время.

Сам код POW-криптовалюты пишется так, чтобы среднее время появления блока стремилось к расчётному. За это отвечает формула сложности сети. Время решения задачи зависит от двух параметров: сложности задачи и вычислительной мощности — количества майнеров. На количество майнеров сеть не влияет, а вот на сложность — да. Поэтому сложность сети растёт по мере увеличения числа майнеров. И наоборот.

Чтобы было проще, представим процесс майнинга абстрактно. Допустим, есть ящик с песком, в котором закопана монетка – блок. Глубина неизвестна, то есть может быть любой. Для нахождения блока надо последовательно черпать из ящика песок.

Размеры ящика определяет сложность сети, а размеры лопатки – мощность наших ригов. Чем выше сложность сети, тем больше будет ящик. Но и чем больше лопаток, то есть мощность рига, тем быстрее мы должны выкопать монетку.

Параметры ящика и лопаты не дадут рассчитать время нахождения монеты. Можно копнуть маленьким совком один раз и сразу выкопать монету. А можно большой лопатой вычерпать ящик до дна. Тут  всё зависит от удачи.

Что такое удача пула

Появились первые понятия, с которыми мы сталкиваемся на пуле:

  • сложность сети;
  • хешрейт или мощность рига;
  • удача.

Вроде всё просто. Нам нужен блок, мы идём к ящику и майним его.

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

Например, мы с друзьями втроём копаем в одном ящике. Мой совок вмещает 5 см3, Лёшин — 10 см3, а у Миши мини-экскаватор с ковшом на 85 см3. При нахождении монеты делим её пропорционально: мне 5 частей, 10 частей Лёше и 85 частей экскаваторщику. Всё вроде как честно. У Миши больше производительность, так что и награда больше.

Но почему же тогда в жизни на пулах при дележе награды за блок всегда возникают споры? Ответ в предыдущем абзаце.

Или другая обсуждаемая ситуация. Мы с парнями в этом ящике три дня совками орудовали, и всё впустую. А тут приехал Миша-экскаваторщик и за десять минут выкопал сразу 15 монет.  Забрал себе 12, а нам дал только 3 монеты. Ну и где справедливость? А она в 3 монетах, которые из ковша выпали.

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

В соло-майнинге у каждого свой ящик. Никто никому не мешает и не помогает. Запомните: у каждого свой ящик и своя лопата. В соло-майнинге каждый сам за себя.

Вроде бы просто, но на форумах частенько муссируется тема влияния игроков с большим хешрейтом на результаты остальных майнеров. Нет никакого влияния. Просто на одном пуле все соло ящики поставили в одной комнате. И пока одни совочком разбрасывают песок, Миша своим ковшом достаёт кучу монет. Это причина праведной злости. Связи нет, это простая психология.

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

Если копаем ETC, то каждые 15 секунд сеть будет давать новый ящик. Независимо от того, успели в старом найти монету или нет. Всё, раунд окончен, будьте добры пройти к следующему ящику.

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

Помните — физический труд сделал из обезьяны человека. Умственный труд сделал из человека умного человека.

Удачного майнинга и «лёгких» блоков.

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

Спасибо Максиму Шмелеву за такой подробный и интересный разбор полётов!