A technique to allow incoming payments when the wallet has no inbound channels is to have an intermediary node (LSP)
Intercept the incoming HTLC
Settle it itself instead of continuing forwarding it (by giving preimage to LSP)
Open a channel to the wallet with push amount
To do this the wallet can create an invoice with a routehint that leads to a LSP node with a fake short channel id.
Once the LSP sees an incoming HTLC with forwarding information specifying said fake short channel id, it can proceed with the protocol specified above.
To further improve this 0-conf channels can be utilized, although this isn't possible in lnd right now.
Implementation
To implement this in Blixt is a huge task, so this issue acts as an umbrella ticket.
[x] Create PoC using HtlcInterceptor API
[x] blixt-lsp software
[x] Figure out how to talk to Blixt. WebSockets? How to authenticate? What to do if something goes wrong?
[x] Create subsystem that talks with blixt-lsp
[x] Handle the invoice creation and Blixt and mark it as pending/settled
[x] Set up an lnd node somewhere with said blixt-lsp software
Introduction
A technique to allow incoming payments when the wallet has no inbound channels is to have an intermediary node (LSP)
To do this the wallet can create an invoice with a routehint that leads to a LSP node with a fake short channel id. Once the LSP sees an incoming HTLC with forwarding information specifying said fake short channel id, it can proceed with the protocol specified above.
To further improve this 0-conf channels can be utilized, although this isn't possible in lnd right now.
Implementation
To implement this in Blixt is a huge task, so this issue acts as an umbrella ticket.
HtlcInterceptor
APIblixt-lsp
softwareblixt-lsp
blixt-lsp
software