Pular para o conteúdo
buybitcoinsmart

Glossário / Transações e taxas

Saída de transação

Outros nomes: Saída, TxOut.

O que é uma saída de transação?
Uma saída de transação é uma quantia de bitcoin mais o bloqueio que decide quem poderá gastá-la em seguida, e é o único lugar onde o bitcoin existe de fato.

Dois campos formam uma só coisa: um valor de oito bytes em satoshis e um script que declara a condição para gastá-lo. O endereço que você cola em um formulário de saque não é nada mais do que esse script em uma codificação legível por humanos, e é por isso que escolher bech32 em vez de um formato mais antigo é, na verdade, uma escolha sobre o bloqueio atrás do qual seus bitcoins ficarão. As saídas são baratas de criar e caras de desbloquear depois.

Como funciona

Uma saída é um pequeno registro sem nenhum dono nomeado em lugar algum.

O campo valor tem 8 bytes e contém um número inteiro de satoshis. Sessenta e quatro bits é generoso para uma moeda com oferta máxima próxima de 2.100.000.000.000.000 satoshis, e usar números inteiros em vez de decimais é a razão pela qual a contabilidade do bitcoin não tem erros de arredondamento. Depois vêm um prefixo de comprimento e o script de bloqueio, chamado scriptPubKey no código-fonte, que é um programa curto que quem for gastar a saída no futuro precisará satisfazer.

Scripts diferentes produzem tamanhos diferentes e custos diferentes. Um bloqueio pay-to-public-key-hash tem 25 bytes de script, o que faz a saída inteira ter 34 bytes. Um bloqueio SegWit nativo tem 22 bytes, o que faz a saída ter 31 bytes. Um bloqueio Taproot tem 34 bytes de script e 43 bytes no total. As codificações de endereço que você reconhece correspondem diretamente a esses bloqueios: um prefixo 1, um bc1q, um bc1p.

A palavra “bloqueio” é mais exata que “dono”. O script não registra uma pessoa. Registra um teste, e qualquer um que consiga passar no teste pode gastar o bitcoin, que é exatamente a razão pela qual uma chave privada precisa ser protegida, e não apenas um login.

Mais duas propriedades importam. As saídas são numeradas por posição, começando em zero, então a segunda saída de uma transação é o índice 1. E uma saída abaixo do limite de poeira, aproximadamente 546 satoshis para um bloqueio legado e 294 para um SegWit nativo, não será retransmitida por padrão, porque gastá-la custaria mais do que ela contém.

Onde você a vê

As saídas são a coluna da direita de qualquer página de explorador de blocos, e quase sempre há duas delas em um gasto.

Uma é o pagamento e a outra é o troco, e nada na transação diz qual é qual. Essa suposição é a matéria-prima da análise de blockchain, e é por isso que uma carteira que reutiliza seu endereço de troco é mais fácil de seguir do que uma que não reutiliza.

As saídas são também a memória da rede. Todo nó completo mantém um banco de dados de todas as saídas não gastas, porque esse conjunto é exatamente aquilo com que uma nova transação precisa ser conferida. Uma saída que você cria fica nesse banco de dados, em dezenas de milhares de máquinas, até que alguém a gaste. Criar muitas saídas minúsculas é, portanto, levemente antissocial além de caro, e consolidá-las é uma cortesia tanto quanto uma economia.

A única exceção é deliberadamente impossível de gastar. Uma saída OP_RETURN carrega dados e nunca pode ser resgatada, então os nós a removem do conjunto de saídas não gastas imediatamente, em vez de guardá-la para sempre.

Para quem compra bitcoin, a versão prática é curta. Saque para um formato de endereço que você vai gostar de ter no futuro, prefira poucos saques grandes a muitos pequenos, e lembre-se de que o saldo que sua carteira mostra é apenas a soma das saídas atualmente bloqueadas para chaves que ela controla.

Saída de transação vs UTXO

Uma saída é um registro; um UTXO é um status que esse registro tem apenas enquanto ninguém o gastou. Toda saída já criada fica gravada permanentemente em um bloco e pode ser lida ali anos depois, mas no momento em que uma transação posterior faz referência a ela, deixa de ser não gasta e sai do conjunto que os nós acompanham. Assim, todo UTXO é uma saída, enquanto a maioria das saídas não é mais um UTXO. A distinção tem uma consequência prática: o saldo da sua carteira é a soma dos seus UTXO, não a soma de tudo o que já foi pago aos seus endereços, e um explorador de blocos que mostra um total grande recebido em um endereço descreve o histórico, não o dinheiro que você ainda tem.

Não confundir com

Perguntas frequentes

Por que uma transação que enviei tem uma saída que volta para mim?

É o troco. Os bitcoins são gastos inteiros, então, se o bitcoin que você gastou era maior que o pagamento mais a taxa, a carteira cria uma segunda saída bloqueada para um endereço que ela controla e devolve a diferença para você.

Uma saída é a mesma coisa que um endereço?

Não. Um endereço é uma codificação em texto do script de bloqueio que uma saída carrega. Muitas saídas podem compartilhar um mesmo endereço, e uma saída também contém uma quantia e uma posição, e um endereço não contém nenhuma das duas coisas.

Leia a seguir

Termos relacionados

Mais em Transações e taxas

Ler esta página em inglês