PMv3 CHIP Revised: Version 3 Transactions

The PMv3 proposal has been revised and is now a Cash Improvement Proposal: CHIP-2021-01-PMv3. Review and feedback is appreciated.

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:

A version 3 transaction format proposal for Bitcoin Cash. (Working Title for disambiguation is PMv3, a reference to one use case: prediction markets). - bitjson/pmv3

Notable Changes

The most notable changes are described below. For details, see the CHIP.

Detached Signatures

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

The PMv3 proposal now follows the Cash Improvement Proposal format and process. If you're interested in joining as a stakeholder, please contact me.

TL;DR: Summary of Revisions

  • Detached Signatures comprehensively solve third-party malleability and enable signature aggregation.
  • "Hashed Witnesses" have been renamed to Detached Proofs.
  • The PMv3 specification is now a proper CHIP: CHIP-2021-01-PMv3.

Feedback and review is appreciated – you can open an issue on GitHub or join the discussion on Bitcoin Cash Research.

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.