OP_CAT, OP_SUBSTR - String Manipulation

What they might enable:

Improved multi-signature techniques, improved 0-confirmation transaction security, and new opcodes outlined in paid section.

Why OP_CAT is disabled:

OP_CAT

concatenates two strings (think signatures). Pretty simple. The problem with things like this are related to resource consumption. Whenever you concatenate (combine), you're potentially taking up more space on the stack and risk a memory exhaustion attack with exponential growth. This type of attack would "blow up" the Bitcoin stack and crash all the nodes, particularly

in conjunction without

OP_DUP

. There are many proposed approaches to dealing with this risk such as limiting the total size

OP_CAT

can output, but limits themselves can lead to serious bugs if they are not consistently enforced everywhere in the code.

OP_SUBSTR

is a similar to

OP_CAT

, but

reduces

stack size, and so it is considered much less risky.

Note on 0-confirmation:

We know that

Satoshi believed