В Lightning Network баланс канала распределён между двумя его участниками. Общая ёмкость показывает, сколько средств закреплено в канале, но не говорит, сколько именно можно отправить или получить в выбранном направлении. Для платежа важны исходящая и входящая ликвидность каждой стороны, а также доступность остальных узлов выбранного пути.
Если открыть канал и внести в него средства со своей стороны, сначала у вас обычно больше возможностей отправлять, чем получать через этот канал. После исходящих платежей часть баланса перемещается к удалённой стороне: собственная исходящая ёмкость уменьшается, а способность получать через этот канал увеличивается. Это упрощённая модель двустороннего канала; реальное поведение зависит от состояния сети, нескольких каналов и реализации кошелька.
Что означают два направления
Исходящая ликвидность – это доступная сумма на вашей стороне канала, которой вы можете расплатиться или которую узел может переслать дальше. Входящая ликвидность – средства, находящиеся на стороне партнёра и доступные для платежа к вам. Для прямого получения нужна подходящая входящая ёмкость на канале, но для платежа через сеть должна быть ещё и непрерывная последовательность доступных каналов до отправителя.
Представьте канал общей ёмкостью один миллион сатоши. Если большую часть внесли вы, ваша исходящая способность велика, а входящая мала. По мере получения платежей баланс смещается в вашу сторону и канал может лучше принимать новые суммы. Если же вы постоянно отправляете деньги, остаток на вашей стороне падает и доступный размер следующего исходящего платежа уменьшается. Общая ёмкость при этом остаётся прежней.
Баланс нельзя всегда увидеть точно из публичного графа сети. Участники раскрывают часть сведений о канале, но не каждую деталь текущего остатка и маршрута. Кроме того, данные устаревают: другой платеж может использовать ликвидность до того, как отправится ваша транзакция. Поэтому кошелёк оценивает путь и иногда повторяет попытку по другому маршруту.
Почему общий баланс не гарантирует платёж
Даже если канал достаточно большой, нужная сумма может находиться на неподходящей стороне. Для получения платежа к вам средства должны пройти с удалённых сторон к вашей. Для отправки – двигаться от вас по направлению к получателю. Один и тот же канал может хорошо принимать и плохо отправлять либо наоборот. Это похоже на дорогу с полосами: количество машин на трассе не сообщает, сколько свободного места осталось в нужном направлении.
Промежуточный узел также нуждается в ликвидности в обоих соседних каналах и должен получить сумму с учётом своих сборов. Если нужный остаток доступен только на другом маршруте, попытка может завершиться неудачно. На результат влияют минимумы и максимумы каналов, статус узлов, ограничения времени блокировки и политика комиссий. Поэтому размер канала – лишь верхняя граница, а не обещание доставки.
Для маршрутизирующего узла важны оба направления. Получение комиссии на входящем потоке может постепенно смещать средства к одной стороне и делать канал менее сбалансированным для будущих задач. Операторы следят за сочетанием остатка, спроса, стоимости капитала и расходов на управление. О комиссиях посредников отдельно рассказывает материал о routing fee в Lightning.
Как появляется новая входящая ёмкость
Естественный способ получить входящую ликвидность – потратить часть средств из своего канала. В этом случае баланс перемещается к партнёру, и он сможет отправить через канал средства обратно. Магазин или сервис, который регулярно принимает платежи, может создать исходящий поток и тем самым увеличить способность получать. Но тратить реальные средства только ради изменения баланса не всегда разумно: нужно учитывать комиссии, ликвидность и цель операции.
Также можно договориться, чтобы другой узел открыл канал к вам. В таком канале сначала будет ликвидность на его стороне, то есть она доступна для входящих платежей. Условия открытия, срок работы, надёжность контрагента и комиссии следует проверять до согласия. Услуги покупки входящей ёмкости или перевода между on-chain и Lightning создают дополнительные расходы и доверительные предположения; они не гарантируют, что любой будущий платёж найдёт маршрут.
Маршрутизаторы могут перестраивать распределение балансов с помощью циклического ребалансирования или специализированных сервисов. В таком процессе средства перемещаются по маршруту, который начинается и завершается у одного узла, меняя остатки в выбранных каналах. Это может стоить комиссии и времени, поэтому оператор сравнивает цену перебалансировки с доходом и ожидаемым спросом. Сам факт наличия инструмента не означает, что он подходит обычному пользователю.
Как диагностировать неудачный перевод
При ошибке сначала прочитайте сообщение кошелька. Проверьте сумму, срок действия счёта, доступную ликвидность и состояние каналов. Уменьшение суммы иногда позволяет найти маршрут, но не доказывает, что первоначальная ошибка была только из-за ёмкости. Если проблема касается входящего платежа, отправителю может понадобиться другой маршрут или новая попытка после изменения состояния каналов.
Не путайте Lightning с переводом по базовой сети Bitcoin. Открытие, закрытие канала и некоторые операции пополнения создают Bitcoin-транзакции с подтверждениями и сетевой комиссией. Обычная пересылка по открытому каналу проходит вне блокчейна и зависит от маршрутизации. Для знакомства с базовым уровнем читайте обзор Bitcoin и Lightning, а для оценки on-chain остатка – руководство как проверить UTXO и комиссию Bitcoin-перевода.
Входящая и исходящая ликвидность – это направление доступных средств, а не два разных токена и не дополнительный баланс поверх ёмкости канала. Платёж проходит только тогда, когда сумма и путь подходят для текущего состояния всех промежуточных каналов. Для обычной оплаты разумно использовать кошелёк, который сообщает об ошибке и сам перебирает доступные маршруты, а для управления узлом – наблюдать баланс по каналам и учитывать стоимость любых изменений.

