Resposta Direta
As taxas de Bitcoin dependem do tamanho virtual da transação, da taxa por byte e da demanda variável por espaço em bloco—não simplesmente do valor enviado.
Dois pagamentos em Bitcoin podem enviar o mesmo valor e pagar taxas de rede muito diferentes. A diferença não é o valor transferido. É a transação que a carteira precisa construir: quais saídas não gastas se tornam entradas, quantas novas saídas são criadas, quais tipos de script estão envolvidos, quantos dados serializados a transação assinada contém e qual taxa por byte a carteira aplica a esse tamanho virtual.
É por isso que uma carteira pode mostrar uma taxa antes da seleção de moedas e outra depois que as entradas finais são escolhidas. É também por isso que enviar 0,01 BTC pode custar mais do que enviar 1 BTC. O Bitcoin não cobra uma porcentagem do pagamento. Ele precifica o espaço em bloco.
O cálculo segue um caminho contínuo:
Entradas e saídas
→ dados serializados da transação
→ Peso da transação
→ tamanho virtual em vB
→ taxa por byte em sat/vB
→ taxa total em sats
Entender esse caminho permite que você leia uma prévia da taxa da carteira sem confundir o valor do pagamento, a taxa por byte e a taxa final.
A Taxa Não É uma Porcentagem
Uma taxa de transação de Bitcoin é a diferença entre o valor total de suas entradas e o valor total atribuído às suas saídas:
Taxa de transação
=
Valor total das entradas
−
Valor total das saídas
Suponha que uma carteira gaste uma entrada no valor de 120.000 sats. Ela cria uma saída de pagamento de 100.000 sats e uma saída de troco de 18.500 sats. Os 1.500 sats restantes são a taxa de transação:
120.000 sats
− 100.000 sats
− 18.500 sats
= taxa de 1.500 sats
A rede não retira essa taxa separadamente de uma conta. A taxa é o valor da entrada que a transação não atribui a uma nova saída.
Uma carteira pode apresentar vários valores relacionados na mesma tela. Eles descrevem diferentes partes da transação e não devem ser comparados sem suas unidades.
| Valor exibido | O que significa | Exemplo |
|---|---|---|
| Valor do destinatário | Bitcoin atribuído à saída do destinatário pretendido | 100.000 sats |
| Taxa total | Valor da entrada não atribuído a nenhuma saída | 1.500 sats |
| Taxa por byte | Preço aplicado por byte virtual | 10 sat/vB |
| Tamanho virtual | Tamanho da transação ponderado usado para comparação de taxas | 150 vB |
| Débito total da carteira | Valor do destinatário mais a taxa quando o remetente a paga separadamente | 101.500 sats |
O valor do pagamento e a taxa total são medidos em sats ou BTC. A taxa por byte é medida em sat/vB. O tamanho virtual é medido em vB. Se esses rótulos não forem familiares, leia primeiro o que um satoshi significa em carteiras e exibições de taxas.
Entradas e Saídas Definem o Tamanho
Entradas gastam UTXOs existentes
Carteiras Bitcoin não gastam a partir de um saldo de conta. Elas gastam saídas de transação não gastas existentes, comumente chamadas de UTXOs. Cada UTXO selecionado se torna uma entrada na nova transação.
Uma entrada identifica uma saída anterior e fornece os dados necessários para satisfazer as condições de gasto dessa saída. Dependendo do tipo de script, alguns dados de autorização aparecem na serialização base da transação e alguns aparecem no witness.
Um saldo exibido pode ocultar a estrutura que importa para as taxas. Uma carteira mostrando 500.000 sats pode controlar:
- um UTXO no valor de 500.000 sats;
- cinco UTXOs no valor de 100.000 sats cada;
- ou cinquenta UTXOs no valor de 10.000 sats cada.
Todas as três carteiras mostram o mesmo saldo total. Gastar a partir delas não cria a mesma transação. Mais UTXOs selecionados geralmente significam mais entradas, e cada entrada adicional traz outro outpoint, campo de sequência, script ou dados de testemunha, e prefixo de comprimento para a transação serializada.
Um pagamento de 50.000 sats financiado por um UTXO adequado pode, portanto, ser menor do que o mesmo pagamento financiado por oito UTXOs pequenos. A seleção de moedas também muda a privacidade e o conjunto futuro de UTXOs da carteira. Para comparar o custo de consolidar UTXOs agora com gastá-los separadamente mais tarde, use o Calculadora de Consolidação de UTXO Bitcoin.
Saídas de destinatário e troco
Uma saída de transação contém um valor inteiro em satoshis e um script de bloqueio. O pagamento ao destinatário é uma saída. O troco devolvido ao remetente é geralmente outra.
Se uma carteira seleciona um UTXO de 120.000 sats para fazer um pagamento de 100.000 sats, normalmente não pode gastar apenas parte desse UTXO. A nova transação consome a saída completa. Após a taxa ser contabilizada, o valor não utilizado retorna para uma saída de troco controlada pela carteira.
Um pagamento típico pode, portanto, conter uma ou mais entradas, uma saída de destinatário, uma saída de troco e campos fixos como versão e locktime. Também contém contagens de entradas e saídas, e cada entrada tem seu próprio valor de sequência.
Adicionar outro destinatário adiciona uma saída. Adicionar troco também adiciona uma. Cada saída aumenta o tamanho da transação, embora uma entrada comum de assinatura única geralmente adicione mais tamanho virtual do que uma saída comum.
Uma carteira pode evitar troco quando o valor da entrada selecionada corresponde de perto ao pagamento mais a taxa. Ela também pode adicionar um resto muito pequeno à taxa em vez de criar uma saída de troco antieconômica. Essa decisão depende da seleção de moedas e das regras de política da carteira, por isso “um pagamento” não é informação suficiente para reproduzir uma taxa.
Bytes, Weight e vSize
As transações Bitcoin são serializadas em bytes. A estrutura bruta inclui uma versão, contagem de entradas, entradas, contagem de saídas, saídas e locktime. Transações SegWit também incluem um marcador, sinalizador e campos de testemunha.
Antes de SegWit, as comparações de taxas frequentemente se referiam diretamente aos bytes da transação. BIP 141 introduziu a transação Weight para que os dados de testemunha pudessem contribuir de forma diferente dos dados não-testemunha.
BIP 141 define Weight como:
Transaction Weight
=
Base transaction size × 3
+
Total transaction size
A mesma relação pode ser escrita como:
Transaction Weight
=
Non-witness bytes × 4
+
Witness bytes
Um byte não-testemunha contribui com quatro unidades de peso. Um byte de testemunha contribui com uma. A ponderação menor não torna os dados de testemunha gratuitos; eles ainda consomem Weight do bloco e ainda aumentam o tamanho relevante para a taxa.
Carteiras e mercados de taxas comumente expressam o resultado em bytes virtuais, abreviado como vB:
vSize
=
ceil(Transaction Weight ÷ 4)
A divisão arredonda para cima para um byte virtual inteiro. Tamanho base, tamanho serializado total, Weight e vSize são medidas relacionadas, mas não são intercambiáveis. O tamanho base exclui dados relacionados à testemunha. O tamanho total inclui a serialização completa. Weight aplica a regra de quatro para um. vSize converte esse Weight no tamanho inteiro usado para cálculos comuns de taxa.
sat/vB Precifica a Transação
A unidade comum de taxa de Bitcoin é satoshis por byte virtual, escrita sat/vB. Uma vez que a estrutura da transação produziu um vSize, o cálculo simplificado da taxa é:
Taxa estimada em sats
=
vSize da transação
×
Taxa em sat/vB
As unidades se cancelam limpidamente: bytes virtuais multiplicados por satoshis por byte virtual deixam um número total de satoshis.
A taxa e a taxa total respondem a perguntas diferentes:
- Taxa: quanto a transação paga por cada unidade de tamanho virtual.
- Taxa total: quantos satoshis a transação completa paga.
Uma transação grande pode pagar uma taxa total alta a uma taxa moderada. Uma transação compacta pode pagar uma taxa total menor mesmo a uma taxa mais alta. Comparar apenas a taxa total esconde a diferença entre o tamanho da transação e a urgência do mercado de taxas.
Uma vez que a transação assinada final é conhecida, sua taxa efetiva pode ser calculada a partir da taxa real e do vSize real:
Taxa efetiva
=
Taxa real em sats
÷
vSize real em vB
A taxa efetiva pode conter um decimal, mesmo que a taxa da transação em si seja um número inteiro de satoshis.
Uma carteira ou calculadora também pode aceitar um alvo de taxa decimal. A taxa da transação em si ainda resolve para um número inteiro de sats porque os valores de entrada e saída são inteiros. Quando a multiplicação produz um satoshi fracionário, a implementação deve escolher uma taxa de satoshi inteiro. Arredondar para cima evita ficar abaixo do alvo solicitado, o que pode fazer a taxa efetiva final ficar ligeiramente mais alta do que o valor inserido.
Um Cálculo de Taxa Reproduzível
O exemplo a seguir modela uma estrutura comum de transação assinada:
- 2 entradas P2WPKH Native SegWit;
- 1 saída de destinatário P2WPKH;
- 1 saída de troco P2WPKH;
- Contagens CompactSize que cabem em um byte cada;
- Assinaturas ECDSA serializadas de 72 bytes no witness;
- e uma taxa selecionada de 12 sat/vB.
Este é um modelo técnico ilustrativo, não um registro de transação do usuário ou uma afirmação sobre uma carteira específica. Os comprimentos finais das assinaturas ECDSA podem variar, então uma carteira pode reservar um Weight máximo de entrada ligeiramente diferente antes de assinar.
Da serialização à taxa final
As duas entradas P2WPKH contribuem com 41 bytes base cada. As duas saídas P2WPKH contribuem com 31 bytes cada. Campos fixos e contagens de entrada e saída de um byte contribuem com mais 10 bytes base. Cada entrada modelada carrega 108 bytes de witness: um byte de contagem de itens de pilha, um byte de comprimento de assinatura, uma assinatura serializada de 72 bytes, um byte de comprimento de chave pública e uma chave pública compacta de 33 bytes.
| Componente | Bytes base | Testemunhas bytes | Contribuição de Weight |
|---|---|---|---|
| Versão, contagens e locktime | 10 | 0 | 40 WU |
| Duas entradas P2WPKH | 82 | 216 | 544 WU |
| Duas saídas P2WPKH | 62 | 0 | 248 WU |
| Marcador e flag SegWit | 0 | 2 | 2 WU |
| Total | 154 | 218 | 834 WU |
Weight
= (154 base bytes × 4) + 218 witness bytes
= 834 WU
vSize
= ceil(834 ÷ 4)
= 209 vB
Fee
= 209 vB × 12 sat/vB
= 2,508 sats
Todas as suposições são visíveis. Altere o número de entradas, o número de saídas, o tipo de script, o tamanho do testemunho ou a taxa, e o resultado muda. Para modelar tipos mistos de entrada e saída, abra o Calculadora de Taxas de Transação de Bitcoin, insira a estrutura mostrada pela carteira e compare a estimativa com a pré-visualização final da transação.
Mesmo Pagamento, Taxa Diferente
Considere duas carteiras que cada uma envia o mesmo pagamento de 100.000-sat, criam uma saída de troco P2WPKH e usam uma taxa de 12 sat/vB. A única diferença é o número de entradas P2WPKH.
Usando o mesmo modelo de assinatura de 72 bytes do exemplo trabalhado:
| Transação modelada | Entradas | Saídas | Weight | vSize | Taxa a 12 sat/vB |
|---|---|---|---|---|---|
| Carteira A | 1 P2WPKH | 2 P2WPKH | 562 WU | 141 vB | 1.692 sats |
| Carteira B | 8 P2WPKH | 2 P2WPKH | 2.466 WU | 617 vB | 7.404 sats |
O destinatário recebe o mesmo valor. A taxa é a mesma. A Carteira B paga mais porque gasta mais entradas e cria uma transação maior.
O valor pode ser inalterado. A estrutura da transação não é.
Uma estimativa de taxa que não conhece os UTXOs reais da carteira é, portanto, um cenário, não a transação final. A carteira deve selecionar entradas reais antes de poder determinar o tamanho e a taxa prováveis.
O Tipo de Entrada Muda o Custo
O número de entradas não é a única variável estrutural. As condições de gasto das saídas selecionadas determinam o que cada entrada deve serializar.
Perfis comuns de assinatura única incluem Legacy P2PKH, SegWit aninhado P2SH-P2WPKH, SegWit nativo P2WPKH e P2TR de caminho de chave Taproot. Eles não adicionam o mesmo Weight.
| Perfil comum de entrada | Onde os dados de autorização aparecem | Tamanho marginal ilustrativo | Limite importante |
|---|---|---|---|
| P2PKH | Transação base scriptSig | Cerca de 148 vB | O comprimento da assinatura ECDSA pode variar |
| P2SH-P2WPKH | Programa de resgate em scriptSig mais testemunha | Cerca de 91 vB | SegWit aninhado inclui dados de wrapper |
| P2WPKH | Testemunha | Cerca de 68 vB | O comprimento da assinatura ECDSA pode variar |
| Caminho de chave P2TR | Assinatura Schnorr única na testemunha | Cerca de 58 vB | Um byte de sighash não padrão adiciona um byte |
Estes números descrevem caminhos de gasto comuns de assinatura única, não todas as transações possíveis. Multisig, P2WSH, caminhos de script Taproot, inscrições, scripts complexos e construções não padrão podem conter dados de testemunha muito diferentes.
O tipo de saída também importa, embora um endereço de recebimento não revele o custo exato de entrada futura em todos os casos. Para uma comparação focada de codificações de endereço, compatibilidade e famílias de script comuns, leia Tipos de endereço Bitcoin e suas implicações para carteiras.
Por que as estimativas da carteira mudam
Uma estimativa de taxa da carteira pode mudar entre o formulário de pagamento e a tela de assinatura, mesmo quando o valor do destinatário permanece o mesmo. Várias decisões de construção de transação podem ainda não estar resolvidas quando a primeira estimativa aparece.
Seleção de moedas e troco são provisórios
A carteira pode inicialmente modelar uma contagem de entradas e depois selecionar um conjunto diferente após considerar o status de confirmação, configurações de controle de moedas, regras de privacidade, evitação de troco ou a necessidade de cobrir a taxa. Uma vez que as entradas são conhecidas, ela pode adicionar, remover ou alterar o tipo de uma saída de troco.
Bitcoin Core's fundrawtransaction a documentação reflete essas escolhas: uma carteira pode adicionar entradas, criar no máximo uma saída de troco, selecionar um tipo de troco, usar uma taxa em sat/vB, ou subtrair a taxa das saídas especificadas. Adicionar uma entrada aumenta Weight. Adicionar troco aumenta o tamanho da saída. Subtrair a taxa altera o valor do destinatário. Evitar uma saída de troco minúscula pode mover o restante para a taxa.
Assinaturas e taxas são estimadas
Assinaturas ECDSA não têm garantia de ter comprimentos serializados idênticos. A documentação de financiamento de transações do Bitcoin Core aconselha usar o tamanho máximo serializado da assinatura DER quando uma estimativa de Weight de entrada externa é fornecida. Uma carteira pode, portanto, reservar um máximo seguro antes que as assinaturas reais existam.
A taxa também pode ser atualizada antes da assinatura. Se a carteira receber uma estimativa mais recente ou o usuário alterar o alvo de confirmação, a taxa sat/vB selecionada muda mesmo quando a estrutura da transação não muda.
Estas não são discrepâncias aleatórias. Uma taxa alterada deve corresponder a um conjunto de entradas alterado, estrutura de saída, suposição de tamanho de assinatura, estimativa de taxa ou alguma combinação deles.
A demanda da rede define a taxa
A estrutura da transação determina vSize. As condições da rede influenciam a taxa que uma carteira escolhe para um alvo de confirmação.
O espaço de bloco Bitcoin é limitado. Transações não confirmadas competem por inclusão, e a taxa é um dos principais sinais usados para comparar quanto cada transação paga em relação ao seu tamanho virtual. Uma carteira pode selecionar uma taxa mais alta para um alvo mais agressivo ou uma taxa mais baixa quando o usuário aceita mais atraso.
Bitcoin Core's estimatesmartfee RPC retorna uma taxa aproximada para uma transação começar a ser confirmada dentro de um número solicitado de blocos quando dados suficientes estão disponíveis. Ela usa o tamanho virtual da transação e fornece dois modos de estimativa:
- Econômico responde mais rapidamente a quedas de taxa de curto prazo e pode retornar uma estimativa mais baixa.
- Conservador usa um histórico mais longo, responde mais lentamente a quedas de curto prazo e pode retornar uma estimativa mais alta.
Nenhum modo reserva espaço de bloco. A estimativa é baseada no comportamento observado, não uma promessa de que um minerador incluirá a transação em um bloco específico.
Carteiras, exploradores e serviços podem usar diferentes janelas de tempo, visualizações do mempool, margens de segurança e rótulos de alvo. Duas interfaces podem, portanto, recomendar taxas diferentes no mesmo momento sem aplicar regras de consenso Bitcoin diferentes.
Não há uma única fila global de mempool que cada nó veja exatamente na mesma ordem. Os nós recebem transações em momentos diferentes e aplicam suas próprias configurações de política. Uma estimativa de carteira descreve os dados disponíveis para sua fonte de taxa; um minerador, em última análise, seleciona entre as transações e políticas disponíveis para essa operação de mineração.
A transação assinada final
Antes de assinar, uma carteira estima os dados de autorização necessários para cada entrada. Após assinar, a transação contém as assinaturas reais e as pilhas de testemunha. A serialização final revela o Weight real, vSize, taxa total e taxa efetiva.
A tela de assinatura deve, portanto, ser tratada como mais autoritativa do que uma estimativa inicial de entrada de valor. Ela pode revelar que a carteira selecionou mais entradas do que o esperado, adicionou troco, usou um tipo de saída diferente, produziu um tamanho de assinatura diferente ou atualizou a taxa antes da autorização.
Os detalhes do pagamento podem estar corretos enquanto a estrutura da transação ainda merece outra revisão. Verifique ambos antes de transmitir.
Mudanças de taxa após a transmissão
Transmitir envia a transação para os pares. Não garante que todos os nós a aceitarão e reterão ou que ela aparecerá no próximo bloco. Novas transações podem entrar no mercado de taxas após a sua, tornando a taxa original menos competitiva.
Algumas carteiras podem criar uma substituição com taxa mais alta quando uma transação não confirmada é elegível para aumento de taxa. Bitcoin Core's bumpfee fluxo de trabalho pode reduzir troco ou adicionar entradas quando necessário, o que significa que o tamanho da transação de substituição e a taxa total podem ambos diferir do original.
Leia a pré-visualização final da carteira
Antes de assinar, verifique os números que estabelecem a taxa em vez de confiar em uma única linha de “taxa de rede”.
- Valor do destinatário: Confirme o valor atribuído ao destinatário pretendido e se a taxa é deduzida dessa saída.
- Entradas selecionadas: Uma contagem de entradas maior que o esperado explica muitos aumentos de taxa.
- Saídas e troco: Confirme as saídas do destinatário, altere a saída e altere o destino.
- Tamanho virtual: Revise a figura vB quando a carteira a expor.
- Taxa: Distinga uma taxa em sat/vB da taxa absoluta em sats.
- Taxa total: Confirme o total de satoshis que a transação paga.
- Alvo de confirmação: Trate-o como uma estimativa e observe se a carteira pode aumentar a taxa posteriormente.
A verificação cruzada mais útil é aritmética:
O vSize exibido × sat/vB exibido
corresponde aproximadamente à taxa exibida em sats?
Uma pequena diferença pode vir de uma taxa decimal, arredondamento de satoshi inteiro ou valores exibidos arredondados. Uma grande diferença inexplicada merece outra revisão antes de assinar.
Para contexto mais amplo sobre UTXOs, confirmações, mineradores e validação, continue para a referência de rede e transação Bitcoin.
O que a estimativa não pode garantir
Uma estimativa completa de taxa pode descrever a transação e a taxa selecionada. Ela não pode garantir:
- confirmação no próximo bloco ou em um horário exato;
- aceitação e retenção contínua por todos os nós;
- demanda de rede inalterada após a transação ser assinada;
- ou que a carteira escolheu as entradas mais privadas e econômicas ou nunca precisará de um aumento de taxa.
A questão reproduzível é mais restrita: dada esta estrutura de transação e esta taxa, quantos satoshis a transação paga? O tempo de confirmação permanece probabilístico.
FAQ de Taxa de Transação Bitcoin
As taxas de transação Bitcoin são baseadas no valor enviado?
Não. As taxas de transação Bitcoin são baseadas principalmente no tamanho virtual da transação e na taxa selecionada. O valor enviado pode afetar quais UTXOs uma carteira precisa, mas um pagamento maior não cria automaticamente uma taxa maior.
O que significa sat/vB?
Sat/vB significa satoshis por byte virtual. É uma taxa aplicada ao tamanho virtual de uma transação. Multiplicar vSize pela taxa dá uma taxa total modelada em satoshis.
Por que a taxa da minha carteira Bitcoin mudou antes de eu assinar?
A carteira pode selecionar entradas diferentes, adicionar ou remover troco, atualizar o tipo de troco, reservar um tamanho de assinatura diferente ou atualizar a taxa. Qualquer uma dessas mudanças pode alterar a taxa final.
Por que duas carteiras podem cobrar taxas diferentes para o mesmo pagamento?
As carteiras podem controlar UTXOs diferentes, escolher entradas diferentes, criar saídas de troco diferentes, usar estimativas de taxa diferentes ou aplicar margens de segurança diferentes. O valor do destinatário pode ser o mesmo enquanto as estruturas de transação diferem.
Uma taxa Bitcoin mais alta garante confirmação mais rápida?
Não. Uma taxa mais alta pode melhorar a prioridade relativa de uma transação, mas não pode garantir um bloco específico. Demanda futura, seleção de mineradores, política de mempool e descoberta de blocos permanecem fora do controle da carteira.
Uma taxa Bitcoin pode ser aumentada após a transmissão?
Algumas carteiras podem criar uma substituição com taxa mais alta quando a transação original é elegível para aumento de taxa. A substituição pode reduzir o troco ou adicionar entradas, então seu tamanho de transação e taxa total podem mudar.
Fontes Técnicas
As fórmulas e limites de construção de transações neste guia são baseados em especificações primárias Bitcoin e documentação Bitcoin Core.
- BIP 141: Testemunha Segregada — define Weight de transação, tamanho base, tamanho total e tamanho virtual de transação.
- Referência de Transação do Desenvolvedor Bitcoin — documenta entradas e saídas serializadas e explica que os valores de saída são registrados em satoshis.
- Bitcoin Core 31.0 RPC estimatesmartfee — documenta estimativa de taxa com alvo de confirmação, uso de tamanho virtual e modos econômico e conservador.
- Bitcoin Core 31.0 RPC fundrawtransaction — documentos seleção automática de entrada, criação de alteração, configurações de taxa, subtração de taxas e suposições de entrada-Weight.
- Bitcoin Core 31.0 RPC bumpfee — documenta substituição de taxa de carteira e como uma transação com taxa mais alta pode reduzir troco ou adicionar entradas.
- BIP 341: Taproot — define assinaturas de caminho de chave Taproot e comportamento de testemunha usado no modelo comum de tamanho de entrada P2TR.
Fontes
Encontrou um erro? Relate um problema de conteúdo ou leia nosso Política de correções.