телеграм бот✅ Делай сайт. Бесплатный хостинг.Рекламы нет.Строитель страниц.
супер валюта
🇷🇺Создай свой бизнес в интернет. Получи подарки.

криптокошелек
✅Криптокошелек, обмен, есть пластик
супер валюта
🇷🇺 Лучшая площадка России для трейдинга
супер валюта
✅ICO.Копи деньги на отпуск! Подробнее
супер валюта
🇷🇺 Начни торговать криптовалютой
супер телеграмм бот
✅Интеллектуальный телеграмм бот!

✅Привлечение трафика и рефералов бесплатно.

Быстрые уроки о биткоин. Майнинг (mining) означает добычу полезных ископаемых

Дмитрий Днепров

Быстрые уроки о биткоин. Майнинг (mining) означает добычу полезных ископаемых

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

Действительно, слово «майнинг» (mining) в переводе с английского означает добычу полезных ископаемых. А майнеры (miners) — это шахтеры.

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

Вернемся к денежным переводам (транзакциям), которые составляют главную задачу и цель существования сети Биткоина.

Собственно, процесс денежных переводов в типичной финансовой среде описывается серией из четырех последовательных шагов:

  1. Submission — отправитель посылает в систему платежное сообщение (поручение) о переводе некоторой суммы денег получателю;
  2.  Validation — сообщение проходит процедуру проверки отправителя и целостности сообщения;
  3.  Conditionality — проверяется наличие достаточного баланса для перевода на счету отправителя;
  4. Settlement — проведение транзакции, перевод денежных средств на счет получателя.

В современной экономике эти процессы обычно поддерживаются финансовыми посредниками, такими как банки.

Отправитель (клиент банка) посылает платежное сообщение или поручение (submission) в платежную систему банка. Это сообщение должно пройти процедуру подтверждения (идентификации) клиента и целостности сообщения (validation). После успешной валидации сообщения банковская система проверяет необходимые условия для платежа (conditionality), а именно — достаточность средств на балансе клиента или наличие кредита. Если все проверки пройдены, банк окончательно (безусловно и безотзывно) проводит платеж (settlement)— пополнение счета получателя и уменьшение баланса счета отправителя.

Как видим, с одной стороны эта система централизована — основную роль в проведении платежей выполняет финансовый посредник — банк. С другой стороны, эта система построена на доверии к посреднику, поскольку клиенты доверяют банку проводить финансовые операции со своими деньгами.

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

Поэтому, процесс денежных переводов в них присходит несколько по-другому, а именно:

Submission — отправитель перевода при помощи программного приложения «биткоин-кошелек» направляет в сеть Биткоина сообщение, в котором указываются биткоин-адреса отправителя и получателя, а также сумма перевода и сумма комиссии за перевод (опционально).
Это сообщение автоматически подписывается электронной цифровой подписью (ЭЦП) отправителя, которая формируется при помощи закрытого (приватного) ключа отправителя и криптографически связана с его биткоин-адресом.
Validation — это сообщение проходит проверку в сети по ЭЦП. Тем самым, происходит идентификация отправителя. Для проверки используется биткоин-адрес, поскольку он связан с приватным ключом отправителя при помощи которого он подписал сообщение.
На самом деле личность отправителя не имеет значения, она остается анонимной. Под идентификацией отправителя понимается соответствие биткоин-адреса отправителя и сообщения (платежного поручения) криптографической подписи (ЭЦП). Тем самым подтверждается, что указанная сумма денег (монет биткоина) должна быть отправлена с конкретного биткоин-адреса.
Conditionality — проверяется наличие достаточного баланса для перевода на счету отправителя. Для этого, согласно протоколу Биткоина, происходит подсчет всех непотраченных Выходов (т.н. UTXO — unspent transaction output) этого адреса. Подробнее см. статью «Быстрые уроки о биткоин. Блок».
Если все проверки прошли, сформированная транзакция ждет добавления в блок и записи в блокчейн.
И вот тут, собственно, и начинается процесс, который получил название «майнинг».

Что же это такое майнинг? Попробуем разобраться…

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

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

Во-вторых, как мы знаем, сеть Биткоина является одноранговой и децентрализованной, т.е. состоящей из многих разбросанных по всему миру постоянно работающих компьютеров (серверов), называемых узлами (node).

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

При этом могла возникнуть ситуация называемая «проблемой двойных трат», когда некий недобросовестный пользователь Биткоин-сети решил отправить со своего биткоин-адреса, баланс которого составляет 1 BTC, одновременно два платежа по 1 BTC на два разных биткоин-адреса.

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

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

