Уязвимости Blockchain: DDoS атака
Технология Blockchain разрабатывалась скорее как проверка научных теорий, по крайней мере в контексте bitcoin. Естественно, что безопасность сети была важной составляющей, однако это не означает, что в самой идеологии не содержится потенциальной уязвимости к определенным атакам.
Технология Blockchain разрабатывалась скорее как проверка научных теорий, по крайней мере в контексте bitcoin. Естественно, что безопасность сети была важной составляющей, однако это не означает, что в самой идеологии не содержится потенциальной уязвимости к определенным атакам
Атака DDoS- что за зверь?
Название атаки происходит от аббревиатуры от Distributed Denial of Service - Отказ в обслуживании. И Distributed тут характеризует уже не цель атаки, а способ, которым она реализуется.
В случае с атакой на сетевые ресурсы (и web-сайты, в частности) такая атака направлена не на компрометацию информации (взлом системы), а на создание перебоев в работе сервиса, вплоть до полной недоступности ресурса. А распределенной такой тип атак называют, поскольку в большинстве случаев она выполняется не одним компьютером подключенным к сети (его было бы просто локализовать и нейтрализовать), а сетью машин, чаще всего зараженных вредоносным программным обеспечением (вирусом или трояном).
Казалось бы - как можно атаковать подобным образом распределенную сеть, которая содержит десятки тысяч компьютеров, расположенных во всех концах мира? А в этом нет необходимости. Атака на blockchain производится не на саму сеть, а нацелена на невозможность или сильное замедление проведения транзакций. Ведь на сегодняшний день большая часть систем на основе blockchain используется в качестве криптовалют.
DDoS на блокчейн?
Оговорюсь сразу, реализация такой атаки - удовольствие крайне недешевое и реализовать его технически тоже не так просто. Метод выполнения такой атаки состоит в наполнении сети большим количеством мелких транзакций - мы же помним, в том же bitcoin стоимость транзакции не зависит от ее объема в финансовом выражении, а только от объема данных и не является фиксированной. Попросту говоря, атакующий начинает спамить сеть большим количеством мелких переводов. Конечно, это удовольствие это не дешевое, но позволяет очень сильно отравить жизнь всем, кто пользуется атакуемой криптовалютой.
Поскольку объем блока например bitcoin ограничен 1 мегабайтом, реальные, рабочие транзакции могут в него просто не попасть. Или - ожидать своей очереди очень долго. Нечто похожее наблюдалось в сети bitcoin например в начале лета 2017 года. Даже озвучивались версии, что атака была направлена на продвижение Bitcoin Cash - как альтернативы с быстрыми транзакциями и большим объемом блоков.
В краткосрочной перспективе, подобная атака замедляет прохождение транзакций в сети и искусственно завышает комисси майнеров. Однако и после окончания атаки последствия ее будут сказываться многие годы. Первое и очевидное - это рост размера базы blockchain, ведь невозможно выделить и вычеркнуть "мусорные" транзакции. Они навсегда остаются в базе, и увеличивают объем хранимых данных.
Второе, не такое очевидное, неудобство связано с самой организацией blockchain, по крайней мере в реализации, принятой в bitcoin и его форках. Дело в том, что сеть не хранит состояния адреса - нет какого то специального места, где записано "на адресе Боба лежит пять биткоинов". Вместо этого, сумма на адресе - это сумма всех входящих транзакций, минус сумма всех исходящих транзакций. Таким образом, чтобы определить текущий баланс каждого кошелька/адреса в сети, необходимо по крайней мере один раз проверить все транзакции, записанные в blokchain, чтобы узнать - сколько было получено на конкретный адрес и сколько с него было отправлено.
Этот процесс обычно происходит при первоначальном запуске клиента bitcoin и сам по себе может растянуться на несколько суток. И с ростом объема blockchain этот процесс становится все дольше.
На самом деле создатели bitcoin думали о защите от таких атак, например в сети предусмотрена комиссия для транзакций, превышающих определенный объем. Однако полностью защитится от такой атаки практически невозможно. Единственным ограничивающим фактором является то, что такая атака не может быть бесплатной, и атакующему прийдется серьезно раскошелиться.
Остается вопрос - зачем кому то может понадобиться подобная атака?
Первый и очевидный ответ - конкурирующие криптовалюты, которые вступили в смертельную битву за симпатии пользователей.
Второй вариант, который нельзя исключать - государственные структуры. Потенциально, если государство решит бороться с какой либо криптовалютой - это вполне возможный сценарий. Недавно у нас была статья о том, как можно уничтожить bitcoin, так вот, описанная атака не позволяет уничтожить blockchain, но при определенных усилиях может сделать его существование бессмысленным, как минимум, на каком то промежутке времени.