Combined summary - Add a SIGHASH_DOUBE flag

Combined summary - Add a SIGHASH_DOUBE flag

The dialogue concerning the flexibility and expressiveness of Bitcoin's transaction signing process highlights a few notable proposals aimed at enhancing the system.

One primary issue identified is the comparison of current capabilities with something like TXHASH, emphasizing the need for more nuanced control over transaction signatures, particularly through the introduction of new flags without necessitating a script version update. This conversation segues into the potential reevaluation of SIGHASH_BUNDLE and APO/AS in scenarios where TXHASH cannot be implemented, suggesting that future iterations of Bitcoin, such as a hypothetical "Taproot 2.0," could address these limitations by incorporating new signature hash (sighash) modes to rectify Taproot's shortcomings.

Further discussions delve into the specifics of proposed signature hash types, notably SIGHASH_BUNDLESTART and SIGHASH_INBUNDLE, which aim to improve transaction verification efficiency by allowing inputs to be signed as a group or "bundle." This method could potentially streamline transaction processing by reducing the computational overhead associated with verifying each input separately, thus facilitating more complex transaction structures suitable for advanced features and smart contracts on the Bitcoin blockchain. These proposals, shared on the bitcoin-dev mailing list, bring to light the technical challenges and considerations involved, including compatibility, security, and impact on the network's operations. The community's commitment to evolving the Bitcoin protocol through open-source collaboration and rigorous scrutiny is evident in these discussions.

Additionally, the concept of a SIGHASH_DOUBLE flag has been introduced to further refine the functionality of signing Bitcoin transactions. Unlike SIGHASH_SINGLE, this new flag would enable the signing of transactions for two outputs, thereby supporting the creation of Partially Signed Bitcoin Transactions (PSBTs) that can be combined non-interactively. The proposal outlines a verification process that includes organizing transactions based on their sighash flag to ensure proper pairing of inputs and outputs, thereby avoiding rejection from the mempool due to improper arrangement. Despite the potential benefits, concerns regarding compatibility and the impact on transactions that either lack outputs or consolidate inputs were raised. The feasibility of soft-forking this feature into Bitcoin, leveraging Taproot's extension methods for signature validation, and the novel combination of SIGHASH_DOUBLE with ANYONECANPAY to optimize transaction efficiency, underscore the ongoing efforts to refine and enhance the Bitcoin transaction signing process. Community feedback and further discussion are encouraged to develop these concepts comprehensively.

Discussion History

cmd Original Post
February 28, 2024 22:34 UTC
February 29, 2024 00:19 UTC
March 2, 2024 22:07 UTC
March 3, 2024 11:48 UTC