Glossary

OP_CAT

1 min read

OP_CAT is an opcode in the original Bitcoin Script language that allows for the classification of different types of transactions, such as simple payments, multi-signature (multisig) transactions, and smart contracts.

OP_CAT could enable covenants and vaults, improving cold storage and joint-custody solutions. Currently, there are no on-chain methods available to implement these unique features. OP_CAT could also facilitate non-equivocation contracts to penalize double-spending in payment channels such as the Lightning Network and support tree signatures, enabling complex spend conditions efficiently.

In 2010, the pseudonymous creator of Bitcoin, Satoshi Nakamoto, removed this feature due to security concerns. It could have been exploited to create infinite loops or large data operations, potentially crashing Bitcoin nodes and preventing new blocks from being processed. Removing OP_CAT made the Bitcoin network easier to secure and audit, enhancing its stability and robustness.

Some Bitcoiners are keen to reintroduce OP_CAT through a soft fork, believing it could bring a host of new features like covenants and shared ownership of UTXOs. However, some oppose the soft fork, arguing it would go against Satoshi’s vision for Bitcoin.