Содержание
Основой для большинства криптовалют является технология блокчейн, которая считается независимой и безопасной системой. Но у нее есть свои слабые места, главным из которых является возможность атаки 51%, позволяющей злоумышленнику контролировать счета инвесторов и всю сеть.
Разбираемся, что такое атака 51%, как она происходит, сколько ресурсов требует, обсуждаем самые известные случаи и выясняем, каким образом сети защищаются от нападения.
Что такое атака 51 процент
Атака 51% – это захват системы, при котором майнинговая мощность злоумышленника превышает остальную мощность системы как минимум на 1%.
В руках атакующего находится так называемый «контрольный пакет» генерирующих мощностей. Целью такой атаки является избавление от конкурента, если речь идет о новой криптовалюте, либо получение наживы, если атакуют успешную валюту.
Принцип атаки представим в виде примера: допустим, Джон купил у вас квартиру за 50 биткоинов, деньги он перевел вам на счет. Вы получили сумму, отдали Джону документы на квартиру и вы попрощались. Через некоторое время Джон совершил нападение на платежную систему и перевел 50 биткоинов в неизвестном направлении. Вы зашли проверить свой счет и увидели, что на нем нет ваших 50 монет. Вдобавок вы лишились квартиры.
Для осуществления подобной атаки Джону потребуется владеть нужной суммой для оплаты покупки и располагать достаточным количеством мощностей, чтобы доказать участникам платежной системы свою правоту. Обладая нужной мощностью, Джон сможет убедить систему в том, что что платеж за квартиру был совершен по ошибке, поэтому 50 биткоинов придется отправить в другом направлении. Таким образом, успешность атаки зависит от наличия достаточных финансовых ресурсов и мощности, а не специальных навыков у злоумышленника.
В случае атаки на блокчейн хакеры, имеющие достаточно возможностей для майнинга, могут намеренно заморозить всю работу сети.
Если майнер получит доступ к 51% хешрейта, то сеть будет признавать верными только его блоки.
Успешная атака 51% позволяет злоумышленнику предотвратить подтверждение некоторых или всех транзакций, осуществив транзакционный отказ в обслуживании, или предотвратить добычу всех остальных майнеров, что приведет к монополии на добычу валюты.
Тем не менее, даже владея 51% общего хэшрейта, злоумышленники не могут отменять транзакции от других пользователей или предотвращать создание транзакций и их трансляцию в сеть. Изменение вознаграждения за блок, создание монет из воздуха или кража монет, которые никогда не принадлежали атакующим, также считаются невозможными событиями при совершении атаки.
Как происходит атака 51%
Снова возвращаемся к ситуации, когда Джон приобрел у вас квартиру, атаковал сеть, вернув свои деньги, и лишил вас имущества. Когда вы, как владелец тех 50 биткоинов, подтверждаете транзакцию, сеть помещает ее в один из локальных пулов неподтвержденных операций. Остальные майнеры выбирают транзакции из локальных пулов, тем самым формируя блок транзакций. Для того, чтобы добавить его в блокчейн, майнерам приходится искать решение сложной математической задачи, пользуясь собственными вычислительными мощностями. Данный процесс называется хешированием. Чем больше мощностей находится в распоряжении майнера, тем выше вероятность найти верное решение первым, обогнав остальных. И пока другие с меньшими мощностями ищут решение, Джон, обладающий 51% вычислительных мощностей, обгоняет остальных и передает ответ вместе с блоком остальным майнерам. Сеть признает верной транзакцию Джона, и деньги возвращаются ему.
Следует отметить, что ни Джону, ни другому хакеру-мошеннику не удастся создать транзакцию от чужого имени, так как для этого ему нужно будет иметь приватный ключ другого пользователя.
Сколько ресурсов необходимо
Авторы обзора «Изучая виды атак на блокчейн» подсчитали, что для атаки на биткоин потребуется тратить по $486 000/час. Атаковать Dash стоит дешевле: всего $15 000/час.
На сайте Crypto51 выложены актуальные данные о теоретической стоимости нападения на различные сети, начиная от Эфириума и Биткоина и заканчивая менее известными сетями, такими как Верткоин и Каткоин. Согласно данным сайта, атака на Эфириум обойдется в $ 103,487/час.
Что такое эгоистичный майнинг
Эгоистичный майнинг – это стратегия, позволяющая майнерам увеличить свою прибыль за счет сокрытия блоков от публичной сети.
Эгоистичный майнинг можно продемонстрировать с помощью простого примера. Предположим, что общая скорость хеша равномерно распределена среди 4 майнеров: Элис, Боб, Кэрол и Джон. Элис, Боб и Кэрол играют по правилам, но злоумышленник Джон пытается использовать систему для своей собственной выгоды.
При обычных обстоятельствах можно было бы ожидать, что майнер, который находит блок, присоединит его к цепочке. Но если Джон находит блок, он удерживает его и скрывает от остальных.
Предположим, что было намайнено 100 000 блоков. Итак, теперь у нас есть Элис, Боб и Кэрол, пытающиеся предложить 100001-й блок. Везет Джону: он находит его, но держит эту информацию в секрете. Теперь есть две цепи, публичная и тайная, принадлежащая Джону. В то время, как другие все еще пытаются найти блок 100 001, он находит 100 002.
Цепь Джона теперь на два блока впереди. Когда Джон открывает свою цепь, она оказывается длиннее той, над которой работали другие участники. Согласно «правилу самой длинной цепи», система признает верной ту цепь, в которой содержится наибольшее количество блоков. Соответственно, сеть выделит мощность майнинга для цепочки Джона, и все вознаграждение достанется именно ему.
Так работает эгоистичный майнинг: майнер, нашедший новый блок, не присоединяет его к цепи, собирая максимально длинную цепочку. Добытый блок он оставляет в своем буферном пуле, продолжая добывать новые блоки поверх своего скрытого блока. В то время, как остальные участники теряют скорость, майнер-мошенник присоединяет свой секретный блок в выгодный для себя момент. Как правило, эгоистичные майнеры работают в команде. Тем не менее, такая стратегия вряд ли применяется на практике: только для очень крупных пулов увеличение дохода было бы существенным.
Защита от атаки 51%
Разработчики предлагают разные алгоритмы защиты от нападения. Например, хакеры из Komodo предложили универсальное решение, которое подходит для всех криптовалют. Основная идея заключается в том, чтобы регулярно регистрировать состояние блокчейна. Допустим, Джон решил атаковать сеть Komodo. Он отключил свой узел на блоке 100, намайнил 15 блоков до блока 115, затем снова подключил узел и стал дожидаться подтверждения транзакции. Но тут выяснилось, что на блоке 110 система безопасности Комодо зарегистрировала состояние блокчейна, поэтому теперь 15 блоков Джона не могут быть авторизованы.
Разработчики PirlGuard используют другой подход. Они задают определенный параметр – количество блоков. Допустим, это 20. Если Джон повторно подключит свой узел к сети и добавит к нему свои 15 блоков (15 меньше установленного числа, которое равно 20), сеть их примет. Если же Джон решит добавить 25 блоков, то цепь будет отклонена. Подробнее о том, как сети защищаются от атаки, читайте в исследовании.
В большинстве случаев атаке подвергаются новые криптовалюты: для нападения не требуется обладать высокими мощностями майнинга, а чтобы выполнить атаку 51% на блокчейны типа Биткоина и Эфириума, потребуется слишком много ресурсов, что делает атаку нецелессобразной и, следовательно, практически невозможной.
Пока майнинг остается прибыльным и в сети находится большое количество пользователей, атаковать систему крайне сложно. Как только прибыль от майнинга станет меньше, чем затраты на приобретение и обслуживание оборудования, майнеры начнут выходить из системы, и сеть станет уязвимой.
Как биткоин защищен от атаки 51%
Для успешной атаки на биткоин хаеры должны владеть мощностью, превышаюший остальную часть сети. Так как в блокчейне биткоина работают сотни тысяч майнеров, мошенникам потребуется потратить огромные суммы денег на технику, чтобы конкурировать с остальной частью сети. Даже самое совершенное майнинговое оборудование не может напрямую конкурировать с общей вычислительной мощностью в этой сети. Помимо этого, есть ряд других аргументов против выполнения атаки 51% на биткоин. Например, риск быть привлеченным к ответственности, высокие расходы на электроэнергию, хранение оборудования для майнинга и аренду помещения.
В случае успешной атаки злоумышленник сможет только добавлять или удалять информацию о транзакциях из блоков, в то время как монеты останутся в кошельках пользователей.
В 2014 году майнинг-пул Ghash.io завладел 55% сети. Ghash.io не планировал атаку и добровольно снизил показатели мощности, пообещав не превышать 40%.
Известные случаи атаки 51%
В апреле 2018 года криптовалюта Verge подверглась успешной атаке 51%. Отметим, что это произошло не из-за контроля самой мощности хеширования, а из-за ошибки в коде Verge, что позволило злоумышленникам создавать новые блоки каждую секунду вместо положенных 30 секунд. Хакеры создали блоки с фальшивой временной отметкой, а сеть ошибочно приняла их, решив, что они были созданы час назад. Этот баг мог бы дорого обойтись Verge, но команда оперативно отреагировала на нападение, совершив аварийный хардфорк.
Hardfork — кардинальная смена кода. После проведения хардфорка связь со старым программным обеспечением полностью разрывается. При хардфорке происходит раскол сети и фактически новое создание криптовалюты. Для владельцев монет процесс не несет негативных последствий, так как в будущем за ними сохраняется возможность перевести сбережения в новую систему.
Нападение на Verge продолжалось в течение 3 часов. Хакерам удалось захватить 99% блоков. По официальным данным, предоставленным разработчиками, аферисты смогли вывести из системы 250 000 токенов. Однако, по данным пользователей, реальная цифра составляет около 4 миллионов.
В 2016 году сразу две криптовалюты, функционирующие на базе Эфириума, Krypton и Shift пострадали от атаки хакеров, называющих себя «Team 51». В результате нападения мошенникам удалось осуществить двойное списание и похитить 22 тыс. монет через Bittrex.
В ноябре 2018 года произошла атака на Aurum Coin: с биржи Cryptopia было украдено около $500 тыс.
Заключение
Если в ваших руках 51% акций компании, значит, она под вашим контролем. Аналогично, имея 51% вычислительной мощности, управляющей сетью, вы можете контролировать криптовалюту.
Как только майнер или майнинг пул получает доступ к 51% или более мощности хеширования, вместо децентрализованной системы, предусмотренной для большинства криптовалют, власть вновь централизуется в руках одного субъекта. Это позволяет злоумышленнику решать, какие транзакции будут проверены или отменены и открывает путь к краже криптовалюты.
Затраты, необходимые для запуска атаки, могут составлять от нескольких сотен долларов до нескольких сотен тысяч в час.