Хотелось бы упомянуть сразу , реализация такой атаки — удовольствие крайне недешевое и реализовать его технически тоже не так просто. Метод выполнения такой атаки состоит в наполнении сети большим количеством мелких транзакций — мы же знаем,что в том же bitcoin стоимость транзакции не зависит от её объема в финансовом выражении, а только от объема данных и не является фиксированной. Попросту говоря, атакующий начинает закидывать сеть большим количеством мелких переводов. Конечно, это удовольствие это не дешевое, но позволяет очень сильно отравить жизнь всем, кто пользуется атакуемой криптовалютой.
Если брат bitcoin то например объем его блока ограничен 1 мегабайтом,таким образом реальные, рабочие транзакции могут в него просто не попасть. Или — ожидать своей очереди очень долго. Нечто похожее наблюдалось в сети bitcoin например в начале лета 2017 года. Даже озвучивались версии, что атака была направлена на продвижение Bitcoin Cash — как лучшей альтернативы с быстрыми транзакциями и большим объемом блоков.
В краткосрочной перспективе, подобная атака затормаживает прохождение транзакций в сети и искусственно завышает комиссии майнеров. Однако и после окончания атаки последствия её будут сказываться многие годы. Первое и очевидное — это рост размера базы blockchain, ведь невозможно выделить и вычеркнуть “мусорные” транзакции. Они навсегда остаются в базе данных, и увеличивают объем хранимых данных.
Второе, не такое очевидное, неудобство связано с самой организацией технологии blockchain, по крайней мере в реализации, принятой в bitcoin и его форках. Дело в том, что сеть не хранит состояния адреса — нет какого то специального места, где записано “на адресе Боба лежит пять биткоинов”. Вместо этого, сумма на адресе — это количество всех входящих транзакций, минус сумма всех исходящих транзакций. Таким образом, чтобы определить текущий баланс каждого кошелька/адреса в сети, необходимо по крайней мере один раз проверить все транзакции, записанные в blokchain, чтобы узнать — сколько было получено на конкретный адрес и сколько с него было отправлено.
Этот процесс зачастую происходит при первоначальном запуске клиента bitcoin и сам по себе может растянуться на несколько суток. И с ростом объема blockchain этот процесс становится все дольше.
На самом деле создатели bitcoin думали о защите от таких атак, например в сети предусмотрена комиссия для транзакций, превышающих определенный объем. Однако полностью защититься от такой атаки практически невозможно. Единственным ограничением является то, что такая атака не может быть бесплатной, и атакующему прийдется серьезно раскошелиться.
Кому может понадобиться подобная атака?
Первый очевидный вариант — конкурирующие криптовалюты, которые вступили в смертельную битву за симпатии пользователей.
Второй вариант, который нельзя исключать — государственные структуры. Потенциально, если государство решит бороться с какой либо криптовалютой — это вполне возможный сценарий. Недавно у нас была статья о том, как можно уничтожить bitcoin, так вот, описанная атака не позволяет уничтожить blockchain, но при определенных действиях может сделать его существование бессмысленным, как минимум, на каком то временном промежутке .