Como uma transação na blockchain é validada
Este artigo está disponível nos seguintes idiomas:
Existem diversos mecanismos de consenso para validar transações na blockchain. O mais conhecido é o Proof of Work (PoW), inicialmente popularizado pelo Bitcoin, Litecoin e muitas outras blockchains. No entanto, modelos mais recentes como o Proof of Stake (PoS) também são amplamente usados atualmente por redes como a Ethereum.
Independentemente do tipo, um mecanismo de consenso garante que todos os nós distribuídos na rede concordem com a mesma versão única da blockchain.
O que é uma função hash?
Uma função hash é o principal elemento criptográfico de uma blockchain. Trata-se de uma função matemática que transforma qualquer dado de entrada em uma sequência de caracteres de comprimento fixo (um hash). O hash funciona em apenas uma direção: não é possível reverter para os dados originais.
O ponto chave é: se você altera até mesmo um único bit dos dados originais, todo o valor do hash muda completamente. Isso torna qualquer tentativa de adulteração imediatamente perceptível para a rede.
Resumindo: novas transações são adicionadas à blockchain por meio de um processo de consenso. Isso significa que a maioria dos nós precisa concordar que a transação é válida antes de ela se tornar permanente.
O processo de mineração: passo a passo
Quando você inicia uma transação usando sua carteira cripto, ela é transmitida para todos os nós mineradores (ou validadores) da rede, entrando em seus mempools (uma área temporária de espera para transações não confirmadas). Cada nó agrupa um lote dessas transações pendentes em um “bloco rascunho” e tenta validá-lo ou minerá-lo:
1. Agrupamento e hash: Todas as transações do bloco rascunho são combinadas criptograficamente. Esses dados resultantes são adicionados ao conteúdo já hasheado do bloco anterior (finalizado), conectando-os de forma segura.
2. Resolvendo o desafio: O nó compara o hash resultante com a dificuldade atual da rede. Dificuldade é uma medida-alvo com a qual cada hash calculado é comparado. Se o hash estiver abaixo desse alvo, o minerador minera o bloco com sucesso. Se o hash estiver acima do alvo, o minerador altera levemente os dados do bloco (incrementando uma variável chamada nonce) e calcula o hash novamente. Esse processo é repetido milhões de vezes por segundo.
3. Transmitindo o bloco: Assim que um nó minera um novo bloco com sucesso, ele o transmite para todos os outros nós. Os demais mineradores imediatamente param de minerar seus blocos atuais, verificam o bloco vencedor, o adicionam à sua versão da blockchain e começam a formar o próximo bloco rascunho. Quando o novo bloco aparece em toda a rede, todas as transações nele são consideradas validadas.
Resumindo: para criar uma lista de novas transações, um nó validador resolve um problema matemático complexo por força bruta. Quando tem sucesso, as transações são registradas na blockchain e o restante da rede segue para o próximo bloco.

Segurança e o problema do duplo gasto
Todos esses mecanismos criptográficos avançados são projetados para evitar ataques à rede. Uma ameaça comum é o “ataque de duplo gasto”. Por exemplo, um invasor pode tentar gastar sua criptomoeda, transmitir a transação e, ao mesmo tempo, criar secretamente uma versão adulterada da blockchain para gastar a mesma criptomoeda em outro lugar.
Se os atacantes transmitirem sua versão adulterada para os nós, surgiriam temporariamente duas versões conflitantes da blockchain: uma em que os fundos vão para o endereço A e outra para o endereço B.
Os mecanismos de consenso resolvem esse conflito de forma nativa usando a “regra da cadeia mais longa”. Um nó que detecta uma ramificação na blockchain sempre descarta o ramo mais curto (aquele com menos blocos e menor trabalho computacional acumulado). Para ter sucesso em um duplo gasto, o atacante precisaria minerar continuamente seus blocos falsos mais rápido que o restante de toda a rede. Devido ao enorme poder de processamento necessário, isso é inviável econômica e praticamente.
Por que as confirmações de transação são importantes
Mesmo com toda essa segurança, ainda há uma pequena chance de alguns nós isolados receberem um bloco adulterado antes do legítimo. Para eliminar esse risco, serviços utilizam confirmações (o número de blocos subsequentes adicionados após o bloco da sua transação).
Cada novo bloco adicionado à cadeia aumenta a segurança, enterrando sua transação mais fundo no registro. Para valores pequenos do dia a dia, de 1 a 3 confirmações geralmente são suficientes. Já para transações de milhões de dólares, uma exchange ou serviço costuma aguardar várias dezenas de confirmações para garantir que a transação seja absolutamente irreversível antes de liberar os fundos.
Resumindo: novas transações precisam ser verificadas por uma rede descentralizada de computadores. A dificuldade dos desafios matemáticos e a exigência de consenso tornam praticamente impossível falsificar transações.