CONCEITO
UTXO
UTXO é uma saída de transação de Bitcoin que ainda não foi gasta. Em vez de manter saldos em contas, o protocolo acompanha saídas existentes e permite que novas transações consumam aquelas cujas condições de gasto possam ser satisfeitas.
DEFINIÇÃO ESSENCIAL
UTXO é uma saída de transação que permanece disponível para gasto
Transações de Bitcoin criam novas saídas e consomem saídas anteriores. Enquanto uma saída ainda não tiver sido utilizada como entrada de uma transação posterior válida, ela permanece no conjunto de saídas não gastas que os nós utilizam para verificar novos gastos.
UTXO (Unspent Transaction Output, em português, saída de transação não gasta) é uma saída criada por uma transação de Bitcoin que ainda não foi utilizada como entrada de uma transação posterior válida. Cada saída especifica uma quantidade de bitcoin e condições que precisam ser satisfeitas para que essa quantidade possa ser utilizada posteriormente. Quando uma nova transação referencia essa saída e satisfaz suas condições de gasto, a saída anterior é consumida integralmente e deixa de fazer parte do conjunto de UTXOs, enquanto a nova transação pode criar outros UTXOs. Por isso, Bitcoin não utiliza um livro de contas com saldos atualizados diretamente; o estado relevante para novos gastos é construído a partir do conjunto de saídas ainda não gastas.
UTXO não é uma moeda individual dentro da carteira
Um UTXO é uma saída específica registrada na história das transações e ainda disponível para gasto sob determinadas condições. Ele não deve ser imaginado como uma moeda digital guardada fisicamente dentro de uma carteira ou de um endereço. Carteiras identificam e gerenciam condições que permitem gastar determinados UTXOs.
EM TERMOS SIMPLES
Bitcoin acompanha saídas disponíveis, não saldos de contas
Uma maneira útil de compreender Bitcoin é abandonar temporariamente a lógica de uma conta bancária. O protocolo não precisa manter para cada usuário um número chamado “saldo”; ele verifica quais saídas de transações ainda existem e se uma nova transação possui autorização válida para gastá-las.
Uma transação pode criar novos UTXOs
Quando uma transação é aceita, suas saídas podem tornar-se novas unidades disponíveis para gastos posteriores. Cada uma possui um valor definido e condições específicas de gasto. Enquanto uma dessas saídas não for consumida por outra transação válida, ela permanece como UTXO.
Gastar um UTXO consome a saída inteira
Uma transação não reduz simplesmente um número armazenado dentro do UTXO. Ao utilizar uma saída anterior como entrada, ela a consome integralmente e cria novas saídas. Se o valor utilizado for maior que a quantia destinada ao destinatário e às taxas, uma nova saída pode devolver a diferença como troco. Assim, gastar transforma UTXOs antigos em novos UTXOs, em vez de editar o valor de uma saída existente.
O saldo mostrado pela carteira é uma abstração calculada
Uma carteira pode localizar UTXOs cujas condições de gasto ela é capaz de satisfazer e somar seus valores para apresentar ao usuário um saldo conveniente. Mas esse saldo não existe no protocolo como uma conta única que recebe acréscimos e descontos. Ele é calculado a partir de várias saídas independentes que a carteira reconhece como potencialmente gastáveis.
COMO FUNCIONA
Como uma transação consome UTXOs e cria novas saídas
Uma transação de Bitcoin não transfere um saldo de uma conta para outra. Ela referencia saídas criadas anteriormente, demonstra que possui autorização para gastá-las e cria novas saídas com novas condições de gasto. O estado monetário do protocolo é atualizado por esse processo contínuo de consumir UTXOs existentes e produzir outros.
01
As entradas apontam para saídas criadas anteriormente
Para gastar bitcoin, uma transação utiliza como entradas referências a saídas de transações anteriores. Cada referência identifica precisamente qual saída anterior está sendo utilizada, permitindo que os nós localizem aquela saída e verifiquem se ela continua disponível para gasto. Portanto, uma entrada não contém novos bitcoins nem retira um valor de uma conta: ela aponta para um UTXO que a transação pretende consumir.
02
As condições de gasto precisam ser satisfeitas
Cada UTXO possui condições que determinam o que será necessário para gastá-lo. Dependendo do tipo de saída, a nova transação precisa fornecer os dados criptográficos e demais elementos exigidos por essas condições. Os nós verificam essas informações segundo as regras de consenso antes de aceitar o gasto como válido. Possuir a informação ou chave necessária não altera o UTXO anterior; permite construir uma transação capaz de satisfazer suas condições de gasto.
03
Um UTXO utilizado como entrada é consumido integralmente
Quando uma transação válida gasta um UTXO, aquela saída anterior deixa de estar disponível para novos gastos. Seu valor não é simplesmente reduzido nem o UTXO é dividido internamente. Se apenas parte da quantidade representada pela saída precisar ser enviada a outra pessoa, a transação consome o UTXO inteiro e cria novas saídas que redistribuem seu valor.
04
A transação cria novos UTXOs para gastos futuros
As saídas da nova transação especificam novas quantidades e novas condições de gasto. Uma delas pode pagar o destinatário e outra pode devolver troco ao próprio pagador, enquanto a diferença entre o valor total das entradas e o valor total das saídas constitui a taxa da transação. Quando essas saídas passam a integrar o estado válido considerado pelos nós, elas podem tornar-se novos UTXOs e servir como entradas de transações posteriores.
Bitcoin atualiza saídas, não saldos de contas
Cada transação válida transforma o conjunto de saídas disponíveis: UTXOs utilizados deixam de poder ser gastos e novas saídas são criadas para usos posteriores. O saldo apresentado por uma carteira é calculado a partir desse conjunto; não existe no protocolo como um número armazenado numa conta pertencente ao usuário.
DISTINÇÕES IMPORTANTES
UTXO não é saldo, endereço, moeda individual ou transação
O modelo UTXO costuma ser interpretado por analogia com contas bancárias, carteiras físicas ou moedas individuais, mas essas comparações podem criar modelos mentais incorretos. Um UTXO é uma saída específica ainda não gasta, e sua relação com carteiras, endereços e transações precisa ser compreendida sem transformar esses elementos em equivalentes técnicos.
UTXO não é saldo
Um UTXO possui uma quantidade determinada de bitcoin, mas não representa o saldo de uma conta que aumenta ou diminui a cada pagamento. Uma carteira pode localizar diversos UTXOs que consegue potencialmente gastar e somar seus valores para apresentar um saldo ao usuário. O saldo é, portanto, uma informação calculada pela carteira a partir de saídas relevantes; o protocolo não mantém uma conta individual com um número que é simplesmente debitado e creditado.
UTXO não é endereço
Um endereço de Bitcoin é uma representação utilizada para comunicar informações necessárias à criação de determinadas condições de pagamento, enquanto um UTXO é uma saída concreta de uma transação. Vários UTXOs podem estar associados a condições derivadas da mesma carteira, e uma carteira pode utilizar muitos endereços diferentes. Portanto, endereço e UTXO pertencem a níveis diferentes do funcionamento do sistema e não devem ser tratados como recipientes equivalentes de bitcoin.
UTXO não é uma moeda individual
A sigla não identifica uma unidade indivisível chamada “um bitcoin” ou uma espécie de moeda digital equivalente a uma cédula. Um UTXO pode representar diferentes quantidades de bitcoin e, quando gasto, é consumido integralmente para que a nova transação redistribua seu valor em outras saídas. UTXO é uma unidade estrutural de saída disponível para gasto, não uma unidade monetária adicional ao bitcoin ou ao satoshi.
UTXO não é uma transação inteira
Uma transação pode consumir várias saídas anteriores como entradas e criar várias novas saídas ao mesmo tempo. Cada saída não gasta pode tornar-se um UTXO independente, enquanto a transação contém a estrutura completa que relaciona entradas, saídas e demais dados necessários à sua validação. Assim, um UTXO é uma saída específica criada por uma transação, e não a transação completa da qual essa saída faz parte.
LIMITES E CONTROVÉRSIAS
O modelo UTXO traz consequências para taxas, privacidade e controle dos fundos
O modelo UTXO permite validar gastos sem manter contas individuais, mas também produz efeitos práticos sobre a construção das transações. Quantidade de entradas, tamanho dos UTXOs, estratégias de seleção e formas de consolidação podem influenciar custos e privacidade, enquanto o controle técnico de uma saída não deve ser confundido automaticamente com todas as dimensões sociais e jurídicas da propriedade.
01
Muitos UTXOs pequenos podem aumentar o custo de um gasto futuro
Uma carteira pode controlar numerosos UTXOs de valores reduzidos. Se um pagamento exigir a utilização de muitos deles como entradas, a transação precisará carregar mais dados para referenciar e autorizar esses gastos, aumentando seu tamanho ou peso e, consequentemente, podendo exigir uma taxa maior em condições equivalentes de mercado. Por isso, o saldo total de uma carteira não informa sozinho quanto custará movimentá-lo: a distribuição desse saldo entre diferentes UTXOs também importa.
02
Consolidar UTXOs pode reduzir fragmentação, mas envolve escolhas
Uma carteira pode construir uma transação que consome vários UTXOs e cria uma quantidade menor de novas saídas, reduzindo a fragmentação para gastos posteriores. Essa operação, porém, também ocupa espaço em bloco e paga taxa no momento em que é realizada, de modo que sua conveniência depende das condições e objetivos do usuário. Consolidação não é uma limpeza automática nem universalmente vantajosa; é uma escolha de gerenciamento entre estrutura dos UTXOs, custo presente e possíveis custos futuros.
03
A seleção de UTXOs também pode afetar a privacidade
Quando uma transação combina vários UTXOs como entradas, observadores da blockchain podem utilizar essa combinação, junto de outros padrões, para formular hipóteses sobre vínculos entre diferentes saídas e entidades. Essas inferências não são certezas universais, mas a maneira como UTXOs são selecionados e combinados pode revelar informações adicionais sobre o histórico financeiro do usuário. Portanto, gerenciar UTXOs envolve não apenas valores e taxas, mas também consequências potenciais para a privacidade.
04
Controlar um UTXO não resolve sozinho a questão da propriedade
No protocolo, uma transação válida precisa satisfazer as condições de gasto associadas ao UTXO, e quem dispõe dos meios necessários para fazê-lo possui capacidade técnica de autorizar sua movimentação. Mas essa capacidade não determina, por si só, todas as relações jurídicas, econômicas ou sociais associadas aos fundos. Controle criptográfico e propriedade como categoria social podem coincidir em muitas situações, mas não são conceitos idênticos.
A estrutura dos UTXOs importa além do saldo total
Duas carteiras podem apresentar o mesmo saldo e possuir estruturas internas muito diferentes: uma pode controlar poucas saídas grandes e outra centenas de saídas pequenas. Essas diferenças podem afetar tamanho das transações, taxas, estratégias de gasto e privacidade, mesmo quando o valor monetário total apresentado ao usuário é idêntico.
CONTINUE A EXPLORAÇÃO
Conceitos relacionados
UTXOs participam diretamente da construção e validação das transações de Bitcoin e representam o estado das saídas ainda disponíveis para gasto. Os conceitos abaixo ajudam a acompanhar sua relação com transações não confirmadas, verificação pelos nós, histórico da blockchain, autocustódia e unidade monetária, evitando confundir uma saída técnica do protocolo com uma moeda individual ou saldo de conta.
Bitcoin
Sistema monetário digital baseado em regras públicas que permite criar, validar e transferir unidades sem utilizar um modelo tradicional de contas. O conjunto de UTXOs é uma das estruturas fundamentais pelas quais o protocolo representa quais quantidades continuam disponíveis para novos gastos.
Mempool
Conjunto local de transações válidas ainda não confirmadas que um nó mantém como candidatas à inclusão em blocos. Uma transação na mempool pode consumir UTXOs existentes e criar saídas que outras transações não confirmadas podem utilizar, formando cadeias de dependência antes da confirmação.
Nó completo
Software que verifica independentemente blocos e transações segundo as regras que executa. Para avaliar um novo gasto, o nó precisa determinar se as saídas referenciadas continuam disponíveis e se suas condições de gasto foram satisfeitas. O conjunto de UTXOs é, portanto, essencial à verificação de tentativas de gasto.
Moeda
Unidade e forma concreta pela qual relações monetárias podem ser expressas e operacionalizadas. Um UTXO não é uma unidade monetária: ele é uma saída específica de transação que pode representar determinada quantidade de bitcoin. Bitcoin e satoshi funcionam como unidades de denominação, enquanto UTXO descreve uma estrutura técnica de saídas disponíveis para gasto.
Autocustódia
Forma de controle em que o próprio usuário mantém os meios necessários para autorizar gastos sem depender obrigatoriamente de um custodiante externo. Na prática, carteiras de autocustódia identificam UTXOs relevantes e gerenciam as chaves e condições necessárias para movimentá-los, mas controle criptográfico não deve ser confundido com a ideia de bitcoins armazenados fisicamente dentro da carteira.
Blockchain
Estrutura histórica de blocos pela qual transações confirmadas podem ser verificadas e ordenadas. A cadeia registra as transações que criaram e gastaram saídas ao longo do tempo, enquanto os nós derivam dessas informações o estado necessário para identificar quais saídas continuam não gastas.
FONTES E DOCUMENTAÇÃO
Referências para aprofundamento
O modelo UTXO pode ser observado tanto na estrutura das transações descrita desde o whitepaper quanto na implementação do Bitcoin Core, que mantém e consulta o conjunto de saídas atualmente não gastas para verificar o estado da cadeia. As referências abaixo conectam o modelo conceitual de entradas e saídas à forma como essas informações são efetivamente representadas e consultadas pelo software.
01
Bitcoin: A Peer-to-Peer Electronic Cash System — Combining and Splitting Value
Na seção dedicada à combinação e divisão de valor, Satoshi Nakamoto explica que as transações podem possuir múltiplas entradas e saídas, permitindo combinar quantidades anteriores e criar separadamente uma saída para pagamento e outra para eventual troco. Embora o texto original não empregue a sigla UTXO, ele apresenta a estrutura de transações da qual decorre o modelo de consumir saídas anteriores e criar novas saídas.
Satoshi Nakamoto · Bitcoin: A Peer-to-Peer Electronic Cash System · Seção 9 — Combining and Splitting Value
02
Bitcoin Core — gettxout
A chamada gettxout do Bitcoin Core consulta uma saída específica identificada pelo ID da transação e pelo índice da saída e retorna informações apenas quando ela permanece não gasta no estado consultado. A interface também pode considerar a mempool, de modo que uma saída já utilizada por uma transação presente nela deixe de aparecer como disponível. Isso demonstra operacionalmente que um UTXO é uma saída individual identificável, e não um saldo associado a uma conta.
Bitcoin Core · RPC gettxout · documentação da versão 30.0
03
Bitcoin Core — gettxoutsetinfo
O Bitcoin Core também oferece uma consulta específica para obter estatísticas sobre o conjunto de saídas de transação não gastas. Entre as informações disponíveis estão quantidade de UTXOs, valor total representado pelo conjunto e bloco ao qual aquele estado corresponde. A existência dessa interface ajuda a distinguir o histórico completo das transações do estado corrente derivado que representa quais saídas permanecem disponíveis.
Bitcoin Core · RPC gettxoutsetinfo · documentação da versão 30.0
04
Bitcoin Core — Chainstate e conjunto de UTXOs
A documentação do sistema de arquivos do Bitcoin Core descreve o diretório chainstate como a base de dados que mantém uma representação compacta das saídas de transação atualmente não gastas e metadados relacionados. Isso mostra a diferença entre os arquivos que armazenam blocos e o estado que o nó mantém para consultar eficientemente quais saídas continuam disponíveis durante a validação.
Bitcoin Core · Documentação do repositório · doc/files.md
O histórico e o estado atual cumprem funções diferentes
As transações registradas em blocos permitem reconstruir quais saídas foram criadas e posteriormente gastas, enquanto o conjunto de UTXOs representa o estado relevante das saídas que continuam disponíveis. Compreender Bitcoin exige distinguir o histórico completo das transações do estado corrente utilizado para verificar novos gastos.