4 августа 2021 года сеть Bitcoin SV подверглась атаке 51%. Хакеры запустили три форка сети и скомпрометировали около 100 блоков и сотни тысяч транзакций. Это уже пятая атака на сеть Bitcoin SV за последние полтора месяца.
Атака 51% — распространенный тип взлома блокчейнов криптовалют, у которых слабый хешрейт и небольшое сообщество майнеров.
Разберемся, каким образом злоумышленники атаковали Bitcoin SV, как вообще происходят атаки 51% и возможно ли таким образом взломать сеть Bitcoin.
Атака 51 процент криптовалюта
Атака 51% - это взлом сети блокчейна объектом или организацией, которые контролируют большую часть скорости хэширования. Имея достаточно майнинг-мощности они могут преднамеренно исключить или изменить порядок транзакций.
Атакам неоднократно подвергались альткоины (Verge, Electroneum и т. д.) с низким хешрейтом из-за низкого спреда и интереса со стороны майнеров.
Биткоин атака 51%: как это работает?
Когда владелец биткоинов подтверждает транзакцию, она помещается в один из локальных пулов неподтвержденных транзакций. Далее майнеры выбирают транзакции из пулов для формирования блока транзакций. Для того, чтобы этот блок был добавлен в блокчейн, им необходимо решить сложную математическую функцию.
Майнеры пытаются найти ее решение, используя вычислительные мощности, находящиеся в их распоряжении. Этот процесс называется хэшированием. Чем большими вычислительными мощностями располагает майнер, тем выше его шансы найти правильное решение раньше остальных. Когда майнер находит решение, оно передается (вместе с его блоком) всем остальным майнерам в сети, и они его проверяют. Важно, чтобы все транзакции внутри блока были действительными. Майнер-аферист никогда не сможет создать транзакцию от чужого имени, потому что для этого ему нужно знать цифровую подпись человека (его приватный ключ).
Однако он может попытаться отозвать существующие транзакции. Когда майнер находит решение для блока, оно должно быть транслировано всем другим майнерам для верификации, после чего этот блок добавляется в блокчейн (майнеры достигают консенсуса). Но если он не передаст решения своих блоков остальной части сети, он создаст побочную (скрытую) цепочку блокчейна. То есть появятся две версии одного блокчейна.
Сеть не будет знать о второй цепочке, поскольку она не транслировалась. Теперь аферист может потратить все свои биткоины в истинной версии блокчейна, не включив эти транзакции в свою, изолированную версию.
То есть, он исключает собственные транзакции из своего блокчейна, но собирает в его рамках блоки и проверяет их.
Блокчейн запрограммирован на то, чтобы следовать модели демократического управления, иначе говоря, управления большинством. В блокчейне это реализовано через обязательное следование самой длинной цепочке, ведь большинство майнеров добавляют блоки в свою версию блокчейна быстрее, чем остальная сеть (поэтому, самая длинная цепочка = большинство). Именно так блокчейн определяет, какая версия цепочки является истинной, и на чём основаны балансы всех кошельков. Тот, кто обладает наибольшей мощностью хэширования, будет быстрее добавлять блоки в свою версию цепочки.
Недобросовестный майнер, обладая большей мощностью хэширования, добавляет блоки в свою приватную цепочку быстрее, чем другие майнеры в истинную. Как только майнер-мошенник создаст более длинный блокчейн, он транслирует свою версию блокчейна остальной части сети. Остальная сеть увидит, что подменная версия blockchain является более длинной, чем та, с которой они работали, и протокол блокчейна вынудит их переключится на нее.
С того момента ответвление от блокчейна будет считаться истинным блокчейном, а все транзакции, которые не включены в эту цепочку, будут немедленно отменены.
Злоумышленник уже потратил свои биткоины, но эта транзакция не была включена в его скрытую цепочку, и таким образом, потраченные биткоины снова находятся в его распоряжении.
Все остальные майнеры должны реорганизовать историю транзакций в своих цепочках, приняв за основу подменную цепочку, так как она является более тяжелой (длинной). И эта история не будет включать расходование тех 100 биткоинов.
Эту схему называют атакой двойной траты (двойного расходования) или атакой 51%, так как майнеру-аферисту, который её планирует, потребуется мощность хэширования, превосходящая объединенную мощность всей остальной сети (отсюда и цифра 51% мощностей хэширования), для того, чтобы быстрее добавлять блоки в свою версию блокчейна, что в конечном итоге позволит ему построить более длинную цепочку.
Атака 51 блокчейн. Реальные примеры
В августе 2016 года подверглись атакам 51% два блокчейна, основанные на Эфириуме - Krypton и Shift.
В мае 2018 года Bitcoin Gold, в то время 26-я по величине криптовалюта, подверглась атаке 51%. Злоумышленник или группа контролировали большую часть хэш-мощности Bitcoin Gold, так что даже при неоднократных попытках
Bitcoin Gold поднять пороги обмена, они смогли дважды прибегнуть к схеме двойного расходования. Ущерб был оценен в сумму более 18 миллионов долларов.
Сколько стоит атака 51%?
В конце мая в сети появился ресурс Crypto51.app, который рассчитывает стоимость часа атаки 51% на криптовалюты сети PoW. По словам неизвестного крипто-энтузиаста, запустившего Crypto51.app, таким образом он хочет привлечь внимание криптосообщества к угрозе со стороны недобросовестных майнеров.
Час атаки на блокчейны таких популярных криптовалют, как Биткоин или Эфир, будет стоить $538,042 и $390,477 соответственно. Атака на менее крупные сети обойдется злоумышленникам намного дешевле.
Например, для того чтобы заполучить большую часть хэшрейта сети Ethereum Classic, потребуется $2216, сети Ubiq — $447, а атака на блокчейн Mooncoin будет стоить всего $7. При этом данные суммы не берут в расчет вознаграждение майнеров за добавление новых блоков, которые могут сократить расходы атакующей стороны на 80%.
Кому выгодна атака 51%?
На самом деле - никому.
Майнинг-пулы никогда не будут осуществлять атаку, так как их доход зависит от цены добываемой криптовалюты. Производителям ASIC-майнеров также не выгодно бросать свои мощности для атаки 51%. Им выгоднее продавать свое дорогое железо. Простые майнеры не могут атаковать из-за малого хешрейта.
Тогда зачем нужно было атаковать блокчейны Bitcoin Gold и Verge? Вероятнее всего, чтобы убрать потенциального конкурента и немного заработать. Ведь в результате атак страдает репутация монеты и ее рыночная стоимость.
Почему Биткоин защищен от атаки 51%
Для успешной атаки на Биткоин хакеры должны владеть преобладающей частью мощности. В блокчейне Биткоина работают сотни тысяч майнеров, и мошенникам потребуется потратить огромные суммы денег на технику, чтобы конкурировать с ними всеми. Даже самое совершенное майнинговое оборудование не может напрямую конкурировать с общей вычислительной мощностью в этой сети.
Да и в случае успешной атаки злоумышленник сможет только добавлять или удалять информацию о транзакциях из блоков, в то время как монеты останутся в кошельках пользователей.
В 2014 году майнинг-пул Ghash.io завладел 55% сети. Ghash.io не планировал атаку и добровольно снизил показатели мощности, пообещав не превышать 40%.