Lightning Network – решение второго уровня поверх блокчейна Bitcoin, мгновенно передающее криптовалюту, не задействуя майнеров, благодаря заранее подтвержденному балансу на LN-ноде и надежно закрытому каналу.
Подобная закрытость – плюс для безопасности, но накладывает серьезное ограничение на ликвидность. Платежи можно проводить в размерах лимита BTC, «замороженных» владельцем узла. Это привело к необходимости создания программ маршрутизации, перенаправляющих запросы из «истощенных» по лимитам нод, в другие LN-каналы.
Подобные системы и дали уязвимость для атаки, открытой разработчиком Lightning Network Рене Пикхардт из Норвежского университета, его коллегой Мариушем Новостовским, вместе с учеными Люксембургского университета Сергеем Тихомировым и Алекса Бирюковым.
Чтобы узнать баланс любого LN- кошелька, достаточно поднять собственную ноду Lightning Network и создать там искусственную нехватку лимита. В этом случае транзакции будут отправлены системой маршрутизации по другим нодам.
Если злоумышленник специально отправит перевод с нулевым балансом или неправильным хешем, система отклонит ее, но отправит сопровождающий отчет. В нем будет указан баланс кошелька, куда была перенаправлен платеж. Таким образом можно просканировать все каналы, получив точный баланс.