Skip to content

How can you do a bungee transaction (close, pay onchain and open in one tx)? #459

@artlav

Description

@artlav

A common misconception about LN is that it's not real BTC but something else, so i was looking for a way to demonstrate it clearly. I was under the impression that it was conceptually possible to close, pay and open in one transaction and it wasn't done yet only because the wallets haven't got to supporting it, but after a careful look at the specs this does not appear to be so.

What i call a bungee transaction is when you do a mutual close of a channel where you allocate your part of the spending transaction's value into a UTXO to someone you wish to pay on chain, a new channel's funding UTXO and, optionally, a change UTXO. This should save a single tx fee as well as make the user experience more transparent (ideally the user should not need to know, understand or decide which layer the the funds are going to be sent over).

Are there any existing plans for making this type of transaction possible?

If not, what is the rationale for not making it possible? If yes, what is it's googleable name?

As far as i can tell, there are 2 roadblocks in the BOLTs:

  1. Minor: open_channel got a option_upfront_shutdown_script optional flag, the use of which make such a closure impossible. How common is it's use in the wild? What is the rationale for it?

  2. Major: shutdown does not allow for more than one scriptpubkey, and BOLT 3 does not provide for multiple outputs in closing transaction. This might be amendable by an optional flag?

Am i missing anything else?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions