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

  • Автор темы Автор темы darkowner
  • Дата начала Дата начала
Когда речь заходит о майнинге, то обычно говорят, что майнеры каким-то образом добывают биткоины. На самом деле, майнеры обеспечивают надежность блокчейна, и невозможность взлома. За эту очень важную и полезную работу они получают биткоины.
Чтобы разобраться в сути майнинга, нужно немного поговорить о криптографии и понять, что такое «хеш-функция».
«Хеш-функция» — это способ преобразования любой информации.
Это алгоритм, который получает на входе любые данные (текст, картинка, код):
Получение такой последовательности называется «хеширование», а сама последовательность – «хеш». Хеширование выполняется компьютером или другим вычислительным устройством.

Хеш-функция имеет следующие особенности:

1. Одинаковые исходные данные всегда дают одинаковый хеш, разные исходные данные – разный;
2. Малейшее изменение входных данных (например, лишний пробел) всегда приводит к необратимому и непредсказуемому изменению хеша;
3. Хеширование работает только в одну сторону. Получить хеш из исходных данных можно, получить исходные данные из хеша можно только решив математическую задачу по подбору ключа хеш-функции. По сложности, это сравнимо с майнингом.
Различных видов хеш-функций имеется множество, однако блокчейн биткоина построен на одной из них с названием SHA-256.

Алгоритм работы блокчейна с применением хеш-функции

Как для создания блокчейна используется хеш-функция?
Для начала, у нас есть самый первый, стартовый блок. В нем хранится информация — записи о переводах средств:
Именно этим занимаются майнеры по всему миру. Чтобы присоединить новый блок с биткоин-переводами к цепочке блокчейна, нужно, чтобы он был «красивым». Поэтому майнеры постоянно вычисляют хеш этого блока, подставляя все новые и новые значения параметра «nonce» в надежде получить «красивый» блок.

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

Чем больше общая мощность майнерской сети, тем быстрее она производит вычисления, тем проще найти «красивый» блок.
Однако, у системы есть требование: новый блок в цепочке должен появляться в среднем один раз в 10 минут. Поэтому, чем больше вычислительная мощность сети майнеров – тем больше требования системы к «красивости» блока. То есть система будет требовать, например, чтобы хеш нового блока начинался не с трех нулей, а с четырех, пяти и так далее, чтобы для его нахождения нужно было сделать больше вычислений.

Система автоматически подстраивается под вычислительную мощность майнеров. Поэтому, сколько бы майнеров не подключалось к сети, «добыть» монет больше, чем запрограммировано системой, не получится!
И все же — зачем майнеры, можно сказать, “просеивают пустую породу”? Для чего все-таки необходимо это огромное количество громоздких вычислений? Какая от них практическая польза?

Суть майнинга биткоинов

Представим себе, что кто-то хочет переписать историю транзакций и вносит изменение в блок. Он хочет стереть запись в «Блоке 1» о том, что ему отправили 2 биткоина. Он влезает в систему, вносит изменения в «Блок 1». Но, поскольку в информацию внесены изменения, хеш блока меняется! Вычисляется новый хеш, и… теперь он не начинается с трех нулей! Система не принимает блок 1, исключая его из цепочки блокчейна — ведь он «некрасивый» и его хеш не начинается с трех нулей.
Значит, чтобы обмануть систему и оставить в цепочке блокчейна блок c “подчищенным” переводом, нужно сделать его «красивым». Значит, нужно заново пересчитывать хеш этого блока, меняя значения параметра «nonce». Считать придется до тех пор, пока вновь не будет получен «красивый» блок. Наконец, методом перебора, наден искомый хеш, получен «красивый» блок. Теперь «Блок 1» снова можно подставить в цепочку блокчейна.

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

Для этого нужно иметь вычислительную мощность, превышающую совокупную вычислительную мощность всей сети майнеров. А мощность сети майнеров в настоящий момент в 4 000 000 раз превышает мощность ведущего мирового суперкомпьютера.

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

Откуда берутся биткоины при майнинге?

Одновременно с присоединением к блокчейну нового блока, система выпускает определенное количество новых биткоинов.

Сатоши Накамото программно заложил что всего может быть создано 21млн биткоинов. Если в начале истории биткоина за добавление в блокчейн нового блока майнеры могли заработать 50 BTC, через каждые 210 тысяч блоков, то есть раз в 4 года происходит халвинг (halving, «уполовинивание») — это уменьшение в два раза размера вознаграждения майнерам за добавление ими нового блока в блокчейн — вплоть до того момента, когда с добычей последнего сатоши (предположительно в 2140 году) эмиссия криптовалюты будет закончена. До мая 2020 года эта эмиссия составляла 12,5 биткоинов за блок, теперь эта величина будет составлять 6,25 биткоина за блок. Именно эти вновь выпущенные монеты и достаются майнерам.

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

По материалам novmir.info
 
Назад
Верх