Найти тему
RusCoinsInfo

Зачем нужен майнинг токенов в Blockchain

Оглавление

Задайте себе вопрос: как проходит процесс майнинга, или как транзакция оказывается в блокчейне? Редакция RuscoinsInfo постаралась рассказать о майнинге подробно.

Подтверждение криптовалютных транзакций

Этап 1. Клиент оформляет транзакцию в своем кошельке, намереваясь отправить какую-то сумму в криптовалюте на другой.

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

Этап 3. Майнеры выбирают транзакции из этих пулов и формируют их в блок. Блок ー в основном, набор транзакций (на данном этапе все еще неподтвержденных) и некоторых метаданных. Каждый майнер создает свой собственный блок, но несколько майнеров могут выбрать одну и ту же транзакцию.

Представьте двух майнеров: A и Б. Оба могут выбрать транзакцию X для своего блока. Но подтвердится она только в блоке того, кто успеет его подписать первым. У второго эта же транзакция станет недействительной, и ему придется начинать сначала. 

Важно! У каждого блока есть максимальный размер. Например, у биткоина (BTC) это всего 1 МБ. Многие альткоины расширили это значение, а значит повысили скорость принятия транзакций.

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

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

Что такое майнинг?

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

Чтобы решить задачу, требуется большая вычислительная мощность (и, следовательно, много электроэнергии). Этот процесс и называется майнингом.

Хэширование (алгоритм консенсуса Proof-of-work)

Математическая проблема заключается в поиске хэш-вывода ー hash output (он же подпись) для данных в своем блоке, который начинается с определенного количества нулей.

Хеш функция ставит математическую задачу, которую очень трудно решить, но ответ очень легко проверить. Она принимает входную строку чисел и букв (буквально любую строку случайных букв, цифр и/или символов) и превращает ее в новую 32-разрядную строку из случайных букв и цифр. Эта 32-разрядная строка и является хэш выходом.

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

Теперь рассмотрим данные внутри блока как хэш вход (строку данных). Когда этот вход шифруется, он дает 32-разрядный ответ. Правило блокчейна биткоина заключается в том, что эта строка должна начинаться с последовательного количества нулей для того, чтобы получить право стать подписью блока.

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

Вот почему требуется столько вычислительной мощности. Подбор такого количества символов требует много времени и вычислительной мощности.

Этап 5. Майнер, который первым найдет подходящую подпись (решение) для своего блока, транслирует его остальным.

Этап 6. Другие майнеры проверяют, соответствует ли это решение проблеме (приводит ли хэш-вход фактически к этой подписи). Если это действительно так, майнеры подтвердят решение и согласятся, что блок может быть добавлен в блокчейн. Именно так раскрывается понятие proof-of-work (доказательство работы).

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

Этап 7. И остается добавить блок в блокчейн. Это происходит сразу после проверки блока другими майнерами. Каждый раз, когда появляется еще один блок после этого, он считается «доказательством» для предыдущего блока. Злоумышленники не смогут ее изменить, если таких подтверждений будет очень много.

Когда в блокчейне появляется новый блок, все майнеры должны начать сначала формировать свой. Они не могут продолжать (ну, они могут, но это совершенно бессмысленно) вычислять блок, над которым они работали, по двум причинам:

  • Он может содержать транзакции, которые были подтверждены последним блоком, добавленным в блокчейн. Поэтому некоторые из этих транзакций теперь могут стать недействительными, что сделает блок недействительным в целом.
  • Каждый блок должен добавить хэш-вывод последнего блока в свои метаданные. Это то, почему он и является блокчейном. Если майнер продолжает вычислять блок, над которым он уже работал, другие заметят, что хеш-выход не соответствует последнему блоку в блокчейне и откажут в подтверждении.

Хочешь получать самые свежие и актуальные новости о криптовалютах в Telegram? Тогда подписывайся на наш официальный канал → https://t.me/ruscoinsinfo

Источник статьи