709 / 736JIT

Just-in-Time Channels

Каналы, открываемые только при поступлении платежа

Just-in-Time Channel — Lightning channel, который LSP открывает в ответ на incoming payment; получатель начинает принимать без заранее купленной capacity, а opening cost вычитается из первого payment.

LSPS2, то есть bLIP 52, согласует parameters, помещает особый identifier в payment data и при прохождении через LSP запускает открытие private zero-confirmation channel и передачу payment после вычета opening fee.

Just-in-Time Channel создаётся только в ответ на incoming payment из public Lightning Network через LSP. Получателю заранее не нужны channel, outbound capacity или on-chain funds; стоимость новой inbound liquidity оплачивается из первого полученного payment. [1]

Client сначала вызывает lsps2.get_info и получает offers с min_fee_msat, proportional rate в ppm, valid_until, min_lifetime, max_client_to_self_delay и payment size limits. Выбранную offer и созданный LSP promise он посылает в lsps2.buy; возможен error при истечении, слишком малом payment или нехватке liquidity. [2]

Успешный lsps2.buy возвращает jit_channel_scid и lsp_cltv_expiry_delta. Client помещает LSP node ID и этот SCID единственным hop route hint в BOLT11 invoice либо передаёт те же данные будущей схемой вроде blinded path; expiry не превышает valid_until, а client должен быть подключён при поступлении payment. [1]

Распознав jit_channel_scid во входящем HTLC, LSP запускает стандартный BOLT 2 channel establishment. Channel должен вместить payment_size_msat минус opening_fee и reserve, остаётся unannounced, использует option_scid_alias и может переслать payment как zero-confirmation channel до подтверждения funding transaction. [4]

LSPS2 описывает два trust models. В LSP trusts client provider сначала публикует valid funding transaction и рискует, что client не раскроет preimage; в client trusts LSP provider может задержать broadcast, пока client раскрывает preimage и полагается на создание valid funding outpoint. [3]

JIT не гарантирует unconditional delivery. Payment должен покрыть opening fee, limits и minimum HTLC; disconnect до funding_signed вызывает temporary_channel_failure, а naive prepayment probe в LSP trusts client может открыть channel, за который LSP в итоге не получит payment. [1]

bLIP 52 имеет статус active specification и требует LSPS0, то есть bLIP 50, как transport. Reference crate lightning-liquidity даёт client и service handlers для LSPS2, но documentation называет service-side support beta; наличие API не доказывает production readiness конкретной wallet или LSP. [5]

Verification начинается с lsps2.get_info и точного max(min_fee_msat, proportional fee), а также valid_until, promise, payment limits, min_lifetime и max_client_to_self_delay. После payment проверяют deducted fee, funding outpoint, channel parameters, channel_ready, alias и actual inbound capacity; одна invoice не доказывает open channel. [1]

Для полной картины прочитайте эту статью вместе с Lightning Service Provider, Inbound Liquidity, Payment Channel, Price Channel, BOLT 11, BOLT 12.

01Just-in-Time Channel бесплатен?

Нет. LSP вычитает opening fee из первого incoming payment. Client должен заранее проверить minimum и proportional части fee, payment limits и parameters validity period.

02Подтверждён ли Just-in-Time Channel on-chain до получения payment?

Обычно нет. LSPS2 открывает zero-confirmation channel в ответ на payment, а в зависимости от trust model funding transaction может быть только в mempool или ещё ждать broadcast. Client осознанно выбирает confirmation threshold и LSP risk.

DOC · 001bLIP 52 — LSPS2 JIT Channel NegotiationСпецификация DOC · 002bLIP 50 — LSPS0 Transport LayerСпецификация DOC · 003bLIP 25 — Forward less than onion valueСпецификация DOC · 004BOLT 2 — Peer Protocol for Channel ManagementСпецификация DOC · 005LDK lightning-liquidity — LSPS2 moduleДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией