Возникновению уязвимости способствовал принцип функционирования Lightning Network, где каждый платеж должен проходить через сеть нод для достижения точки назначения. Если одна из этих нод будет принадлежать злоумышленнику, он может замедлить платеж вместо того, чтобы быстро пропустить его, как это сделала бы любая другая нода.
Для реализации своего замысла злонамеренному владельцу ноды требуется установить нулевую комиссию за обработку транзакций. В таком случае приложение пользователя с высокой долей вероятности будет выбирать именно его при определении наиболее оптимального пути для обработки платежа.
«Мы можем открывать каналы, предоставляющие короткие и низкозатратные пути в сети, которые будут выбираться почти всегда. Мы обнаружили, что всего пять связок достаточно, чтобы привлечь большую часть (65-75%) трафика, независимо от используемой имплементации», – поясняют исследователи.
Процесс может повторяться до полной остановки платежа, так как при отказе от обработки будет выбираться новый путь, который тоже будет контролироваться злоумышленником.
Несмотря на относительную простоту исполнения, атака не может быть осуществлена без вложений, которые, однако, не столь велики по сравнению с потенциальным ущербом. По подсчетам исследователей, потребуется открыть около 20 новых каналов и обеспечить их Биткоинами, чтобы атаковать 80% транзакций в сети. Совокупные затраты в этом случае составят приблизительно $2 000.
Авторы допускают, что атака еще не была реализована на практике, так как Lightning Network мало используется, из-за чего ущерб будет не слишком большим. Кроме того, злоумышленник не сможет присвоить средства пользователей, поэтому к активным действиям он будет мотивирован только в том случае, если на Lightning-платежи будет высокий спрос.
Разработчики признают, что раньше не обращали внимания на этот вектор атаки, но отмечают, что система направления платежей будет улучшена в будущих версиях. Кроме того, планируется дополнительно проработать механизм исключения из сети пользователей, которые нарушают ее работоспособность.