O que é um UTXO? | Explicação de um iniciante sobre resultados de transações

O que é um UTXO?

UTXO significa Saída de transação não gasta (TX). Basicamente, é a quantidade de troco de criptomoeda restante que você recebe de cada transação. Para explicar melhor, no entanto, devemos primeiro analisar como funciona uma transação criptográfica típica. Vamos usar Bitcoin para nosso exemplo, pois é a criptomoeda mais conhecida usando UTXOs.

Um exemplo de transação UTXO

Quando você olha para sua carteira Bitcoin, você vê um equilíbrio. Para este exemplo, vamos definir isso como 100 bitcoin. Embora você observe apenas 1 saldo, seus fundos são, na verdade, compostos por vários UTXOs. Você pode ter quatro UTXOs no valor de 25 bitcoin cada, dois UTXOs no valor de 50 ou um conjunto de UTXOs no valor de 37, 18, 40 e 5 bitcoin. Os valores específicos não importam, mas devem somar ao seu saldo total, neste caso, 100.

Seguindo o exemplo, vamos supor que você esteja procurando um carro novo. Você trabalha duro; você merece isso. Contrariando o estereótipo Lambo, você decide por um Porche que custa 35 bitcoin. Bem, sua carteira contém apenas UTXOs igualando 15, 17, 28 e 40 bitcoin cada. Você não tem um avaliado em precisamente 35 bitcoin.

É impossível dividir UTXOs, então não há como pagar exatamente os 35 bitcoins que você deve.

Em vez disso, você gasta 40 bitcoin UTXO. Em seu lugar, a rede cunha dois novos UTXOs: um avaliado em 35 bitcoin e outro em 5 bitcoin. A concessionária recebe o UTXO de 35 bitcoin enquanto você recebe o UTXO de 5 bitcoin como troco.

Você também pode gastar os UTXOs de 17 e 28 bitcoins e receber 10 bitcoins como troco. Uma transação pode usar qualquer combinação de UTXOs; no entanto, você não tem controle sobre quais.

Assim como você pode dividir um UTXO em instâncias separadas, você também pode combiná-los em transações maiores, criando menos deles na rede.

E quanto às taxas de transação?

As taxas de transação também são incluídas nas transações e subtraídas do UTXO que você recebe como troco. A equação é mais ou menos assim:

Novo UTXO = (Soma de UTXOs na transação) – (Valor da transação) – (Taxa de transação)

Continuando nosso exemplo mais recente com uma taxa de transação de bitcoin:

Novo UTXO = (17 + 18) – (35) – (1) = 9 bitcoin


Importância UTXO e problemas potenciais

A implementação de UTXOs simplifica muito os métodos de contabilidade do blockchain. Em vez de ter que rastrear e armazenar todas as transações, em nada menos, precisamos apenas rastrear as moedas não gastas, também conhecidas como UTXOs.

Você vê, cada moeda no ecossistema Bitcoin só pode ser gasta uma vez. Então, cada bitcoin em uma carteira agora não é gasto porque:

  1. Um mineiro recebeu como recompensa de mineração, ou
  2. Foi cunhado durante uma transação. (Lembra do nosso exemplo anterior?)

Os UTXOs são essenciais para evitar ataques de gasto duplo e impedem que você gaste moedas que não existem. Os nós da rede registram e mantêm um banco de dados que contém todos os UTXO (ou seja, moedas não gastas) disponíveis para gastos. Se você tentar enviar uma transação com uma moeda que não está nesse banco de dados, os nós irão rejeitá-la.

Possíveis problemas de armazenamento

Os nós armazenam o banco de dados UTXO na RAM, por isso é importante manter o conjunto de dados em um tamanho gerenciável. À medida que cresce, o custo de execução de um nó completo aumenta junto com ele. Se executar um nó completo se tornar muito caro, poderemos ver uma maior centralização na rede Bitcoin entre os poucos ricos que podem pagar para executá-los.

Tamanho do banco de dados UTXO Bitcoin ao longo do tempo via Blockchain

Tamanho do banco de dados UTXO Bitcoin ao longo do tempo via Blockchain

Este risco de centralização é um dos principais argumentos contra o aumento do tamanho do bloco Bitcoin. O desenvolvedor de Bitcoin Gavin Andresen o descreve melhor em o artigo dele UTXO uh-oh …:

“Um bloco de um megabyte tem espaço para cerca de 100 milhões de transações de 500 bytes por ano. Se cada um deles aumentasse o conjunto UTXO em 500 bytes, isso aumentaria o conjunto UTXO em 50 gigabytes por ano. ”

Um tamanho de bloco de um megabyte define um limite máximo para a extensão em que o banco de dados UTXO pode crescer a cada ano. Ele continua:

“Permitir mais transações sem outras alterações provavelmente aceleraria o crescimento do conjunto UTXO, tornando mais caro e mais rápido executar um nó de validação completo.”

Só para não reduzir as palavras de Andresen: Na verdade, seu artigo é a favor do aumento do tamanho do bloco. Ele argumenta que o impacto no tamanho do conjunto UTXO não é tão drástico quanto outros acreditam que seja. E, considerando a complexidade das soluções de escalonamento de segunda camada, precisamos implementar blocos maiores no curto prazo antes que essas soluções sejam implementadas no longo prazo.

Soluções

Felizmente, existem algumas soluções para os problemas de armazenamento em potencial. Em primeiro lugar, os nós não precisam armazenar todo o banco de dados UTXO na RAM. Eles podem optar por armazenar parte dele em um disco de estado sólido (SSD) mais barato ou em um disco rígido giratório. Embora esses tipos de armazenamento levem a tempos de validação mais lentos para cada nó, não deve haver um problema, desde que ainda estejam abaixo do tempo de bloqueio médio de dez minutos.

Além disso, os desenvolvedores de Bitcoin estão continuamente melhorando os mecanismos de transação para otimizar o banco de dados UTXO.

Finalmente, o Segregated Witness (Segwit) e soluções de dimensionamento semelhantes reduzem indiretamente o crescimento do banco de dados UTXO. Puxando diretamente de Documentação Bitcoin Core:

“Segwit melhora a situação aqui, tornando os dados de assinatura, que não afetam o tamanho do conjunto UTXO, custam 75% menos do que os dados que afetam o tamanho do conjunto UTXO. Espera-se que isso incentive os usuários a favorecer o uso de transações que minimizem o impacto no conjunto UTXO, a fim de minimizar as taxas, e para incentivar os desenvolvedores a projetar contratos inteligentes e novos recursos de uma forma que também irá minimizar o impacto no conjunto UTXO. ”

Conclusão: Alternativas UTXO?

Usamos consistentemente Bitcoin em nosso exemplo hoje, mas existem muitas outras criptomoedas que implementam UTXOs, incluindo Bitcoin Cash, Litecoin e Komodo, entre muitos outros.

Existem também muitos outros criptos que utilizam outros mecanismos de contabilidade. Ethereum, por exemplo, tem um modelo de transação baseado em conta. Este mecanismo geralmente oferece melhor economia de espaço e código mais simples para trabalhar; no entanto, você perde um nível de privacidade da transação e enfrenta possíveis problemas de escalabilidade no futuro.

Se você perguntar a uma sala de dez desenvolvedores de criptografia sobre os melhores métodos de contabilidade, provavelmente receberá dez respostas diferentes. É um assunto muito debatido em toda a comunidade que ainda não tem uma solução perfeita. E, devido à complexidade, provavelmente nunca.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map