Glossário / Transações e taxas
Transação de dados nulos
Outros nomes: Transação portadora de dados, Transação OP_RETURN.
- O que é uma transação de dados nulos?
- Uma transação de dados nulos carrega uma saída que guarda uma mensagem curta em vez de dinheiro, marcada como comprovadamente impossível de gastar para que os nós possam descartá-la do conjunto de saídas gastáveis.
As pessoas queriam escrever coisas na blockchain muito antes de existir uma forma segura de fazer isso. A forma segura é uma saída que começa com OP_RETURN, que falha imediatamente se alguém tentar gastá-la, de modo que os nós completos podem descartá-la da memória em vez de rastreá-la para sempre. Quase todas essas saídas contêm zero satoshis, e o remetente paga apenas pelos bytes.
Como funciona
Uma saída de dados nulos é um script de bloqueio que nunca pode ser satisfeito, e é exatamente esse o ponto.
O script começa com o opcode OP_RETURN e é seguido por uma inserção de dados. Como o opcode aborta o script no momento em que é alcançado, nenhuma combinação de assinaturas pode desbloquear a saída, e os nós podem deixá-la fora do conjunto de saídas não gastas que mantêm na memória. Esse conjunto é a coisa cara que um nó completo mantém, e manter o lixo fora dele é toda a justificativa do recurso.
O Bitcoin Core tornou uma única saída desse tipo padrão na versão 0.9.0, lançada em março de 2014, com uma carga útil limitada a 40 bytes. O limite subiu para 80 bytes de dados durante 2015, que o nó conta como 83 bytes de script depois de incluídos o opcode e o prefixo de inserção. A versão 30.0, lançada em outubro de 2025, removeu o limite padrão e a restrição de uma saída por transação, após uma discussão longa e acalorada sobre se a política de retransmissão deveria tentar desestimular o armazenamento de dados. O Bitcoin Knots manteve os padrões mais rígidos, então as duas implementações de nó mais usadas agora discordam de propósito, e o operador de um nó escolhe um lado ao escolher o software.
A mudança é de política, não de consenso. Dados em uma saída OP_RETURN sempre foram válidos; a discussão sempre foi apenas sobre se os nós comuns deveriam repassá-los.
Onde você vê isso
Olhe qualquer bloco em um explorador e você encontrará saídas de dados nulos listadas com valor zero e um script exibido como OP_RETURN seguido de hexadecimal.
O usuário intensivo mais antigo é o Omni Layer, o protocolo que emitiu a primeira versão do Tether no bitcoin, que codificava suas instruções desse modo. Serviços de carimbo de tempo, como o OpenTimestamps, gravam o hash de um documento em uma saída, para que depois você possa provar que o documento existia antes daquele bloco. O Runes, o protocolo de tokens que foi lançado no bloco do halving em 20 de abril de 2024, coloca todo o seu conjunto de instruções em uma única saída de dados nulos, e é por isso que aquele bloco e os seguintes estavam cheios delas.
Para quem compra bitcoin, o efeito prático é indireto, mas real. As saídas de dados competem pelo mesmo espaço de bloco que o seu pagamento, e uma rajada delas eleva a taxa por peso que você tem de pagar para obter a confirmação. Esse é o mecanismo por trás da maioria dos picos de taxas dos últimos anos.
Transação de dados nulos vs OP_RETURN
OP_RETURN é um opcode; uma transação de dados nulos é uma transação inteira que por acaso contém uma saída que o usa. A distinção importa ao ler a configuração de um nó, porque as opções do Bitcoin Core levam o nome da categoria de transação, não o do opcode: a opção -datacarrier decide se essas transações são retransmitidas, e a opção -datacarriersize define o tamanho máximo da carga útil. Procurar por OP_RETURN na documentação não vai encontrar essas opções.
Transação de dados nulos vs inscrição
As inscrições colocam seus dados em um lugar completamente diferente. Uma inscrição ordinal esconde sua carga útil dentro de um script de testemunha taproot, que recebe o desconto de peso do SegWit e pode chegar a megabytes, enquanto uma saída de dados nulos é cobrada pelo peso total e era historicamente limitada a 80 bytes. Essa diferença de preço e de tamanho explica por que imagens e colecionáveis chegaram como inscrições e não como dados OP_RETURN, e por que as duas coisas provocam discussões muito diferentes sobre o inchaço da blockchain.