OP_CAT é um opcode proposto para Tapscript que concatena duas sequências de bytes quando o elemento resultante não excede o limite de 520 bytes; ainda não está ativo na mainnet.
A especificação redefine OP_SUCCESS126 no Tapscript. A operação remove os dois elementos superiores da pilha, concatena-os na ordem da pilha e devolve o resultado à pilha. [1]
O OP_CAT original foi desativado no início do Bitcoin junto com outros opcodes. A nova proposta limita-se ao Tapscript e mantém o limite atual de 520 bytes para um único elemento da pilha. [2]
A concatenação permite construir e aplicar hashes a dados estruturados dentro de um script. Seus defensores derivam daí covenants, árvores de transações, vaults e provas sobre propriedades de uma transação futura. [1]
O opcode sozinho não define uma aplicação específica nem uma máquina virtual de uso geral. A segurança de cada protocolo depende de como ele combina OP_CAT com hashes, assinaturas e regras de gasto. [1]
O BIP tem status Complete, que descreve a maturidade do documento e não uma ativação por consenso. Os nós da mainnet tratam hoje OP_SUCCESS126 como encerramento bem-sucedido do script segundo as regras do Tapscript. [3]
A ativação seria um soft fork: as novas regras reduziriam o conjunto de gastos Tapscript antes válidos. Ela exigiria um processo de implantação separado e ampla avaliação técnica. [1]
OP_CAT está relacionado a CTV, covenants e Simplicity, mas não é sinônimo deles. Cada proposta oferece expressividade, custos de análise e espaço para construções imprevistas diferentes. [1]
A verificação deve separar a especificação existente e as implementações experimentais das regras reais da mainnet. Uma wallet não deve presumir que OP_CAT esteja disponível sem ativação. [4]
Para ter uma visão mais completa, leia este verbete junto com Bitcoin Script, Taproot, Covenants, OP_CHECKTEMPLATEVERIFY, Soft Fork, BIP (Bitcoin Improvement Proposal).
01OP_CAT está ativo hoje na mainnet do Bitcoin?+
Não. O BIP 347 é uma especificação de proposta concluída, mas a mudança não foi ativada como regra de consenso da mainnet.
02OP_CAT significa smart contracts de uso geral?+
Não. Ele adiciona uma única operação de concatenação de dados; as possibilidades e os riscos surgem dos scripts e protocolos específicos que a utilizam.