Embora ambos registem «quem tem quantas moedas», o Bitcoin e o Ethereum usam métodos completamente diferentes: o Bitcoin regista notas que ainda não foram gastas, enquanto o Ethereum regista o saldo de cada conta. Compreender esta diferença ajuda a explicar muitos fenómenos que, à primeira vista, parecem estranhos.

Criptomoeda relacionada: $BTC cotada a 81,766.01 (24h -1.76%).

▍UTXO: notas não gastas

O Bitcoin usa o modelo UTXO (saída de transação não gasta). Pode pensar em cada UTXO como uma nota de valor variável: cada transação gasta algumas notas antigas e emite algumas novas para o destinatário.

O saldo exibido na carteira é calculado somando todos os UTXOs que pertencem a você. Na blockchain, não existe um número chamado “saldo”.

▍Troco e taxas

Um UTXO só pode ser gasto por inteiro. Por exemplo, se você tem uma “nota” de 1 unidade e precisa pagar 0,3, a transação cria duas saídas: 0,3 unidade para a outra pessoa e o restante, descontada a taxa, volta para um endereço seu como troco. Muitas carteiras enviam o troco para um novo endereço, por isso você pode ver no explorador de blocos que “o dinheiro voltou para você”.

A taxa de uma transação de Bitcoin não é registrada separadamente: ela equivale à soma de todas as entradas menos a soma de todas as saídas. Essa diferença fica com o minerador que inclui a transação no bloco.

▍Modelo de contas: saldo registrado diretamente

O Ethereum adota o modelo de contas, registrando diretamente na blockchain o saldo de cada conta. Uma transferência debita o saldo de uma conta e credita o de outra, de forma parecida com uma conta bancária. O Ethereum tem dois tipos de conta: contas externas, controladas por chaves privadas, e contas de contrato, controladas por código.

Para impedir que uma mesma transação seja executada duas vezes, cada conta externa tem um nonce, que aumenta em 1 a cada transação enviada. As transações precisam ser executadas na ordem dos nonces. Por isso, se uma transação anterior ficar travada, as seguintes também entrarão na fila.

▍Cada modelo tem suas vantagens e desvantagens

No modelo UTXO, transações independentes podem ser validadas em paralelo, e usar novos endereços para receber o troco também ajuda a preservar a privacidade. Porém, não é tão conveniente para criar contratos complexos. No modelo de contas, os saldos são fáceis de entender e é mais fácil criar contratos, mas as transações de uma mesma conta precisam entrar na fila. Já a Cardano expandiu o modelo UTXO (eUTXO), permitindo que as saídas também incluam lógica de scripts.

▍Para concluir

Da próxima vez que você vir no explorador de blocos que os bitcoins “voltaram para você”, ou que uma transação no Ethereum ficou travada e fez todas as seguintes entrarem na fila, vai saber que isso é uma característica de cada um dos dois modelos de registro — não precisa se preocupar. O mercado sempre traz surpresas; defina com antecedência o que fazer caso sua análise esteja errada.

Se algo não ficou claro, pergunte nos comentários.