Что такое майнинг, стейкинг и как работают алгоритмы консенсуса?

До того, как Сатоши Накамото применил блокчейн в системе биткоина, было предпринято огромное количество попыток создать децентрализованную платежную систему. Но все они были безуспешны, так как разработчикам не удавалось создать такие условия, которые бы позволили достичь соглашения между всеми участниками сети и обеспечить ее работоспособность. Это и называется консенсусом в сети блокчейн. Он достигается тогда, когда все участники сети согласны относительно валидности транзакций и все реестры – точная копия друг друга. В этой статье мы рассмотрим самые популярные алгоритмы консенсуса, как достигается соглашение, подробно поговорим о майнинге, стейкинге и остановимся на криптографической задаче, которую решают участники майнерской сети.

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

Proof-of-Work (PoW). Что такое майнинг?

Для начала рассмотрим самый известный алгоритм консенсуса – Proof-of-Work, как следует из названия, - это механизм достижения соглашения между пользователями сети с публичным доказательством проделанной работы. Процесс достижения консенсуса по данному алгоритму тесно связан с майнингом.

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

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

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

Давайте подробней рассмотрим цикл добавления вашей транзакции в блокчейн.

Вы переводите свою криптовалюту на другой адрес в блокчейне. Информация о вашей транзакции помещается в общий реестр, который называется MemPool. К нему имеют доступ все майнеры сети. Данный список постоянно пополняется новыми транзакциями, оттуда майнеры берут себе то количество операций, которое могут обработать. Затем для каждой транзакции решают сложную криптографическую задачу. Если майнеру удаётся решить задачу, то он отправляет решение на устройства других участников сети. Остальные проверяют, верно ли решена задача и правильно ли сконструирована цепочка блокчейна. Если всё верно, блок добавляется в блокчейн. Здесь стоит сказать о том, что в блокчейн добавляется блок, подготовленный майнером, который первым решил задачу. Дублирование блоков невозможно, иначе возникнет двойное расходование. (Ситуация в сети блокчейн, когда кто-то пытается отправить один биткоин двум получателям одновременно. Однако, когда транзакция подтверждена, отправить те же самые биткоины уже другому получателю невозможно. Чем больше подтверждений есть у каждой отдельной операции, тем сложнее организовать двойное расходование)

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

Для удобства восприятия информации мы составили для вас небольшую инфографику:

Что такое майнинг, стейкинг и как работают алгоритмы консенсуса?

Итак, какую же задачу решает майнер? Чтобы это понять, разберём сначала более подробно, что такое хэш-функция.

Хэш-функция.

Криптографическая хэш-функция - это математический алгоритм, который отображает данные произвольного размера в битовый массив фиксированного размера. Это функция вида F(X+N) = H, где X – любой набор символов неограниченной длины (информация, записанная в блоке), H – это значение хэш-суммы, а N – свободная переменная, в криптографии эту переменную называют Nonce, она представляет собой любое значение от 1 до 4 миллиардов. Результатом шифрования или хэширования является «хэш-сумма», многие называют его просто хешем, он представляет собой набор цифр , в котором зашифрована информация.

У хеш-функции есть очень важные на свойства, благодаря которым её и используют в криптографии:

1. Детерминированность. (В математике – определяемость) Это значит, что одно и то же сообщение с точностью до символа приводит к одному и тому же хеш-значению.

2. Уникальность. Не существует двух разных сообщений с одинаковым хэш-значением. Обратите внимание на это свойство, оно является базовым и наиболее важным. Приведём пример для понимания. Возьмём произведение Теодора Драйзера «Финансист», проведём шифрование, а затем во всём произведении уберём всего одну запятую, и получим совершенно другое значение хэш-суммы. Можете попробовать сами по этой ссылке.

Что такое майнинг, стейкинг и как работают алгоритмы консенсуса?

3. Быстрота вычисления. Хэширование позволяет достаточно быстро вычислить нужный хэш для большого объема информации.

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

Алгоритмы хэширования.

Существует множество алгоритмов хеширования – MD5 (Message Digest 5, генерирует 128-битный ключ, что составляет 16 байт данных. Функции и классы для работы с MD5 реализованы во всех языках программирования. MD5 используется на многих веб-сайтах и веб-сервисах.);

SHA-1 (Secure Hash Algorithm 1, генерирует 160-битный ключ, что составляет 20 байт данных. Этот алгоритм считается более надежным, по сравнению с MD5, но и более сложным и выполняется немного медленней);

SHA-2(256), SHA-2(512) и т.д. (Secure Hash Algorithm 2, это вторая версия алгоритма SHA-1, алгоритм может генерировать 256-, 384-, 512-битный ключ, что составляет 32, 48 или 64 байта данных. Этот алгоритм считается более надежных, по сравнению с предшественниками.);

В блокчейне биткоина используется алгоритм SHA-2(256). Число 256 в названии алгоритма означает, что на выходе мы получим строку фиксированной длины 256 бит независимо от того, какие данные поступят на вход.

Скорее всего, к данному этапу статьи у вас возникло пару вопросов: неужели миллиарды транзакций, проведённых в биткоинах, не перебрали все наборы всего лишь 256 битной строки? И почему в начале статьи говорится о строке цифр, а в хеш-значениях присутствуют буквы?

