Glossário / Transações e taxas
Transação padrão
- O que é uma transação padrão?
- Uma transação padrão é aquela que os nós comuns aceitam retransmitir e manter em suas mempools, um critério mais rigoroso do que o de ser simplesmente válida segundo as regras de consenso.
Dois portões separados protegem a rede. O consenso decide o que um bloco pode conter e só pode mudar por meio de uma bifurcação; a padronização decide o que seu nó repassará aos seus pares e muda sempre que sai uma nova versão. Uma transação que não passa pelo segundo portão não é inválida, ela não é bem-vinda, e precisa chegar a um minerador por alguma outra via.
Como funciona
A padronização é uma lista de verificação aplicada por cada nó por conta própria, e a versão dessa lista em Bitcoin Core fica em um único arquivo de código-fonte, src/policy/policy.cpp.
As condições principais são estas. Todo script de saída deve corresponder a um modelo reconhecido: pagamento para hash de chave pública, pagamento para hash de script, os três tipos de testemunha, multiassinatura bare com no máximo três chaves, ou uma única saída que carrega dados. A transação não pode ultrapassar 400.000 unidades de peso, que são 100.000 bytes virtuais, um quarto de um bloco cheio. Sua versão deve estar dentro do intervalo aceito. Sua taxa deve atingir a taxa mínima de retransmissão, 1 satoshi por byte virtual por padrão. Nenhuma saída pode ser menor que o limite de poeira, 546 satoshis para uma saída legada e 294 para uma SegWit nativa. Os scripts de desbloqueio devem conter apenas pushes de dados, sem opcodes.
Falhar em qualquer uma delas produz um erro específico de sendrawtransaction, geralmente começando com a palavra "non-mandatory-script-verify-flag" ou "scriptpubkey", e a transação nunca se espalha além do nó ao qual você a enviou.
A camada de política existe porque a retransmissão é gratuita e os blocos não são. Qualquer um pode inundar a rede com transações que nunca serão mineradas, então os nós se recusam a carregar formatos que parecem abuso, são caros de validar ou não conseguem, de forma realista, pagar o próprio custo. A política também é onde os experimentos ficam fora da circulação geral até que o ecossistema concorde que são seguros, e é por isso que afrouxar uma regra de política pode ser tão polêmico quanto um soft fork, apesar de não exigir coordenação alguma.
Onde você vê isso
A maioria das pessoas encontra a padronização como uma mensagem de erro, e as carteiras que a produzem geralmente estão fazendo algo incomum de propósito.
Tentar enviar uma saída de 300 satoshis acionará a regra de poeira. Construir uma multiassinatura grande como script bare em vez de dentro de pagamento para hash de script acionará a regra dos modelos. Anexar mais dados do que a configuração de portador de dados de um nó permite acionará esse limite. Os três casos voltam como uma rejeição do seu próprio nó antes que qualquer coisa chegue à rede.
Não padrão não significa impossível, e agora existe um mercado para contornar isso. Em 2 de fevereiro de 2023, o pool de mineração Luxor minerou o bloco 774.628, contendo uma única transação de 3,94 megabytes que nenhum nó teria retransmitido, enviada diretamente ao pool. Mais tarde, em 2024, a Marathon transformou a mesma ideia em um produto chamado Slipstream, que aceita transações não padrão e de tamanho excessivo para inclusão direta. Se você é um comprador comum, nunca precisará disso, e pedirem que você use um serviço assim é um forte sinal de que algo estranho está acontecendo.
Transação padrão vs uma transação válida segundo o consenso
A validade segundo o consenso é aquilo com que toda a rede deve concordar; a padronização é aquilo com que um nó individual escolhe ajudar. Uma transação pode ser válida segundo o consenso e não padrão, e nesse caso um minerador pode incluí-la e todos os nós aceitarão o bloco resultante sem reclamar. O contrário não pode acontecer: nada que quebre o consenso é retransmitido, porque de todo modo nunca poderia ser minerado. Dito de forma simples, a padronização é um filtro no caminho até o minerador, e o consenso é a regra que decide se a história foi estendida corretamente.