It took a decade to fix this Bitcoin Lightning bug
Это потребовало десятилетия, чтобы исправить эту ошибку в сети Bitcoin Lightning
Ошибка в сети Bitcoin Lightning, которая была обнаружена еще в октябре 2016 года — всего через несколько месяцев после запуска сети — наконец-то была исправлена.
В мае 2016 года Элизабет Старк и Олаолува "Roasbeef" Осунтокун основали компанию Lightning Labs и программное обеспечение для узлов сети Bitcoin Lightning, Lightning Network Daemon (LND).
Однако, всего через пять месяцев, Осунтокун признал наличие серьезной уязвимости в LND, которая оставалась нерешенной в течение десяти лет.
Теперь, после многих лет помощи от бесчисленных разработчиков LND, Осунтокун значительно исправил эту проблему, объединив запрос на внесение изменений (pull request) № 10331.
Эта "ошибка" существовала так долго, что ее даже сложно назвать ошибкой.
Действительно, это, вероятно, был компромисс в дизайне или удобстве использования, позволяющий пользователям быстро закрывать каналы LND в относительно безопасном режиме — за исключением редких случаев реорганизации блокчейна.
Несмотря на то, что LND является наиболее популярной реализацией Lightning, пользователи LND, покидающие сеть второго уровня, подвергались риску в течение многих лет, как признал сам сооснователь в сообщении № 53.
Десять лет работы над этой ошибкой в сети Bitcoin Lightning
Еще раз, LND — это программное обеспечение для узлов, которое помогает пользователям подключаться, совершать транзакции и выходить из сети Lightning Bitcoin.
Когда пользователи финансируют платежный канал LND для подключения к Lightning, они вносят BTC в основной блокчейн, чтобы затем совершать транзакции с BTC вне сети с другими пользователями Lightning.
После завершения, они используют программное обеспечение LND для выхода в основной блокчейн, чтобы оплатить "счет" за транзакции Lightning.
Однако, транзакции закрытия платежных каналов LND подвергались риску реорганизации блокчейна, согласно сообщению № 53. Да, реорганизации блокчейна Bitcoin представляли риск для пользователей LND в течение десяти лет.
Действительно, сообщение № 53 было самым старым открытым сообщением в самой популярной реализации сети Lightning.
Читайте далее: Ошибка в сети Bitcoin Lightning позволяет удаленно красть биткоины через узлы LND
Наконец, исправление для сообщения № 53 в LND
В этом месяце Осунтокун, наконец, увеличил требования к подтверждениям с одного до шести блоков — пропорционально размеру канала — так, что закрытие каналов с большим количеством BTC требует больше подтверждений.
Чем больше подтверждений получает транзакция в основном блокчейне, тем она безопаснее от риска реорганизации.
В дополнение к увеличению требований к подтверждениям, Осунтокун также переработал конечный автомат LND для обнаружения более тонких рисков, связанных с реорганизациями цепочки, включая мониторинг в режиме реального времени конкурирующих транзакций закрытия каналов, а также отрицательных (т.е. реорганизационных) подтверждений.
Следует отметить, что Осунтокун продолжал следить за сообщением № 53 в течение многих лет, что является явным проявлением его приверженности решению этой проблемы.
Кроме того, сообщение № 53 возникло в самые ранние дни создания Lightning, когда риски были минимальными, и все, что было близко к ее современному состоянию, было лишь теоретической мечтой.
Сложно сказать, привело бы более консервативное соотношение скорости закрытия каналов и крайне маловероятной реорганизации к неоправданному замедлению роста LND и компании LND, основанной Осунтокуном и получившей венчурное финансирование.