Lightning, the death of BIP62, and Segregated Witness

Nov 19 - Nov 19, 2015

  • The Bitcoin Improvement Proposal 62 (BIP62) has been withdrawn, as it seems wise to pursue normalized txid or segregated witness-based solutions instead.

While BIP62 may not solve all cases and is inferior to more fundamental solutions, it was already good enough for certain types of smart contract constructions, such as the Amiko Pay "HTLC emulation" design. However, some important types of malleability cannot be addressed by BIP62, and every new type of complex transaction may require new extra rules. As a result, BIP62 will never be deployed. There are several options from here: ignore malleated transactions as they are non-standard; add a timeout to the anchor which limits the lifetime of the channel and still means if it does happen you have to wait for the timeout; propose a reduced BIP62 which only protects P2PKH for a specific transaction version; or take a leap of faith and assume Segregated Witness fixes all malleability. Rusty Russell, who designed a lightning variant which used only non-experimental, in-planning BIPs, chose option #4. While still pre-BIP, Pieter Wuille is working on a prototype of Segregated Witness now, and other parts of the lightning code become significantly simpler if malleability is ignored. It's the right thing for Bitcoin, and all smart contract systems want this. This result is NOP for lightning in the short term; assuming SW is the same as pretending malleability doesn't exist. But if malleability support needs to be added later, it's going to be painful since handling it correctly in all the places it's missing will be hard.

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