Como uma transação em blockchain é validada

Author logo
Patrick Dike-Ndulue
• • Atualizado
Post image

Existem vários mecanismos de consenso para validar transações em blockchain. O mais conhecido é o Proof of Work (PoW), que ficou famoso com o Bitcoin, Litecoin e muitas outras blockchains. No entanto, modelos mais recentes como o Proof of Stake (PoS) também são amplamente utilizados atualmente em redes como a Ethereum. 

Regardless of the exact type, a consensus mechanism ensures that all distributed nodes in the network agree on the same, single version of the blockchain.

O que é uma função hash?

A 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 tamanho fixo (um hash). O hash é unidirecional: não é possível reverter para os dados originais. 

Crucially, if you change even one bit anywhere in the original data, the entire hash value changes completely. This makes tampering immediately obvious to the network.

Resumindo: novas transações são adicionadas a uma 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

When you initiate a transaction using your crypto wallet, it is broadcast to all the mining nodes (or validators) on the network, entering their mempools (a temporary waiting area for unconfirmed transactions). Each node aggregates a batch of these pending transactions into a "draft block" and attempts to validate or mine it:
 

1. Agregação e hash: Todas as transações do bloco provisório são combinadas criptograficamente. Esse resultado é somado ao hash do bloco anterior (já finalizado), conectando-os de forma segura.
 

2. Resolvendo o quebra-cabeça: O nó compara o hash resultante com a dificuldade atual da rede. Dificuldade é uma meta que cada hash calculado precisa atingir. Se o hash estiver abaixo desse alvo, o minerador minera o bloco com sucesso. Se o hash ultrapassar o alvo, o minerador altera levemente os dados do bloco (incrementando uma variável chamada nonce) e calcula novamente o hash. Esse processo é repetido milhões de vezes por segundo.
 

3. Transmitindo o bloco: Assim que um nó minera um novo bloco, 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 provisório. 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 consegue, as transações são registradas na blockchain e a rede parte para o próximo bloco.

image1_en.png

Segurança e o problema do duplo gasto

Todas essas medidas criptográficas sofisticadas são criadas 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, em segredo, criar uma versão alterada da blockchain para gastar a mesma criptomoeda em outro lugar.
 

Se os invasores 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 em que vão para o endereço B.
 

Os mecanismos de consenso resolvem esse conflito usando a "regra da cadeia mais longa". Um nó que detecta uma blockchain ramificada 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 seus blocos falsos mais rápido que todo o restante da rede, continuamente. Devido ao enorme poder de processamento necessário, isso é economicamente e praticamente impossível.
 

Por que as confirmações de transação são importantes

Mesmo com toda a segurança do sistema, ainda existe uma pequena chance de que alguns nós isolados recebam um bloco adulterado antes do legítimo. Para eliminar esse risco, os serviços dependem das 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 cada vez mais fundo no registro. Para valores pequenos e transações 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 esperar 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 problemas matemáticos e a exigência de consenso tornam a falsificação de transações praticamente impossível.

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.