Следовательно, необходимо делегировать право записи в блокчейн сформированного блока какому-то одному узлу.

Но, какой именно узел будет это делать? Ведь сеть Биткоина одноранговая и все узлы имеют равные права.

Автор Биткоина, некий Сатоши Накамото, предложил в протоколе использовать для определения такого узла известный алгоритм, который получил название Proof of Work (PoW) — доказательство сделанной работы.

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

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

Такой криптографической задачей в протоколе Биткоина является задача по подбору параметра, называемого nonce, который, будучи добавлен к заголовку сформированного блока, давал хэш-код, начинающийся с заданного количества нулевых битов (bits), что равносильно получению хэша, менее или равного заданному большому числу (Difficulty Target или попросту Target).

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

Такую задачу можно решить только перебором большого количества разных параметров (nonce). Что очень трудоемко и требует больших вычислительных мощностей.

С другой стороны, проверка правильности решения этой криптографической задачи очень проста — надо при помощи хэш-функции SHA-256 вычислить хэш-код сформированного блока, в заголовок которого добавлен найденный параметр nonce.

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

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

Следует добавить, что сложность решаемой криптографической задачи может изменяться (увеличиваться) в зависимости от суммарной мощности компьютеров узлов, занятых майнингом. С ростом этой мощности количество нулевых битов в искомом хэше растет таким образом, чтобы максимальное время поиска результата (nonce) было не более 10 минут. Это автоматическое изменение сложности зашито программно в протоколе Биткойна и выполняется через каждые записанные 2016 блоков, т.е. примерно один раз в две недели.

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

Важный момент! Затраты майнеров на вычислительные ресурсы (стоимость оборудования и электроэнергии) являются надежной защитой от т.н. «атаки 51%» — состояния, когда более половины вычислительной мощности сети Биткоина контролируется одним майнером или группой майнеров. Теоретически, этот объём вычислительной мощности дает власть над сетью. Это означает, что каждая клиентская программа в сети верит в подтвержденный блок транзакций атакующей стороны.

Это позволяет атакующим осуществить контроль над сетью, включая следующие полномочия:

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

Затратность майнинга компенсируется высокой надежностью от попыток взлома денежной сети и осуществления над ней контроля, делая экономически нецелесообразной т.н. «атаку 51%».

Но, вернемся к собственно майнигу… А где же добытые «шахтерами» (майнерами) деньги (биткоины)?

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

Собственно, новые монеты могут попасть в сеть Биткоина только в результате майнинга. Тем самым осуществляется эмиссия биткоина.

Первоначально (в 2009 году) за каждый новый блок (т.е. каждые 10 минут) манеры, которые добавили его в блокчейн, получали 50 монет BTC. Но, опять же, протоколом Биткоина установлено, что через каждые 210 000 блоков (примерно 4 года) вознаграждение за новый блок уменьшается в 2 раза. Поэтому сейчас (2017 год) майнеры получают за добавленный блок 12,5 BTC. А суммарное количество биткоинов (эмиссия) не может превышать 21 млн монет. Почему это так,  рассказано здесь.

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

Подведем итоги:

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

  • Запись нового блока транзакций в блокчейн.
  • Выпуск новых монет биткоина (эмиссия).
  • Сетевое вознаграждение участникам сети (майнерам) за обработку транзакций и формирование нового блока.
  • Защита от т.н. «атаки 51%», делающая экономически нецелесообразными попытки взлома и контроля денежной сети,
  • Поддержание большого количество копий блокчейна в сети. Это происходит из-за того, что майнерам необходимо иметь полную актуальную (последнюю) версию блокчена для контроля (валидации) новых транзакций.

Понятно, но не совсем? Смотрите отличное видео!

Скажите пожалуйста, вам статья помогла лучше понять что такое Майнинг (mining), и  почему это означает «добычу полезных ископаемых»? Она доступна к пониманию тем, кто новичок в этой сфере? Поделитесь своим мнением в комментариях ниже.

Подписывайтесь на новости Kriptoman в Telegram и делитесь в соцсетях.

HashFlare
🇷🇺 Знаменитый сервис облачного майнинга

✅Привлечение трафика и рефералов бесплатно.
криптокошелек ✅Криптокошелек, обмен, есть пластиктелеграм бот✅ Делай сайт. Бесплатный хостинг.Рекламы нет.Строитель страниц.

супер валюта
⚠️Лидер облачного майнинга в сети
супер валюта
✅Игра для всех, кто любит побеждать
супер телеграмм бот
✅Интеллектуал телеграмм бот!
супер валюта
🇷🇺Создай свой бизнес в интернет. Получи подарки.
The Best Traffic Exchange
Яндекс.Метрика