Практические инструкции

Как проверить входящую ликвидность Lightning-кошелька перед платежом

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

Как проверить входящую ликвидность Lightning-кошелька перед платежом

Короткий ответ: входящая ликвидность – это способность каналов Lightning принять средства от других узлов и доставить их к вашему кошельку. Она не равна сумме Bitcoin, которая отображается в приложении. Владельцу собственного узла нужно оценить remote balance в нужных каналах, маршрут и ограничения платежа; пользователю кастодиального или мобильного кошелька следует проверить сумму и совместимость инвойса в самом приложении.

Что именно называют входящей ликвидностью

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

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

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

Проверьте сумму, инвойс и срок

Начните с самого требования к платежу. Инвойс может задавать фиксированную сумму, срок действия, описание, hash или дополнительные маршрутизирующие подсказки. Сверьте адресата и валютный эквивалент с отправителем, если он важен. Не считайте истёкший или неверно скопированный инвойс проблемой ликвидности: сначала убедитесь, что документ действителен и относится к вашему кошельку. Подробно проверить поля помогает инструкция по Lightning-инвойсу.

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

Если кошелёк показывает общий inbound capacity, уточните, относится ли цифра ко всему узлу или к пути, совместимому с текущим инвойсом. Сопоставьте её с максимальным размером одного HTLC и лимитами каналов. Нельзя просто сложить все remote balances и считать результат гарантированной суммой получения: некоторые каналы не связаны с отправителем подходящим маршрутом, могут быть выключены или иметь недостаточную ликвидность у соседнего узла.

Проверка собственного узла по каналам

В интерфейсе управления узлом или через его штатные инструменты посмотрите список активных каналов, локальный и удалённый баланс, общую ёмкость, состояние peer и ограничения HTLC. Сопоставьте канал с контрагентом и маршрутом, по которому отправитель способен к вам добраться. Если один канал держит всю входящую ёмкость, а он не имеет надёжных связей с нужными узлами, фактическая доступность может быть гораздо ниже общей цифры.

Затем проверьте, активен ли канал и объявлен ли он маршрутизаторам, если это важно для вашего сценария. Не каждый канал обязан быть публичным: частные каналы тоже участвуют, но отправителю нужны корректные подсказки маршрута. Для узлов, принимающих коммерческие платежи, полезно регулярно сравнивать фактические успешные получения и распределение балансов, а не ориентироваться лишь на номинальную ёмкость. Это помогает заметить, что большая часть inbound capacity сконцентрирована на неподходящей стороне.

Сетевая ёмкость меняется после каждого платежа. Поступление увеличит локальный баланс по пути и сократит входящий запас, а исходящие переводы постепенно создают новую возможность принимать. Если платежи не проходят, сохраните точное время, сумму и технический идентификатор попытки, если кошелёк его показывает. Не публикуйте секреты канала или резервные данные узла в открытых чатах. Начните диагностику с состояния маршрута и правил проверки неуспешного Lightning-платежа.

Когда входящей ёмкости не хватает

Есть несколько способов восстановить баланс. Узел может расходовать сатоши, чтобы перераспределить средства в нужных каналах. Можно привлечь peer, который откроет канал к вам, или воспользоваться рынком аренды входящей ликвидности, если он подходит вашему уровню опыта и модели доверия. Подводный обмен между onchain и Lightning также может изменить направление баланса. Любой вариант требует оценки сетевой комиссии, условий аренды и рисков оператора.

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

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

Практический контрольный список

  1. Сверьте адресата, сумму, описание и срок действия инвойса.
  2. Уточните, использует ли кошелёк собственные каналы или сервис принимает платёж за вас.
  3. На собственном узле проверьте доступные каналы, peer, remote balance и HTLC-лимиты.
  4. Оцените возможный маршрут, а не только сумму всех каналов.
  5. При отказе сохраните технические детали и выясните причину до повторной попытки.

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