Процесса майнинга криптовалют

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

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

СОДЕРЖАНИЕ

  • Как работает криптовалютный майнинг?
  • Запись и проверка транзакций
  • Принцип майнинга криптовалюты
  • Доказательство работы
  • Увеличение общей вычислительной мощности
  • Блокчейн

Объединение сети

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

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

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

Запись и проверка транзакций

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

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

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

Принцип майнинга криптовалюты

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

Создать хеш легко, но вернуть его к исходным данным практически нереально. Это похоже на добавление чисел. Если вам нужно добавить числа 3,2 и 5, то есть только один правильный результат (и это 10). Но если кто-то спросит вас, какие три числа вы должны добавить, чтобы получить 10, существует бесчисленное множество разных вариантов. Также нельзя определить исходные хеш-данные. Для каждой криптовалюты устанавливается время, необходимое для извлечения одного блока (10 минут для биткойнов).

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

Доказательство работы

Перед запуском программы майнинга в блок добавляется так называемый «nonce». Nonce — это текст, который не имеет смысла, но меняет полученный хеш. Вы можете изменить этот фрагмент текста, если полученный хеш не соответствует всем требованиям. Программа просто изменяет одноразовый номер, разрешает хэш и проверяет, соответствует ли результат требованиям. Если нет, цикл повторяется. В секунду современные компьютеры могут обрабатывать миллионы таких циклов в секунду или более. Некоторым это может показаться удивительным, но криптовалюта действительно основана на пробах и ошибках.

  • Пример: как изменение данных влияет на результирующий хеш, иллюстрируется калькулятором, который преобразует текст в хеш с использованием алгоритма биткойнов SHA256. Предположим, что решенный блок содержит три транзакции, а полученный хеш должен начинаться с двух нулей. Поскольку вы не хотите изменять информацию о транзакции, но хотите изменить хеш, вы добавляете «nonce». Затем вы случайным образом изменяете эту часть файла, пока не получите хеш, который начинается с двух нулей.

Увеличение общей вычислительной мощности

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

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

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

Блокчейн

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

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

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

Объединение сети

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

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