BTC77 946▲ 1,30%ETH2 297▲ 1,75%SOL93,79▲ 1,94%XRP1,29▲ 2,58%BNB701,36▲ 0,36%
🇬🇧 cryptoslate Добавлено: 03.11.2026 18:14 Liam 'Akiba' Wright

Bitcoin Lightning fix blocks a probe linking private channels to onchain funding

Тональность: Нейтральная
Фактичность: Подтверждено
Полезность: 80%
Фокус: Настоящее
Эмоции: Неопределённость 20%

Краткий обзор

  1. LDK (Lightning Development Kit) содержит исправление, которое блокирует проверку, позволяющую связать не объявленный канал с соответствующим выходом транзакции в сети Bitcoin.
  2. Для успешной проверки требовалось подключение к предполагаемым конечным точкам и использование угаданного идентификатора короткого канала (SCID), полученного из выхода транзакции.
  3. Действительные псевдонимы (aliases) остаются работоспособными. Необходимо подтверждение, какие версии программных кошельков и развертывания включают в себя это исправление.

Lightning Development Kit (LDK), программный набор, используемый для создания приложений Bitcoin Lightning, содержит исправление, направленное на повышение конфиденциальности, которое блокирует известную проверку, связывающую не объявленный канал с соответствующим выходом транзакции в сети Bitcoin. Эта проверка использовала механизм пересылки "луковых" сообщений в LDK, позволяя угаданному идентификатору канала служить подтверждением связи между двумя предполагаемыми узлами.

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

Реальный идентификатор короткого канала (SCID) работает как координаты в блокчейне. Спецификация Lightning определяет его с использованием номера блока, позиции транзакции внутри этого блока и позиции выхода транзакции. Вместе эти данные идентифицируют конкретный выход транзакции, используемый для финансирования канала.

Злоумышленник может получить кандидатский SCID, зная только местоположение выхода транзакции, не зная, принадлежит ли он каналу между предполагаемыми узлами. Описанная проверка предоставляет эту недостающую информацию. Она требует от злоумышленника подключения к обоим предполагаемым конечным точкам и построения пути "лукового" сообщения через них, который возвращается к злоумышленнику.

До исправления, механизм поиска каналов в LDK мог определять реальный SCID даже для не объявленного канала, как только подтверждалась транзакция финансирования. Если сообщение было успешно возвращено, злоумышленник мог подтвердить, что угаданный выход транзакции и канал между этими узлами соответствуют друг другу.

Как угаданный идентификатор может раскрыть скрытую связь с финансированием

Сравните описанную проверку "лукового" сообщения до и после исправления кода LDK, внесенного 25 октября.

Где останавливается проверка

Где останавливается проверкаДо исправленияПосле исправления

Возвращенное сообщение подтверждает связь между предполагаемым выходом транзакции и финансированием в соответствии с условиями описанной проверки.

LDK отклоняет реальный SCID не объявленного канала, если он не является исходящим псевдонимом. Действительные псевдонимы остаются работоспособными.

LDK блокирует поиск реального SCID не объявленного канала; действительные псевдонимы остаются работоспособными.

Требуется подключение злоумышленника к обоим предполагаемым конечным точкам и использование кандидатского реального SCID. Отклонение происходит, за исключением значения, равного исходящему псевдониму. Включение исправления в конкретные релизы и его распространение в кошельках пока не подтверждено.

Источники и доказательства

Источники

  1. LDK PR 5314: механизм и исправление
  2. BOLT 7: определение короткого идентификатора канала
  3. Bitcoin Optech: подробное описание исследования конфиденциальности
  4. Официальный журнал изменений: контекст области выпуска

Подтверждающие факты

  • В ходе проведенного исследования, сторонний узел, связанный с обоими предполагаемыми конечными точками канала, может использовать угаданный идентификатор короткого канала в пути передачи "лукового" сообщения через эти узлы обратно к себе; успешный прием подтверждает наличие связи финансирования для данного канала. [1] [3]
  • Реальный идентификатор короткого канала содержит информацию о местоположении выходного транзакции в блокчейне: высоту блока, позицию транзакции внутри этого блока и позицию выходного элемента внутри транзакции. [2]
  • До внесения исправления, функция ChannelManager в LDK могла определять реальные идентификаторы не объявленных каналов после подтверждения транзакции финансирования, поэтому исключение канала из публичной информации не препятствовало определению его местоположения в блокчейне в процессе поиска по "луковым" сообщениям. [1] [3]
  • Внесенное исправление отклоняет реальный идентификатор короткого канала для не объявленного канала во время поиска следующего узла в "луковом" сообщении, если это значение не является псевдонимом (alias) этого канала, при этом допустимые псевдонимы остаются рабочими. [1] [3]
  • Это исправление касается пересылки "луковых" сообщений; предложенное изменение делает поиск более строгим, чем путь передачи платежа HTLC, который может разрешать использование реальных идентификаторов для некоторых приватных каналов в зависимости от конфигурации. [1] [3]
  • Проверенный предложенный патч и техническое описание демонстрируют связь финансирования с предполагаемыми конечными точками канала; они не содержат никаких доказательств кражи биткоинов, компрометации приватных ключей, раскрытия информации о других кошельках или раскрытия информации о каждом канале Lightning. [1] [3]
  • Объединение кода, произошедшее 25 октября, вносит исправление в исходный код; проверенный официальный журнал изменений не указывает на наличие выпущенной или развернутой версии кошелька, содержащей это исправление. [1] [4]

Метод

Схема проведенного исследования и пути передачи сообщений. Стрелки обозначают "луковые" сообщения, а не переводы биткоинов. Панели "до" и "после" описывают поведение кода; позиции и размеры не являются измерениями.

Область применения

Требуется, чтобы злоумышленник был подключен к обоим предполагаемым конечным точкам и имел доступ к кандидату реального идентификатора короткого канала. Исключение составляют значения, равные псевдониму (alias). Объединение кода не подразумевает включение исправления в выпущенную версию или развернутую версию кошелька.

Инфографика от CryptoSlate

Таким образом, выявленная уязвимость объединяет две части информации: выходные данные транзакции Bitcoin и узлы Lightning, использующие их.

Что меняет данное исправление

LDK теперь отказывается определять реальный SCID (идентификатор канала) для не объявленного канала при пересылке сообщений по протоколу "onion routing". При этом, допустимые псевдонимы остаются доступными в качестве альтернативных идентификаторов, поэтому отправитель может обращаться к каналу, не используя его реальные координаты в блокчейне. Изменение закрывает этот путь поиска, сохраняя при этом пересылку, использующую разрешенный псевдоним.

Изменения описаны в запросе на внесение изменений. Согласно правилам маршрутизации "onion routing" из BOLT 4, SCID сообщения, передаваемого по протоколу "onion routing", должен соответствовать объявленному идентификатору или локальному псевдониму.

Включение данного исправления в установленные версии кошельков пока не подтверждено. Пользователям необходимо получить подтверждение от своего поставщика кошелька, прежде чем предполагать, что установленное программное обеспечение имеет эту защиту.

Контекст статьи.

Упоминания

Организации