Entendendo e Consolidando UTXOs no Bitcoin: Um Guia Simples para Usuários Leigos
Escrito por Alexandre Leite
O mundo do Bitcoin pode parecer complexo à primeira vista, mas muitos conceitos importantes podem ser desmistificados para todos os interessados em explorar essa moeda digital transformadora. Um desses conceitos é a consolidação de UTXOs (Unspent Transaction Outputs), algo que pode ser benéfico para todos os usuários de Bitcoin, mesmo aqueles que não são especialistas em criptografia.
Com a recente elevação das taxas de mineração no Bitcoin, é cada vez mais importante fazer uma adequada gerência de UTXOs, que inclui a consolidação de UTXOs, e evitar receber uma quantia muito pequena de bitcoins por transação. Isso evita que se gaste muito com taxas de mineração ao transacionar.
Neste artigo, destinado ao usuário leigo de carteiras de bitcoin, iremos abordar o que é UTXO e como realizar a sua gerência, bem como seus benefícios.
Todo o esforço foi feito para que as informações neste artigo fossem precisas e atualizadas. Mas devido à natureza dinâmica do Bitcoin e às diversas tecnologias envolvidas, seu autor não se responsabiliza pelo uso dessas informações para nenhum fim específico, sendo meramente uma compilação de informações disponíveis na Internet e um resumo para leigos. Por favor, realize sua própria pesquisa e faça testes com pequenas quantias antes de aplicar estes conhecimentos com valores elevados. Este artigo não é uma recomendação de investimento.
O que é uma UTXO?
Antes de explorarmos a consolidação e gerência de UTXOs, é crucial compreender o que significa esse termo de maneira simples.
Quando você recebe bitcoins em sua carteira, ela exibe o saldo total atualizado. Contudo, internamente, não há um local específico onde seu saldo é armazenado. Os bitcoins recebidos são registrados apenas nas transações gravadas na timechain, também conhecida como blockchain. A timechain é um banco de dados distribuído, armazenado por todos os nós que compõem a rede Bitcoin.
As transações têm entradas (a origem do dinheiro) e saídas. As quantias recebidas são registradas nas saídas. Para calcular seu saldo, sua carteira soma os valores das saídas associadas aos seus endereços.
Cada saída só pode ser gasta uma vez, e a saída não gasta é chamada de Unspent Transaction Output (UTXO). Por exemplo, se você recebeu 0,3 BTC em uma transação e 0,4 BTC em outra, agora você tem duas UTXOs em sua carteira: uma de 0,3 BTC e outra de 0,4 BTC.
Agora, imagine que você queira gastar 0,5 BTC. Você precisará utilizar ambas as UTXOs para atingir esse valor. Nesse processo, essas UTXOs deixarão de existir. Será criada uma nova UTXO de 0,5 BTC na carteira de destino e outra UTXO de 0,2 BTC (menos a fee) como troco, retornando para sua carteira (fig. 1).
Podemos pensar nas UTXOs como as cédulas do dinheiro digital, com a diferença que são destruídas e novas são criadas a cada transação. Essa dinâmica é essencial para entendermos a consolidação de UTXOs.
Realizando a gerência de UTXOs
A gerência de UTXOs no Bitcoin refere-se ao controle e administração das unidades de bitcoin que ainda não foram gastas em transações. Seu objetivo é manter a privacidade e diminuir gastos com taxas de mineração.
Quando você envia uma transação de bitcoin, o software da carteira geralmente escolhe automaticamente as UTXOs apropriadas para criar a transação, considerando a quantidade necessária para a transação e tentando minimizar o número de UTXOs envolvidas. Isso é conhecido como "coin selection" (seleção de moedas) e é uma parte importante da gerência de UTXOs. Quando esse processo é feito manualmente, costuma ser chamado de “coin control”.
Uma boa gerência de UTXOs pode ajudar a otimizar a eficiência das transações, reduzindo as taxas de transação e melhorando a privacidade. Por outro lado, uma má gerência de UTXOs pode resultar em taxas mais altas e transações menos eficientes. Portanto, entender como funcionam os UTXOs e como as transações os utilizam é crucial para usuários e desenvolvedores que lidam com o Bitcoin.
Importância de evitarmos UTXOs com valores muito pequenos
Se você já fez o envio de bitcoins, sabe que é necessário o pagamento de uma pequena taxa, que será destinada ao minerador da transação. Esta taxa não tem relação com o valor total transacionado (que muitas vezes apenas o remetente e o destinatário conhecem), mas com o tamanho em bytes (na verdade, virtual bytes) da transação, que depende do número e tipo das entradas e saídas. Quanto maior o número de entradas e saídas, maior o tamanho da transação. Portanto, maiores as taxas.
Se uma carteira tem muitas UTXOs de pequeno valor, a transação será maior em bytes no momento do gasto, pois será necessário selecionar muitas UTXOs para perfazer o valor enviado. Isso acarretará um gasto maior com taxas.
Para evitar que isso ocorra, é importante evitar receber muitas transações de valor baixo. Atualmente, o ideal é evitar o recebimento de menos de 0,01 bitcoins por vez. Se você costuma receber bitcoins semanalmente, procure receber mensalmente, por exemplo.
A tabela abaixo mostra qual percentual do seu UTXO você irá gastar em fees para poder enviá-lo.
Note que essa fee não inclui a saída e o cabeçalho da transação, que representam pouco mais do que o tamanho de uma UTXO. Para o gasto de uma única UTXO, considere, então, que esse percentual dobra. Para o gasto de 10 em uma única transação, ele é majorado em 1 décimo. Por exemplo, se o percentual for 34%, e são 10 UTXOs, ele se torna 37,4%.
Se o percentual chegar a 100%, aqueles UTXOs se tornam inviáveis de serem gastos (com aquela fee rate). Por isso, devemos evitar o recebimento de valores muito pequenos de cada vez.
Na imagem abaixo, é possível ver como se paga menos fee quando o número de entradas (origem dos bitcoins) é menor (transação da direita). Neste exemplo, consideramos uma fee rate de 50 sat/vB, mas ele é proporcional para qualquer fee rate.
Por que é importante consolidar UTXOs no Bitcoin?
Muitas vezes, não é possível evitar o recebimento de pequenas quantias de bitcoin, ou isso já aconteceu quando não se tinha consciência a respeito. Nesse caso, a solução, para diminuir as taxas, é realizar a consolidação das UTXOs recebidas. Manter muitas UTXOs de valor pequeno em sua carteira pode complicar suas transações e aumentar os custos.
Imagine que você tenha 10 UTXOs diferentes em sua carteira, cada uma com um pequeno valor em bitcoin. Quando você decide fazer uma transação para enviar bitcoin a alguém, a carteira possivelmente precisará selecionar várias UTXOs para cobrir o valor desejado. Isso irá resultar em uma transação com várias entradas, o que a torna muito grande, em (v)bytes, ocasionando o aumento das taxas.
A taxa paga depende de dois fatores: o tamanho da transação e a fee rate, que seria o quanto se deve pagar por byte. Para uma transação ser confirmada, ela deve entrar em um bloco da timechain. Quem coloca uma transação em um bloco é o minerador desse bloco. Ao fazer isso, ele fica com a taxa da transação como pagamento. A taxa é livremente estabelecida por quem cria a transação (o remetente). Mas, como o espaço em bytes no bloco é limitado, quando a rede está muito demandada, a disputa por esse espaço vira um leilão virtual: quem paga mais tem mais chance de ter a sua transação confirmada.
Quando a fee rate (em sat/vB, ou satoshis por virtual byte) do Bitcoin está alta, você pode acabar pagando uma quantia significativa em taxas apenas para usar suas UTXOs. A consolidação permite transformar diversas UTXOs em uma só, diminuindo a probabilidade de ter que selecionar muitas UTXOs para perfazer um valor a ser gasto. Portanto, é mais eficiente esperar por momentos em que as taxas de rede do Bitcoin estão baixas para realizar a consolidação.
De que forma a má gerência de UTXOs pode afetar a privacidade
Toda vez que enviamos bitcoins, o fazemos através da publicação de uma transação na timechain, que é acessível publicamente a todos os participantes da rede. Embora não conste da transação nenhum dado pessoal, como nomes, telefones ou endereços, muitas vezes as pessoas com quem transacionamos sabem nossa identidade. Combinando informações obtidas a partir da análise de informações presentes na timechain e informações que fornecemos a exchanges, p2ps e outros com quem nos relacionamos, é possível obter informações a nosso respeito, como quanto temos em bitcoins, de onde os recebemos e para onde os enviamos.
Para evitar que essa análise revele muito sobre nós, são necessários alguns cuidados:
- não tenha muitos bitcoins em um único endereço, pois, quando você for gastar, a pessoa para quem você pagar saberá que você tem aquela quantidade de bitcoins;
- não receba na mesma conta bitcoins adquiridos com e sem KYC (KYC significa know your customer, é usado quando fornecemos informações pessoais);
- evite consolidar no mesmo endereço bitcoins recebidos de remetentes diferentes, pois cada um deles saberá que os bitcoins dos outros endereços também são seus.
Como consolidar UTXOs no Bitcoin usando uma Trezor One
Agora que você sabe por que é importante consolidar suas UTXOs no Bitcoin em momentos de taxas baixas, vamos ver como fazer isso em uma Trezor One, uma das carteiras em hardware mais populares:
Passo 1: Prepare sua Trezor
- Conecte sua Trezor ao computador usando o cabo USB.
- Abra a Trezor Suite em seu computador e siga as instruções para acessar sua carteira Bitcoin.
Passo 2: Selecione a conta
Na Trezor Suite, selecione a conta cujos UTXOs você deseja consolidar, no painel da esquerda. Esse processo deve ser repetido para cada conta que se deseje consolidar os UTXOs.
Passo 3: Crie uma nova transação com as UTXOs desejadas
- Navegue até a opção "Enviar" ou "Send".
- Informe no campo “Address” ou “Endereço”, o endereço para onde deseja enviar os bitcoins consolidados. Pode ser o mesmo da origem, ou outro, se deseja que a consolidação se pareça com um gasto, para quem olha de fora, ou por motivos de organização da carteira.
- Marque a opção “Coin Control”.
- Selecione os UTXOs que deseja consolidar. É possível realizar a consolidação em grupos, para não misturar no mesmo endereço bitcoins vindos de remetentes diferentes, por questões de privacidade. Não é recomendável aglutinar valores muito altos num mesmo endereço. Quando você gastar, o destinatário saberá que você tinha aquele valor. Escolha pelo menos 5 UTXOs para consolidar. Geralmente, não compensa consolidar poucas UTXOs.
- Escolha a fee adequada, através da opção “Economy”, ou “Custom”, informando a “Prioridade Baixa” do site mempool.space. A consolidação deve ser feita em momentos de fee rate baixa (atualmente, cerca de 30 sats/vB). Se a carteira não é muito usada, geralmente não há problema em ter que esperar até uma semana para que a transação seja confirmada, mas, CUIDADO, fees muito baixas podem deixar a carteira trancada!
- No campo “Amount” (ou “Quantia” ou “Valor”), selecione a opção “Send Max” (ou “Máximo”).
- Clique no botão “Review & Send”, verifique os dados com cuidado (especialmente se os valores forem elevados) e informe a senha da carteira e clique em “Enviar”.
Quanto você pode economizar com a consolidação de UTXOs no Bitcoin?
A economia com taxas por meio da consolidação de UTXOs vem da diminuição da taxa paga em épocas de rede congestionada (e consequentemente fee rate alta), mas ela não vem sem algum gasto, pois a consolidação, em si, também é uma transação. Portanto, terá que pagar uma taxa. Por essa razão, o ideal é que seja feita em épocas de taxas de rede baixas.
Dica: Como regra geral, considere a consolidação sempre que tiver várias pequenas quantidades de moedas, desde que o custo da consolidação seja menor do que as taxas que você economizará em transações futuras.
O ganho exato com a consolidação depende de inúmeros fatores: número de UTXOs consolidados, fee rate no momento da consolidação, fee rate no momento do gasto, valor das UTXOs, valor do gasto etc. Então, a economia exata que se terá é difícil de ser calculada de antemão no momento da consolidação, pois não dispomos de algumas informações, especialmente como será nosso gasto lá na frente.
Então, para simplificar os cálculos, vamos pensar apenas nos custos referentes aos UTXOs (entradas), já que as demais partes da transação, ou seja, cabeçalho e saídas, são inevitáveis.
Vamos comparar o custo referente a uma UTXO consolidada e uma não consolidada. Por simplificação, vamos supor que estamos lidando exclusivamente com transações e endereços SegWit (que começam com bc1).
Para calcularmos os custos, primeiro precisamos saber quantos virtual bytes um UTXO ocupa. O site https://bitcoinops.org/en/tools/calc-size/ calcula essa informação. Uma entrada SegWit possui 68 virtual bytes.
De posse dessa informação, para sabermos o custo com essa entrada, precisamos multiplicar seu tamanho pela fee rate. As fee rates têm sido bastante caras de 2023 para cá, devido a um aumento na demanda, tendo oscilado entre 30 a 300 sat/vB ou mais.
Vamos supor uma fee rate no momento do gasto de 100 sat/vB, que seria um valor médio, e também para simplificar nossos cálculos. Nesse caso, teríamos um gasto de 6.800 sat apenas com essa entrada.
A consolidação precisa ser feita em momentos de fee rate baixa para valer a pena. Além disso, não compensa muito consolidar poucos UTXOs, pois a transação de consolidação também tem uma saída e um cabeçalho, que ocupam espaço em vbytes, gerando um custo.
Como exemplo, vamos supor que a consolidação seja feita com uma fee rate de 50 sat/vB e reunindo 10 UTXOs. Neste caso, teremos uma transação com 68 x 10 + 10,5 + 31 x 2 = 752,5 vB. Dividindo esse tamanho por 10, temos um “custo” de 75,25vB por UTXO. Esse tamanho é superior ao que teríamos se fôssemos gastar o UTXO diretamente, sem a consolidação. Mas, como o custo depende também da fee rate, até mesmo com uma diferença de 50 para 100 sat/vB, uma consolidação como essa já geraria economia.
O custo por UTXO da consolidação seria 50 x 75,25 ≃ 3763 sat, que é mais de 3000 sat a menos que o custo que teríamos por UTXO não consolidado a 100 sat/vB (levando-se em conta que esse UTXO não existirá no caso de ser consolidado).
Isso demonstra que até mesmo quando temos poucos UTXOs, como 10, e pouca diferença de fee rate, por exemplo, de 50 para 100, mesmo assim, a consolidação já gera uma razoável economia.
Dicas úteis
- Utilize endereços Bech32 ou Bech32m (os que começam com bc1), pois são os mais econômicos.
- Utilize carteiras com RBF e procure utilizar essa opção ao fazer suas transações. Ela permite começar com uma taxa baixa e, se a transação trancar, ir aumentando a taxa aos poucos.
- Faça pagamento a várias pessoas na mesma transação (pode ter implicações para a privacidade).
- Use um acelerador, como o da ViaBTC: https://www.viabtc.com/tools/txaccelerator.
- Utilize a LN (lightning network) para pagamentos e recebimentos em valores menores.
- Não tenha pressa ao realizar suas transações e procure fazer seus pagamentos em horários e dias favoráveis.
Conclusão
A gestão de UTXOs, e em especial a consolidação de moedas digitais no Bitcoin são importantes para otimizar suas transações e economizar em taxas, bem como manter a sua privacidade. Compreender o conceito de moedas digitais no Bitcoin e escolher o momento certo para consolidá-las pode ajudar a maximizar o valor de seus bitcoins e tornar sua experiência com essa criptomoeda mais eficiente e econômica. Lembre-se sempre de manter a segurança de suas chaves privadas ao realizar qualquer operação com seus bitcoins e aproveite as oportunidades para consolidar suas moedas quando as taxas de rede estiverem favoráveis.