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

Candellmans

Мастер
Сообщения
7,955
Реакции
8,482
3 января 2009 года была проведена первая операция по добыче биткоинов, и вознаграждение в размере 50 BTC было отправлено на адрес 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, принадлежащий, скорее всего, таинственному Сатоши Накамото, разработчику Bitcoin. Сгенерированный им генезис-блок содержал текст «The Times 03/Jan/2009 Chancellor on brink of second bailout for banks» («Канцлер на грани повторного вливания денег банкам», реальный заголовок с первой полосы британской газеты The Times от 3 января 2009 – перев.), что было намеком на финансовый кризис того времени и на основную мотивацию зарождения децентрализованной валюты.

По состоянию на май 2021 года, эти 50 биткоинов соответствуют 2,9 миллионам долларов. Однако то ли из-за особенностей системы, то ли по прихоти разработчика, эти первые 50 BTC невозможно пустить в оборот. Зато эта первая операция майнинга дала старт тому, что сделало идеи Сатоши Накамото о децентрализованной валюте всемирно признанной финансовой и технической силой, с которой нужно считаться.

16c177e9477c32feb220ef5c954bdddf.jpg

На сегодня, уникальных майнеров одного только биткоина – не менее миллиона, не говоря уже о майнерах всех других существующих криптовалют. Из новостей мы слышим о них лишь то, что майнеры ежегодно тратят тераватт-часы электроэнергии (0,51% мирового производства электроэнергии) на цели майнинга, а также неистово скупают новейшие видеокарты в первый день их продаж и занимаются раскруткой новых, но несколько спорных, цифровых решений, таких как CryptoKitties и невзаимозаменяемые токены (NFT).

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

Идеи Сатоши​

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

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

Звучит здорово, но оставалась ещё одна маленькая техническая проблема, которую необходимо было решить. Проблема заключалась в том, что запросить транзакцию мог любой, даже без каких-либо средств. И нет того, кто проверял бы сперва – действительно ли данная транзакция подкреплена соответствующей суммой.
1624347770656.png

Графика: techspot.com
Например, у Алисы есть 100 долларов. Утром она пообещала Бобу, что даст ему вечером эти 100 долларов. То же самое она пообещала Чарли и Дэвиду, независимо друг от друга. Всем показала свои 100 долларов, каждому пообещала их вечером, и все трое согласились на сделку с Алисой. Таким образом, если вечером публичный реестр (который, так сказать, высекается в камне) будет содержать 3 транзакции по 100 долларов, инициированные Алисой, то кому нужна такая система?

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

1624347848050.png


В частности, биткоин-майнеры первоначально соревновались за вознаграждение в размере 50 BTC примерно каждые 10 минут. К сегодняшнему дню это вознаграждение прошло уже через три халвинга (halving), то есть было три раза уменьшено вдвое, и теперь оно составляет 6,25 BTC. Халвинг биткоина осуществляется каждые четыре года, и следующее такое «уполовинивание» гонорара произойдёт в 2024 году (3,125 BTC), и так будет до тех пор, пока майнеры не добудут последний из 21 миллиона биткоинов (ожидается, что это будет около 2040 года).
Как выразился Виталик Бутерин, сооснователь Ethereum, «халвинг помогает удержать инфляцию под контролем». После того, как будут добыты все биткоины (или любая другая криптовалюта), сеть продолжит работу за счет комиссии за транзакции.

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

Были ли эти идеи в полной мере реализованы, всё ещё остается предметом споров. Однако, если отвлечься от экономики, как такая система смогла появиться на свет из простого 9-страничного документа?

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

Как валюта стала «крипто»​

В уайт-пейпере Сатоши слово GPU вообще не упоминалось, рассматривая в качестве майнинг-оборудования лишь мощности, основанные на CPU. А теперь и майнерские фермы на базе GPU-кластеров – это «прошлый век», поскольку добывать цифровое золото со временем становится всё сложнее и чтобы оставаться конкурентоспособными в борьбе за награду, майнеры выбирают FPGA или ASIC. В чем принципиальное отличие этих архитектур в контексте майнинга? В уровне параллелизма. Для майнинга важен максимально высокий уровень параллельных вычислений.

Работа майнера двоякая. Ему нужно валидировать блоки данных и добавлять транзакции в блокчейн. Одновременно только один майнер может выполнять эту операцию, добавляя новый блок. Таким образом, чтобы иметь честь организовать следующий блок транзакций, майнер должен первым найти корректное 64-значное шестнадцатеричное число («хеш»).
1624347974387.png

Графика: techspot.com
Хорошая новость для майнера заключается в том, что математически задача на самом деле несложная. Цель состоит в том, чтобы найти правильное число (традиционно называемое «nonce»), которое будучи зашифровано (криптографическим алгоритмом SHA-256, в случае биткоина) даст число, меньшее заданного значения. А плохая новость в том, что найти это число можно не иначе как только перебором. На то она и криптография.
По сути, все эти огромные вычислительные мощности майнерских ферм едят гигаватты электроэнергии, монотонно выполняя одну и ту же простую операцию параллельного перебора множества nonce-значений в попытке найти правильное хэш-значение.
В качестве примера взглянем на этот блок из блокчейна Bitcoin:

