lightning-dev
Anchor transaction for no expiration channels without segwit
Posted on: February 8, 2017 09:32 UTC
The discussion is about a solution for a symmetrically funded channel.
The proposed idea involves two transactions, TX1 and TX2, for establishing the channel. TX1 has two inputs of 1 BTC each from Alice and Bob and four outputs. Two outputs are used to pay Alice and Bob equally, whereas the other two are conditional on secrets that can be claimed by either Alice or Bob. TX2, which is used to make payments, has one input from TX1 and two outputs for paying Alice and Bob equally. To prevent fraud, secrets are used in TX1. If Alice broadcasts TX2 with Alice+AliceSecret1, Bob can claim TX2 by broadcasting TX1 with Bob+AliceSecret1, thus preventing Alice from claiming the same output. A bounty condition is also added to TX1 to allow Bob to claim the bounty without waiting for the timeout. The only problems left unsolved without Segwit are third-party channel monitoring and the time required for channel establishment, which would take twice as long as a normal channel with expiration. The proposal reduces the transaction size and simplifies the process of establishing channels.