bitcoin-dev

Congestion Control via OP_CHECKOUTPUTSHASHVERIFY proposal

Congestion Control via OP_CHECKOUTPUTSHASHVERIFY proposal

Original Postby Jeremy

Posted on: May 20, 2019 20:58 UTC

A new opcode draft has been proposed by Jeremy Rubin, which is OP_CHECKOUTPUTSHASHVERIFY.

This opcode will enable congestion control techniques that are easy to use and trustless via a rudimentary limited form of covenant which does not bear the same technical and social risks of prior covenant designs. Congestion control allows Bitcoin users to confirm payments to many users in a single transaction without creating the UTXO on-chain until a later time. This improves throughput while increasing latency on spendability and average block space utilization. The BIP covers this use case in detail and a few other use cases lightly. The BIP draft can be found on GitHub. It proposes to deploy the change simultaneously with Taproot as an OPSUCCESS but could also deploy separately if needed. An initial reference implementation of the consensus changes and tests demonstrating how to use it for basic congestion control is available at https://github.com/JeremyRubin/bitcoin/tree/congestion-control. The changes are about 74 lines of code on top of sipa's Taproot reference implementation.