1624348044797.png

Длинное значение в строке Hash – и есть то число, за которым охотятся майнеры. Несколько нулей в его начале – не случайно, это помогает определять уровень сложности алгоритма майнинга. Подробнее об этом чуть позже.

Для генерации данного блока 678411 было использовано nonce-значение 2,217,356,589 (или 0x842a2d2d в шестнадцатеричном формате). Этот одноразовый код (nonce = «number that can only be used once») используется в сочетании с несколькими другими значениями (такими как хэш предыдущего блока, корень Меркла, отметка времени и т.д.) таким образом, что суммарный хэш всех этих значений будет меньше определенного Target-числа для 00000000000000000006c9fad44b7f37429b239d99d50396df13f8c4f4fa9194.

Чтобы лучше понять уровень сложности этой криптографической задачи, воспользуйтесь этим удобным онлайн-кодировщиком SHA-256.
Теперь представьте, что в поле «Message» введена последовательность нескольких данных, включающая сводку по нескольким транзакциям (например, Алиса отправила Бобу 100 долларов), различные метаданные (хэш предыдущих блоков, корень Меркла, отметка времени и т.д.) и значение nonce. Задача состоит в том, чтобы подобрать такое значение nonce, которое при добавлении его в эту шифруемую последовательность, дало бы результат хэша с 19 нулями в начале.
Поиграв с этим онлайн-калькулятором, вы быстро убедитесь, что для того, чтобы получить на выходе значение хотя бы с двумя нулями в начале (не говоря уже о не менее 19), нужно перебрать огромное количество вариантов входящего значения. Фактически, чтобы повысить сложность майнинга блока, достаточно увеличить количество требуемых начальных нулей, удерживая, таким образом, под контролем правило «10 минут на блок», особенно по мере увеличения количества майнеров.
В приведенном выше блоке 678411 мы также видим, что вознаграждение за его добычу составило 6,25 BTC. На момент написания этой статьи 6,25 – это стандартное вознаграждение в биткоинах, которое будет ещё несколько раз уполовиниваться, пока не будут добыты все BTC. После того, как все BTC будут добыты, сеть будет работать исключительно за счет комиссии за транзакции, предоставляя майнерам часть транзакций в блоке за их работу.
Такой алгоритм работы майнинга обычно называется «Proof-of-Work» (PoW) – «доказательство выполненной работы». Идея фактически восходит к концепции доверия: только вместо того, чтобы доверять некоему централизованному объекту или субъекту выполнение всех транзакций и принимать его слова как «доказательство» того, что ничего злонамеренного не произошло, система PoW требует, чтобы майнер проделал правильный объем работы как показатель благонадежности. Поскольку криптографические задачи требуют огромных усилий для их решения путем определения подходящего значения nonce, майнер эффективно доказывает, что им добросовестно выполнена вся необходимая вычислительная работа.
1624348155674.png


Proof-of-Work (PoW) vs. Proof-of-Stake (PoS). Ссылка
Некоторые другие системы используют альтернативный алгоритм достижения консенсуса, называемый «Proof-of-Stake» (PoS) – «доказательство доли владения». На него, в частности, собирается перейти Ethereum как ETH2. Этот алгоритм кардинально меняет роль майнера, чей объём работы и соответствующие вознаграждения рассчитываются пропорционально его доле в системе.
Криптографический алгоритм лежит в основе любой криптовалюты. Для тех «математических задач», которые требуется решить майнеру, криптография подходит как нельзя лучше благодаря следующим её характерным свойствам:

  • Нет смысла пытаться применить обратно-направленное вычисление (подбирать nonce начиная с target-значения)
  • При прямо-направленном же вычислении предстоит обработать огромный объём вариантов подбора
  • Этот объём можно регулировать, что позволяет, в частности, увеличить при необходимости сложность майнинга, усиливая тем самым и безопасность сети
  • Блокчейн неизменен, и попытка внести ретроспективные изменения в любую из совершенных транзакций влечет за собой рассогласованность всей последующей цепи транзакций

SHA-256 – не единственный криптографический алгоритм, используемый для криптовалют. Как упоминалось ранее, одна из проблем майнинга биткоинов заключается в том, что большинство майнеров сейчас используют ASIC (application-specific integrated circuit, «интегральная схема специального назначения») – специализированное оборудование, которое предназначено только лишь для вычислений SHA-256. Ethereum, например, использует алгоритм Dagger-Hashimoto, который создавался с учетом устойчивости к ASIC. Monero, ByteCoin и Dashcoin используют алгоритм CryptoNight, который также считается устойчивым к ASIC и вдобавок использует обфускацию блокчейна для обеспечения лучшей конфиденциальности. И мир этот лишь растёт, являя всё новые криптовалюты, алгоритмы для их майнинга и массу других технических деталей.

i2HARD
 
Последнее редактирование:
Назад
Сверху Снизу