hsjoberg / blixt-wallet

Bitcoin Lightning Wallet with focus on usability and user experience
https://blixtwallet.github.io
MIT License
388 stars 68 forks source link

Dunder: on-demand channel openings #242

Open hsjoberg opened 4 years ago

hsjoberg commented 4 years ago

Introduction

A technique to allow incoming payments when the wallet has no inbound channels is to have an intermediary node (LSP)

  1. Intercept the incoming HTLC
  2. Settle it itself instead of continuing forwarding it (by giving preimage to LSP)
  3. 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.

hsjoberg commented 3 years ago

https://github.com/hsjoberg/dunder-lsp

hsjoberg commented 3 years ago

Implemented in 2ec7bb7

lndhub-admin commented 3 years ago

https://github.com/hsjoberg/dunder deprecated

https://github.com/hsjoberg/dunder-lsp

hsjoberg commented 3 years ago

@lndhub-admin Thank you! Fixed