lightning-dev

Anchor transaction for no expiration channels without segwit

Anchor transaction for no expiration channels without segwit

Original Postby Tier Nolan

Posted on: February 7, 2017 12:02 UTC

In a recent email exchange, Nicolas Dorier suggested an alternative method for transaction locking to create symmetrically funded channels.

The proposed method involves using nTimelock after the bounty's expiration, which would keep the transaction smaller. A symmetrically funded channel requires four 1BTC outputs, making it essentially two single funded channels. To open the channel, they would need two transactions: TX1 and TX2. TX1 has four inputs: two from Alice and two from Bob. It also has four outputs: one that is (Alice + Bob) OR (Bob + AliceSecret), one that is (Alice + Bob) OR (Alice + BobSecret), one that is (Bob + timeout(now + T)) OR (Alice + AliceSecret), and one that is (Alice + timeout(now + T)) OR (Bob + BobSecret). TX2, with locktime now + 2T, has two inputs signed by both Alice and Bob and an output that pays Alice and Bob 1BTC each as the initial channel payment. If one party signs and the other does not, the signer should spend their inputs to be safe. If TX1 is broadcast, they can both spend their timeouts to recover their funds. Once they have signed versions of TX1 and TX2, they should broadcast TX1 to initialize the channel. If TX1 is mutated, they should abort and spend their timeouts to recover their funds.

Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiBitcoin Transcripts Review
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project?

Give Feedback