Skip to main content

UTXO | Bitcoin Glossary | Mapping Bitcoin

UTXO

Protocolo

Also known as: Unspent Transaction Output

Saída de Transação Não Gasta: unidade de propriedade no Bitcoin. Cada UTXO tem valor e script de bloqueio; gastá-lo cria novos UTXOs como troco.

Visão geral

Um UTXO (Saída de Transação Não Gasta) é o bloco de construção fundamental do sistema contábil do Bitcoin. Diferentemente dos sistemas bancários tradicionais que rastreiam saldos de conta, o Bitcoin rastreia fragmentos discretos de valor — cada UTXO representa uma quantidade específica de bitcoin bloqueada por uma condição de gasto. Para enviar bitcoin, uma carteira seleciona um ou mais UTXOs como entradas, os desbloqueia satisfazendo suas condições, e cria novos UTXOs como saídas.

O modelo UTXO

Modelo baseado em contas (bancos):    Modelo UTXO (Bitcoin):
┌─────────────────────┐           ┌──────────────────────────┐
│ Alice: $500         │           │ UTXO 1: 0.3 BTC → Alice  │
│ Bob:   $300         │           │ UTXO 2: 0.15 BTC → Alice │
│                     │           │ UTXO 3: 0.5 BTC → Bob    │
│ (saldo único)       │           │ (moedas discretas)        │
└─────────────────────┘           └──────────────────────────┘

Saldo de Alice = soma dos seus UTXOs = 0.45 BTC

Ciclo de vida de um UTXO

  1. Criação: Um UTXO é criado como saída de uma transação, bloqueando uma quantidade específica de bitcoin em um script (por exemplo, exigindo a assinatura de Alice).
  2. Existência: O UTXO fica no conjunto UTXO, disponível para ser gasto.
  3. Gasto: Quando Alice cria uma nova transação, ela referencia o UTXO como entrada e fornece os dados (assinatura, etc.) para satisfazer sua condição de gasto.
  4. Destruição: Uma vez gasto, o UTXO é removido do conjunto UTXO. Ele não existe mais; os novos UTXOs criados pela transação de gasto tomam seu lugar.

Um UTXO só pode ser gasto inteiramente — não há como gastar um UTXO parcialmente. Se Alice tem um UTXO de 0.3 BTC e quer enviar 0.1 BTC, sua transação cria duas saídas: 0.1 BTC para o destinatário e aproximadamente 0.2 BTC de volta para ela como troco (menos a taxa de transação).

Por que o modelo UTXO importa

  • Paralelismo: UTXOs podem ser validados independentemente, permitindo verificação paralela eficiente.
  • Privacidade: Cada UTXO pode usar um endereço diferente, tornando mais difícil vincular transações.
  • Verificação determinística: Cada nó completo pode verificar independentemente que nenhum UTXO é gasto duas vezes.
  • Sem estado global: Não há "saldos de conta" para corromper — o conjunto UTXO é o estado completo.

Casos extremos

  • Poeira: UTXOs muito pequenos podem custar mais em taxas para gastar do que valem, tornando-os efetivamente impossíveis de gastar.
  • Inchaço de UTXOs: Criar muitos UTXOs pequenos aumenta o tamanho do conjunto UTXO que todos os nós devem armazenar em memória, o que tem custos para a rede.
  • Seleção de moedas: As carteiras devem escolher quais UTXOs gastar, equilibrando eficiência de taxas, privacidade e gestão de UTXOs.