Como uma transação na blockchain é validada

Author logo
Patrick Dike-Ndulue
Atualizado
Post image

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.

image1_en.png

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.

Author logo
Autor Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
Analisado por Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.