Scope

Why can’t you just send money to a Bitcoin address and have it create a payment channel? There is no reason why this couldn’t be possible in theory – the address just needs to be a 2-of-2 multisig and have some way for the owner of the address to get the initial coins back.

Channel establishment is one of the core interactive protocols involved in scaling Bitcoin. If we can turn it into an non-interactive protocol we have dramatically simplified Bitcoin’s future. Furthermore, if we can make it as simple as sending to an address we’ve created frictionlessly interoperable with every other Bitcoin protocol.

Other than simplification consider the following concrete implications:

Problem definition

Channel addresses must meet the following requirements:

State of the art

  1. The Swap-in-Potentiam is similar to channel addresses except it requires two on-chain transactions to finally establish the channel, however you can start using the channel after the first transaction is confirmed on-chain
  2. Non-interactive channel establishment is possible with OP_CTV. Although it’s non-interactive the script pubkey commits to the value of the channel so it is not viable as an address (since if the wrong amount was sent it would be stuck)
  3. It’s possible that OP_TXHASH would enable channel addresses