Атака двойной траты — это практика в мире цифровых валют, когда пользователь получает возможность тратить одну и ту же криптовалюту более одного раза.
Что такое атака двойной траты?
Транзакция, которая использует те же входные данные, что и другая транзакция, которая ранее была проверена в сети, называется двойной тратой.
Криптовалюта похожа на цифровую запись, которую относительно просто скопировать. Пользователи могут легко копировать цифровые файлы и использовать их для совершения покупок, поскольку централизованный контроль над транзакциями отсутствует.
Не каждая криптовалюта подвергается атакам двойного расходования средств, однако многие проекты, использующие механизм консенсуса Proof-of-Work, подвержены высокому риску.
Опытные программисты, хорошо разбирающиеся в протоколе блокчейна, могут с большей готовностью модифицировать или копировать цифровую информацию, поэтому двойные траты чаще всего связаны с биткойнами. Биткойн использует одноранговый метод торговли, который не проходит через каких-либо посредников или учреждения, что делает его легкой мишенью для атак двойных расходов со стороны хакеров.
В классической атаке двойного расходования биткойнов хакер дублирует исходную транзакцию, чтобы она выглядела оригинальной, и использует ее в другой транзакции, сохраняя исходную валюту в своем кошельке или иногда полностью удаляя первую транзакцию.
Отмена транзакции после приобретения активов или услуг контрагента — еще один метод двойного расходования биткойнов. Это позволяет хакеру сохранить как полученные активы, так и предоставленные биткойны (которые должны были быть отправлены другой стороне). Чтобы создать впечатление, что транзакций никогда не было, злоумышленник отправляет в сеть множество пакетов (единиц данных), создавая таким образом впечатление, будто ничего не произошло.
Существует несколько типов атак с двойной тратой. Некоторые из них включают:
- Атака Финни
Атака Финни — это тип обманчивой атаки с двойной тратой, при которой продавец не ждет подтверждения транзакции. В этом случае майнер отправляет деньги с одного кошелька на другой, но не проверяет блок мгновенно. Затем пользователь совершает покупку с исходным кошельком, и майнер транслирует ранее добытый блок, который содержит первую транзакцию после запуска второй транзакции.
- 51% Атака
Атака 51%, также называемая атакой большинства, представляет собой гипотетический сценарий, в котором злоумышленники получают контроль над более чем 51% узлов в сети. Это дает им возможность контролировать сеть, используя механизм консенсуса, основанный на большинстве. Однако по мере того, как сеть становится больше, более рассредоточенной и ценной, атака 51% становится все более сложной и трудной для выполнения.
- Гоночная атака
Когда злоумышленник инициирует две противоречивые транзакции, а продавцы принимают платежи до получения подтверждения блокировки транзакции, возможна атака гонки. В то же время в сеть транслируется конкурирующая транзакция, возвращающая злоумышленнику такое же количество криптовалюты, тем самым аннулируя исходную транзакцию. В этом случае майнеры могут проверить транзакцию по кошельку, не позволяя продавцу получить средства.
Хотя блокчейн не может полностью предотвратить двойную трату, он может выступать в качестве линии защиты от атак двойной траты, в то время как армия децентрализованных узлов валидатора преодолевает сложные уравнения, чтобы удостовериться, что новые транзакции не тратятся дважды, прежде чем они будут добавлены в базу данных на неопределенный срок.