news

Ошибка замораживает биткоин в сети Lightning Network на несколько часов


13.10.2022

Поздно в воскресенье исследователи обнаружили критическую ошибку валидации в LND, популярной реализации сети Lightning Network Биткойна, поддерживаемой Lightning Labs. Высокие заработки на кране Фрибиткоин.

В частности, в реализации полного узла Биткойна BTCD на LND была обнаружена ошибка в реализации Taproot. (BTCD — это реализация полного узла для Биткойна, популярная среди пользователей Lightning Network).

Ошибка затрагивает версии LND 0.15.1 и старше. LND настоятельно рекомендует всем пользователям обновиться до версии 0.15.2.

Ошибка LND повлияла на работу узлов Lightning и в течение нескольких часов не позволяла пользователям LND выйти из сети Lightning Network второго уровня в основную сеть Bitcoin первого уровня. Пока ошибка не была устранена, пользователи LND не могли создавать или закрывать новые каналы Lightning.

Массивная мультисиговая транзакция Taproot раскрыла ошибку
Исследователи обнаружили ошибку LND во время тестирования возможностей Bitcoin Scripting Language, языка программирования Биткойна. Они хотели протестировать чрезвычайно продвинутый смарт-контракт, который требовал совместной аутентификации множества сторон.

Для проведения этого теста один из исследователей, Бурак, создал большую транзакцию Taproot с несколькими подписями 998 из 999. Для подтверждения подлинности отправки биткоина потребовалось 998 подписей закрытых ключей — необычайно большое количество соподписантов.

Чтобы представить эту цифру 998 в контексте, подумайте о том, что пользователи Lightning Network обычно открывают каналы, используя всего 2 из 2 мультисиговых транзакций.

Транзакция Taproot с мультисигмой 998 из 999 была принята производителями блоков testnet. Позже транзакция была добыта в блоке Биткойн основной сети. Затем транзакция сломала LND.

Эта транзакция нарушила метод, используемый LND для расчета последнего блока Биткойна. В частности, LND не смог разобрать новый блок из-за неисправности своей библиотеки. В журналах ошибок появлялось следующее сообщение: «Unable to complete chain rescan: readScript: script witness item is larger than the max allowed size».

Lightning Labs немедленно начала работу над исправлением ошибки LND, обновлением библиотеки разбора проводов BTCD и планировала выпустить версию 0.15.2.

Читайте также: Оффлайновые платежи Bitcoin Lightning скоро станут возможными

Подчеркивает необходимость кросс-реализационных сторожевых служб
После процесса устранения ошибки исследователи начали выражать потребность в сторожевых службах, которые не зависят от реализации.

Эта ошибка повлияла только на LND. LND — это популярная реализация Lightning Network. Другие реализации включают Éclair и Core Lightning.

Сторожевые башни — это сторонние сервисы, которые отслеживают публично доступную сеть Bitcoin Lightning Network и позволяют пользователям добиваться возмещения ущерба за неправильное поведение. Сторожевые башни могут отслеживать все реализации Lightning, чтобы защитить пользователей во время сбоев в работе какой-либо конкретной реализации.

Например, поскольку большинство пользователей присоединяются к Lightning как к транзакции 2 из 2 с несколькими подписями, они обычно доверяют одному контрагенту, который не лжет об окончательном балансе биткоина, находящегося у каждого из них, при закрытии канала и выходе из сети в основную сеть Bitcoin.

Если при попытке закрыть канал Lightning кто-то солгал о количестве биткоинов, находящихся в его распоряжении, пользователь, который сможет доказать эту ложь, может опубликовать другую, так называемую «транзакцию справедливости», и забрать 100% биткоинов, находящихся в его канале, в качестве награды за поимку лжеца.

Сторожевая башня, контролирующая все реализации (LND, Core Lightning, Éclair и т.д.), может защитить пользователя от ошибок или взломов, позволяя ему публиковать транзакции справедливости, если кто-то попытается украсть его деньги во время перебоев в обслуживании. Существует несколько небольших, кросс-реализационных сторожевых башен, таких как Eye of Satoshi, но они не получили широкого распространения.