Руководство: Атака 51%

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

Вот небольшой пример: предположим, я решил потратить 10 биткоинов на роскошный автомобиль. Через несколько дней мне доставляют машину, а биткоины из моего кошелька перечисляются компании-продавцу автомобилей. Осуществляя атаку 51% на блокчейн Биткоина, я могу попытаться дать задний ход этой Биткоин-транзакции. Если мне всё удастся, я стану счастливым обладателем и роскошного автомобиля и моих же биткоинов, получая тем самым возможность вновь потратить эти же биткоины. Сама концепция такой атаки может показаться очевидной с точки зрения демократического блокчейна, но существует распространённое заблуждение о том, как она в действительности работает. В этой короткой статье будет сделана попытка дать ясное и более подробное объяснение механизма атаки 51%.

Блокчейн = управление

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

Как происходит атака 51%

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

Скрытный майнинг – создание тайной побочной цепочки в блокчейне

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

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

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

Майнер-мошенник исключает собственные транзакции из своего частного блокчейна.

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

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

Гонка – отмена существующих транзакций путём трансляции новой цепочки

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

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

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

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

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

Так как же Биткоин защищён от этого?

На практике провести подобные атаки чрезвычайно сложно. Как упоминалось ранее, майнеру потребуются мощности хэширования, превосходящие таковые всей остальной сети вместе взятой, чтобы его атака прошла успешно. А принимая во внимание тот факт, что в блокчейне Биткоина возможно насчитывается сотни тысяч майнеров, такому майнеру-злоумышленнику придётся потратить громадные деньги на оборудование для майнинга, чтобы соревноваться со всей остальной сетью. Даже самые мощные компьютеры в мире не могут напрямую конкурировать с общей вычислительной мощностью в этой сети. Можно найти бесчисленное количество аргументов против проведения атаки 51%. Например, риски быть пойманным и подвергнуться судебному преследованию, в добавок к расходам на электроэнергию, аренду помещений для хранения всего этого оборудования для майнинга, заметанию следов и отмыванию денег. Операция такого рода, говоря простым языком, потребует слишком больших усилий по сравнению с тем, что она даст злоумышленнику взамен, по крайней мере, в случае блокчейна Биткоина.

Уязвимы ли другие блокчейны?

Ещё одна интересная новость заключается в том, что, независимо от того, насколько трудно будет выполнить такую атаку, многочисленные атаки 51% действительно имели место в прошлом. Вообще-то, одна из подобных атак была произведена сравнительно недавно (в апреле 2018 года) на блокчейн Verge (XVG). В данном конкретном случае, злоумышленник обнаружил ошибку в коде блокчейн-протокола Verge, которая предоставила ему возможность производить новые блоки в чрезвычайно быстром темпе, тем самым позволив ему создать за короткое время более длинную версию блокчейна Verge. Этот пример иллюстрирует событие, которое может способствовать атаке 51%, однако являющееся весьма редким и в основном возникающее благодаря ошибке в коде протокола. Авторитетная команда блокчейн-разработчиков наверняка заметит подобный баг и предотвратит его злонамеренное использование.

При изучении алгоритма «подтверждения выполнения работы» / «Proof of Work» мы узнаём, что наличие больших мощностей хэширования приводит к большей защищённости против атаки 51%. Более мелкие блокчейны альткойнов, работающие на основе этого алгоритма, могут быть в гораздо большей степени уязвимы к подобным атакам, учитывая, что злоумышленникам не потребуются существенные вычислительные мощности для проведения атаки, ввиду незначительной суммарной мощности хэширования в таких блокчейнах. По этой причине атаки 51% обычно проводятся, если вообще проводятся, против маленьких блокчейнов (например, Bitcoin Gold). Биткоин-блокчейн, к слову, никогда ранее не становился жертвой атаки 51%.

ASIC-майнинг – усовершенствованное оборудования для майнинга

Это так же подводит нас к одной из последних «горячих» тем в блокчейне – майнингу с помощью устройств ASIC. Технология ASIC-майнинга была разработана различными ранними компаниями-майнерами Биткоина с целью усовершенствования оборудования для майнинга, делая его гораздо более мощным. В настоящее время ведутся многочисленные споры о том, делает ли оборудование, основанное на ASIC, некоторых индивидов или группы, занимающихся майнингом, слишком влиятельными из-за возросших мощностей. Блокчейн Monero (XMR) недавно осуществил обновление своего блокчейн-протокола, который заблокировал использование ASIC-майнинга в этом блокчейне. В результате обновления общая мощность хэширования в сети Monero упала на ошеломляющие 80% (смотрите ниже)!

Вычислительные мощности в сети XMR упали на 80% после блокировки ASIC-майнинга!

Данное событие является показателем того, сколько мощностей в блокчейне Monero находилось в руках майнеров, использовавших ASIC-оборудование. Возможно, это не представляло бы проблемы, если бы все участники сети использовали майнинговое оборудование, основанное на ASIC-технологии. На самом деле проблема заключается в том, что майнинговые компании-гиганты, такие как Bitmain, подозреваются в контроле над большим количеством операций с использованием ASIC-майнинга. И даже несмотря на то, что подобные организации предоставляют эту технологию и частным лицам, предполагается что это происходит только после того, как они сами использовали её первыми в течение длительного времени. Некоторые люди в блокчейне спорят о том, делает ли сей факт такие компании слишком влиятельными или же нет. В идеале, блокчейн должен быть управляем как можно большим количеством майнеров. В конце концов, именно это делает блокчейн более децентрализованным.

Как выглядит изнутри одна из майнинговых-ферм Bitmain во Внутренней Монголии, Китай.

Источник: cryptocurrency.tech

No votes yet.
Please wait…

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.