PMv3 is a version 3 transaction proposal for Bitcoin Cash.
By addressing two issues with the transaction format, Bitcoin Cash contracts can support cross-contract interfaces, allowing contracts to interact with each other. For details, see PMv3: Build Decentralized Applications on Bitcoin Cash.
The latest revision of the PMv3 CHIP is now available:
The most notable changes are described below. For details, see the CHIP.
The most notable revision is the addition of
Detached Signatures, which offers comprehensive transaction malleability protection.
Detached signatures sign the full transaction (including the contents of inputs), so the
unlocking bytecode of transactions using detached signatures cannot be modified by third parties listening on the network.
While detached signatures are important for Bitcoin Cash contract capabilities (the focus of PMv3), they also offer some very impressive transaction size improvements. Consolidation transactions are able to reuse the same signature across multiple inputs, saving up to 71 bytes per input. In the longer term, detached signatures open a simple upgrade path for implementing general signature aggregation (without another transaction format). This would enable a ~20% reduction in average transaction size across the network.
Thank you to Richard Brady for identifying a malleability vector in the first draft of PMv3. More detail on BCR.
Hashed Witnesses are now Detached Proofs
The "hashed witness" terminology was meant to contrast with Segregated Witness, but "detached proof" is a more intuitive and accurate description.
PMv3 is now a CHIP
TL;DR: Summary of Revisions
Detached Signaturescomprehensively solve third-party malleability and enable signature aggregation.
- "Hashed Witnesses" have been renamed to
- The PMv3 specification is now a proper CHIP:
For notifications about PMv3 development, please subscribe here.
Thank you to Richard Brady, John Nieri, Tom Zander, and Chris Pacia for questions and feedback leading to this revision.