Итак, ответ на первый: ну конечно, нет! Ведь, количество комбинаций равняется 2 в 256 степени, что приблизительно равно 1,158×1077. И да, значение хеша записывается в 16-ричной системе счисления, в которой присутствуют буквы. (В обычной же жизни мы с вами используем 10-тичную, кстати, вот вам конвертер, попробуйте сами)

Криптографическая задача.

Давайте разберёмся, что за задача стоит перед майнерами в сетях блокчейна. Итак, вся информация, находящаяся в блоке (Х), подлежит шифрованию посредством алгоритма SHA-2(256), в ходе чего мы получаем хэш-сумму (H). Алгоритм блокчейна устанавливает некоторую минимальную границу значения хэша, назовём это число Y. Майнер в свою очередь считает хэш-сумму всего блока и сравнивает её с минимальной границей Y. Если условие H<Y выполняется, то задача считается решённой, если же нет – то майнер меняет свободную переменную Nonce (N) и снова применяет алгоритм SHA-2(256) до тех пор, пока условие задачи не выполнится. Если вы внимательно изучили свойства хэш-функций, о которых я писал выше, то поняли, что при изменении N на единицу значение хэша полностью меняется, причём, меняется непредсказуемо - нет никакой закономерности между тем, как изменился Nonce, и тем, как изменится результат хэш-функции. По крайней мере, пока что никому не удалось такую закономерность найти. Поэтому все майнят простым перебором Nonce.

Proof-of-Stake (PoS). Что такое стейкинг?

Алгоритм Proof-of-Stake – это механизм достижения соглашения между пользователями с доказательством доли владения, по принципу своего действия он похож на голосование среди акционеров компании — наибольшую власть получает тот, у кого больше всех акций.

Стейкинг – это процесс, при котором пользователи хранят криптовалюту и обеспечивают работоспособность блокчейна.

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

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

Отличия стейкинга от майнинга.

На сегодняшний день процесс майнинга в сети биткоин – это сложный процесс, требующий больших вычислительных мощностей для получения новых блоков. Людям, которые хотят заработать на добыче блоков, приходится покупать дорогостоящее оборудование, разработанное специально для майнинга. Один из примеров подходящей техники – специализированные интегральные схемы (ASIC). Если эта тема вам интересна, пишите в комментариях – расскажем про виды оборудования для майнинга.

Отличия двух самых популярных алгоритмов консенсуса представлены ниже:

Что такое майнинг, стейкинг и как работают алгоритмы консенсуса?

Стейкинг постепенно начинает вытеснять традиционный майнинг, всё больше новых блокчейн проектов кладут в свою основу алгоритм Proof-of-Stake ввиду более простого механизма заработка для пользователей и большей экологичности и энергоэффективности.

В данный момент команда разработчиков блокчейна Ethereum работает над программным кодом, который позволит второй по капитализации и популярности криптовалюте Ether перейти с PoW на PoS.

«Майнинг требует большей включенности в процесс, надо постоянно держать руку на пульсе. В случае стейкинга процесс упрощен и открыт для большего числа участников блокчейн-сообщества, порог входа в стейкинг ниже, чем порог входа в майнинг», - отметил Максим Крупышев, СЕО криптоплатежной системы Coinspaid.

Альтернативные алгоритмы консенсуса.

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

Proof-of-Authority (PoA, Процедура прихода к консенсусу с доказательством права) - Процедура консенсуса на основе разграничения прав пользователей;

Delegated Proof-of Stake (DPoS) – идея состоит в том, что каждый пользователь может голосовать за представителей – тех, кто одобряет транзакции.

Proof of Importance (PoI) – является модернизированной версией PoS. Помимо рассмотрения количества участников, владеющих валютой, алгоритм анализирует их поведение: где, когда и насколько часто монеты ими передаются.

Hybrid PoS/PoW (Гибридный PoS/PoW) - Гибридный алгоритм достижения консенсуса PoS/PoW позволяет одновременно использовать и Proof of Stake, и Proof of Work процедуры для достижения консенсуса. В этом случае можно достичь баланса между майнерами и держателями монет, создав систему управления со стороны «внешних» (майнеры) и «внутренних» (держатели) участников.

Для чего мне вообще знать, что такое алгоритмы консенсуса? Как мне это поможет заработать на крипте?

Технологии, на которых базируются блокчейн-системы, показывают их фундаментальную ценность. Понимая их, вы осознаёте, во что инвестируете, как устроен тот или иной актив;

У крупных инвесторов, фондов и корпораций, двигающих криптоиндустрию, есть определённые цели в развитии данных технологий, важно понимать, в какую сторону они смотрят, так как имеют большое влияние на движение цены;

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

Друзья, как сказал известный американский финансист и инвестор Питер Линч: «Знайте, чем вы владеете, и знайте, почему вы этим владеете». Спасибо за прочтение, подписывайтесь на наши обновления, будет ещё много полезной информации.

P.S. Подписывайтесь на наш Telegram-канал, там мы публикуем образовательный материала по финансам, крипто и блокчейн-технологиям.

1919
3 комментария

Хорошая статья, спасибо)

2

спасибо большое за статью

1

Интересно, спасибо 🤔