Недавно (конец октября 2023 года) сообщество Bitcoin показало, что Lightning Network может иметь серьезные недостатки, позволяющие пользователям создавать метод атаки для кражи денег, называемый «Lightning Replacement Cycling Attack».
Я прочитал его принцип, и китайское название можно перевести как «Lightning Network Cyclic Replacement Transaction Attack».
Принцип его атаки заключается в следующем.
Во-первых, объясните, как работает Lightning Network:
Алиса и Боб открывают платежный канал, то есть совместно открывают адрес подписи 2-2, каждый из них владеет приватным ключом.
Алиса и Боб пополняют 0,5 BTC и 0,6 BTC на этот адрес подписи 2-2 соответственно (сумма может быть выбрана произвольно, я просто пример), оба из которых происходят в основной цепочке Биткойна, и майнеры должны подтвердить. Таким образом, начальное состояние этого платежного канала заключается в том, что 0,5 BTC принадлежит ALICE, 0,6 BTC принадлежит BOB, мы записываем (ALICE: 0,5 BTC; bob:0.6btc)。
Таким образом, в этом адресе подписи 2-2 Алиса и Боб могут платить друг другу, например, Алиса может заплатить BOB 0.1BTC, так что состояние канала состояния становится 0.4BTC принадлежит Алисе, 0.7BTC принадлежит BOB, (ALICE: 0.4BTC; bob:0.7btc)。 И такие транзакции не обязательно должны быть упакованы в основную цепочку Биткоина, а происходят только между Алисой и Бобом, что называется платежным каналом.
Произвольные переводы между Алисой и Бобом не нужно переносить в основную цепочку, что экономит много комиссий майнеров и может быть получено в режиме реального времени, устраняя необходимость в 10-минутном подтверждении блока.
Но если вы можете передавать транзакции только между двумя людьми, это бесполезно.
Между Бобом и Кэрол также открыт платежный канал, и начальное состояние заключается в том, что у Боба есть 1.0BTC, carol0BTC, что записано как (BOB: 1.0BTC; Кэрол:0BTC)。
В это время вы видите, что между Алисой и Бобом существует платежный канал, а также платежный канал между Бобом и Кэрол.
Затем Алиса может заплатить биткоины Кэрол через Боба.
Процесс оплаты выглядит следующим образом: Алиса платит Кэрол 0,1 BTC, и в двух вышеуказанных платежных каналах происходят следующие изменения статуса
Изменение статуса между Алисой и Бобом составляет (Алиса: 0,3 BTC; BOB: 0,8 BTC)
Разница в состоянии между BOB и CAROL составляет (BOB: 0.9BTC; CAROL: 0.1BTC)
На этом транзакция перевода 0,1 BTC от Алисы к Кэрол.
Когда все больше и больше сторон открывают платежный канал и реализуют взаимную взаимосвязь, формируется платежная сеть, которую мы называем Lightning Network.
Конечно, подробное техническое объяснение слишком сложное, и приведенное выше является наиболее кратким объяснением.
Ниже описан общий процесс атаки на транзакцию циклической замены Lightning Network, и я не понимаю подробных технических деталей, а эти коды операций, контракты и функции немного сложны.
Нападающие - Элис и Кэрол, которые сговариваются напасть на Боба, и Боб - жертва.
Алиса платит Кэрол 0,3 BTC.
Начальные каналы состояний выглядят следующим образом (ALICE: 0.3BTC; BOB: 0.8BTC) и (BOB: 0.9BTC; CAROL: 0.1BTC)
Канал состояний между Алисой и Бобом должен быть изменен на (Alice:0; Боб:1.1BTC)
Канал состояний между BOB и CAROL должен быть изменен на (BOB: 0.6BTC; CAROL: 0.4BTC)
Алиса и Кэрол решили стать партнерами, чтобы обмануть 0,3 BTC Боба
Кэрол не утверждал, что подтвердил, что он получил 0,3 BTC от Алисы, то есть Кэрол не отправляет информацию о получении Lightning Network BOB. В результате Боб не сможет законно претендовать на 0,3 BTC Алисы в сети Lightning.
В определенное время Алиса пошла на хитрость и напрямую инициирует клиринговую транзакцию TX1 в основной цепочке Биткоина, утверждая, что у него все еще есть 0,3 BTC, в то время как у Боба только 0,8 BTC в канале состояния.
В сделке tx1 0,3 BTC было отправлено на собственный адрес Алисы (одна подпись), поэтому Алиса пыталась украсть 0,3 BTC, которые ей не принадлежали.
Поскольку Боб не получил квитанцию Кэрол о получении квитанции, Боб не может доказать (Алиса; bob) в этом канале состояния должен быть изменен на (alice:0btc; Боб:1.1BTC)
Как только TX1 будет упакован в блокчейн, т.е. Алиса украдет 0,3 BTC, Кэрол немедленно соберет 0,3 BTC в сети Lightning Network и отправит квитанцию BOB.
Таким образом, Алиса на самом деле не отправила 0,3 BTC в BOB, но Кэрол фактически получила 0,3 BTC от BOB. Таким образом, Боб был украден 0,3 BTC Алисой и Кэрол в партнерстве.
Обратите внимание, что когда Алиса инициирует транзакцию кражи монет TX1 в основной цепочке, у Боба есть контрмеры, то есть инициирование транзакции в основной цепочке TX2 доказывает, что Алиса жульничает, но поскольку Боб не получил квитанцию Кэрол о квитанции, транзакция TX2 все еще довольно проблематична, но теоретически это можно сделать.
После того, как Алиса увидит TX2, она снова будет использовать метод с более высокой комиссией майнера, чтобы сбросить TX1, чтобы побудить майнеров упаковать TX1 и отклонить TX2, что называется «заменой».
В настоящее время разработчики говорят, что сговор между Алисой и Кэрол действительно может затруднить легитимизацию TX2 BOB на майнерах основной цепочки Биткойна, и чтобы более четко доказать, что TX2 является законным, протокол должен быть изменен, и это софтфорк для основной цепочки, что сложно.
Выше приведен общий процесс атаки на транзакцию циклической замены Lightning Network, конкретный технический принцип слишком сложен, я не понимаю, я просто предполагаю, что технические детали, размещенные разработчиком, которого я вижу в Интернете, верны.
Метод атаки заключается в том, чтобы зажать одно из двух, и биржа естественна, и все пользователи открыли платежный канал, поэтому биржа пострадает.
В конце концов, я чувствую, что в этом нет ничего страшного, в программном обеспечении нет ошибок, будет способ это исправить.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Быстрое понимание атак на циклы транзакций замены Lightning Network
Недавно (конец октября 2023 года) сообщество Bitcoin показало, что Lightning Network может иметь серьезные недостатки, позволяющие пользователям создавать метод атаки для кражи денег, называемый «Lightning Replacement Cycling Attack».
Я прочитал его принцип, и китайское название можно перевести как «Lightning Network Cyclic Replacement Transaction Attack».
Принцип его атаки заключается в следующем.
Во-первых, объясните, как работает Lightning Network:
Алиса и Боб пополняют 0,5 BTC и 0,6 BTC на этот адрес подписи 2-2 соответственно (сумма может быть выбрана произвольно, я просто пример), оба из которых происходят в основной цепочке Биткойна, и майнеры должны подтвердить. Таким образом, начальное состояние этого платежного канала заключается в том, что 0,5 BTC принадлежит ALICE, 0,6 BTC принадлежит BOB, мы записываем (ALICE: 0,5 BTC; bob:0.6btc)。
Таким образом, в этом адресе подписи 2-2 Алиса и Боб могут платить друг другу, например, Алиса может заплатить BOB 0.1BTC, так что состояние канала состояния становится 0.4BTC принадлежит Алисе, 0.7BTC принадлежит BOB, (ALICE: 0.4BTC; bob:0.7btc)。 И такие транзакции не обязательно должны быть упакованы в основную цепочку Биткоина, а происходят только между Алисой и Бобом, что называется платежным каналом.
Произвольные переводы между Алисой и Бобом не нужно переносить в основную цепочку, что экономит много комиссий майнеров и может быть получено в режиме реального времени, устраняя необходимость в 10-минутном подтверждении блока.
Но если вы можете передавать транзакции только между двумя людьми, это бесполезно.
Между Бобом и Кэрол также открыт платежный канал, и начальное состояние заключается в том, что у Боба есть 1.0BTC, carol0BTC, что записано как (BOB: 1.0BTC; Кэрол:0BTC)。
В это время вы видите, что между Алисой и Бобом существует платежный канал, а также платежный канал между Бобом и Кэрол.
Затем Алиса может заплатить биткоины Кэрол через Боба.
Процесс оплаты выглядит следующим образом: Алиса платит Кэрол 0,1 BTC, и в двух вышеуказанных платежных каналах происходят следующие изменения статуса
Изменение статуса между Алисой и Бобом составляет (Алиса: 0,3 BTC; BOB: 0,8 BTC)
Разница в состоянии между BOB и CAROL составляет (BOB: 0.9BTC; CAROL: 0.1BTC)
На этом транзакция перевода 0,1 BTC от Алисы к Кэрол.
Конечно, подробное техническое объяснение слишком сложное, и приведенное выше является наиболее кратким объяснением.
Ниже описан общий процесс атаки на транзакцию циклической замены Lightning Network, и я не понимаю подробных технических деталей, а эти коды операций, контракты и функции немного сложны.
Алиса платит Кэрол 0,3 BTC.
Начальные каналы состояний выглядят следующим образом (ALICE: 0.3BTC; BOB: 0.8BTC) и (BOB: 0.9BTC; CAROL: 0.1BTC)
Канал состояний между Алисой и Бобом должен быть изменен на (Alice:0; Боб:1.1BTC)
Канал состояний между BOB и CAROL должен быть изменен на (BOB: 0.6BTC; CAROL: 0.4BTC)
Алиса и Кэрол решили стать партнерами, чтобы обмануть 0,3 BTC Боба
Кэрол не утверждал, что подтвердил, что он получил 0,3 BTC от Алисы, то есть Кэрол не отправляет информацию о получении Lightning Network BOB. В результате Боб не сможет законно претендовать на 0,3 BTC Алисы в сети Lightning.
В определенное время Алиса пошла на хитрость и напрямую инициирует клиринговую транзакцию TX1 в основной цепочке Биткоина, утверждая, что у него все еще есть 0,3 BTC, в то время как у Боба только 0,8 BTC в канале состояния.
В сделке tx1 0,3 BTC было отправлено на собственный адрес Алисы (одна подпись), поэтому Алиса пыталась украсть 0,3 BTC, которые ей не принадлежали.
Поскольку Боб не получил квитанцию Кэрол о получении квитанции, Боб не может доказать (Алиса; bob) в этом канале состояния должен быть изменен на (alice:0btc; Боб:1.1BTC)
Как только TX1 будет упакован в блокчейн, т.е. Алиса украдет 0,3 BTC, Кэрол немедленно соберет 0,3 BTC в сети Lightning Network и отправит квитанцию BOB.
Таким образом, Алиса на самом деле не отправила 0,3 BTC в BOB, но Кэрол фактически получила 0,3 BTC от BOB. Таким образом, Боб был украден 0,3 BTC Алисой и Кэрол в партнерстве.
Обратите внимание, что когда Алиса инициирует транзакцию кражи монет TX1 в основной цепочке, у Боба есть контрмеры, то есть инициирование транзакции в основной цепочке TX2 доказывает, что Алиса жульничает, но поскольку Боб не получил квитанцию Кэрол о квитанции, транзакция TX2 все еще довольно проблематична, но теоретически это можно сделать.
После того, как Алиса увидит TX2, она снова будет использовать метод с более высокой комиссией майнера, чтобы сбросить TX1, чтобы побудить майнеров упаковать TX1 и отклонить TX2, что называется «заменой».
Выше приведен общий процесс атаки на транзакцию циклической замены Lightning Network, конкретный технический принцип слишком сложен, я не понимаю, я просто предполагаю, что технические детали, размещенные разработчиком, которого я вижу в Интернете, верны.
Метод атаки заключается в том, чтобы зажать одно из двух, и биржа естественна, и все пользователи открыли платежный канал, поэтому биржа пострадает.
В конце концов, я чувствую, что в этом нет ничего страшного, в программном обеспечении нет ошибок, будет способ это исправить.