Ir para o conteúdo principal

Como Blockchain Funciona: Explicação Passo a Passo

Entender como blockchain funciona exige acompanhar uma transação desde o início até a confirmação final. Embora a tecnologia subjacente envolva criptografia sofisticada e engenharia de sistemas distribuídos, o processo central é elegante em sua simplicidade: transações são criadas, transmitidas, verificadas, agrupadas em blocos e registradas permanentemente em um livro-razão compartilhado.

Este guia percorre cada etapa do processo de blockchain usando Bitcoin como exemplo principal, destacando onde outras blockchains como Ethereum diferem. Ao final, você entenderá exatamente o que acontece desde o momento em que clica em "Send" até o momento em que sua transação se torna uma parte irreversível da blockchain.

Etapa 1: Criação da Transação

Toda interação com blockchain começa com a criação de uma transação. Quando você decide enviar criptomoeda, seu software de carteira constrói uma mensagem de transação contendo várias informações.

Entradas e Saídas da Transação

Bitcoin usa um modelo de Unspent Transaction Output (UTXO). Pense nos UTXOs como cédulas digitais na sua carteira. Se você recebeu 0.5 BTC e 0.3 BTC em duas transações separadas, você tem dois UTXOs totalizando 0.8 BTC. Quando quiser enviar 0.6 BTC, sua carteira:

  1. Seleciona UTXOs que juntos cobrem o valor (0.5 + 0.3 = 0.8 BTC).
  2. Cria uma transação com o endereço do destinatário como uma saída (0.6 BTC).
  3. Cria uma saída de troco de volta para seu próprio endereço (0.2 BTC menos a taxa da transação).
  4. Os UTXOs selecionados tornam-se "gastos" e as novas saídas tornam-se novos UTXOs.

Ethereum usa um modelo baseado em contas diferente, mais parecido com uma conta bancária tradicional. Cada endereço tem um saldo, e as transações simplesmente debitam o remetente e creditam o destinatário.

Assinatura Digital

Antes que uma transação possa ser transmitida, ela deve ser assinada com a chave privada do remetente. É aqui que a segurança da sua seed phrase se torna crítica — sua chave privada é derivada da seed phrase, e qualquer pessoa que a possua pode assinar transações em seu nome.

O processo de assinatura funciona assim:

  1. Os dados da transação são hashados com SHA-256 (Bitcoin) ou Keccak-256 (Ethereum).
  2. O hash é assinado com a chave privada do remetente pelo algoritmo ECDSA.
  3. A assinatura digital resultante é anexada à transação.
  4. Qualquer pessoa pode verificar a assinatura usando a chave pública do remetente, confirmando que a transação foi autorizada pelo titular da chave sem precisar ver a chave privada.

Este é um princípio fundamental: assinar prova propriedade. Sua chave privada nunca sai do seu dispositivo durante esse processo. Apenas a assinatura — que não pode ser usada para reconstruir a chave privada — é compartilhada com a rede.

Etapa 2: Transmissão da Transação

Depois de assinada, a transação é transmitida para a rede blockchain. Sua carteira se conecta a um ou mais nodes (computadores executando o software da blockchain) e envia os dados da transação.

Propagação Peer-to-Peer

Redes blockchain operam em uma topologia peer-to-peer (P2P). Não há servidor central. Quando um node recebe sua transação, ele faz verificações iniciais de validação e, se for válida, a retransmite para seus pares conectados. Esses pares validam e retransmitem adiante. Em segundos, sua transação se propaga por toda a rede — normalmente alcançando a maioria dos nodes entre 2 e 15 segundos.

A Mempool

Após a propagação, sua transação entra na mempool (memory pool) — uma área de espera de transações não confirmadas mantida por cada node. A mempool não é um pool único compartilhado; cada node mantém sua própria versão, que pode diferir levemente devido à latência da rede e às políticas individuais de cada node.

As transações na mempool são classificadas principalmente pela taxa por fee (satoshis por byte no Bitcoin, ou preço do gas no Ethereum). Mineradores e validadores selecionam primeiro as transações com maior fee, pois isso maximiza sua receita. Em períodos de alta demanda da rede, a mempool pode crescer significativamente, e transações com fee baixo podem esperar horas ou até dias por confirmação.

Taxas de Transação

As taxas de transação têm dois propósitos:

  1. Incentivar mineradores/validadores a incluir sua transação em um bloco.
  2. Prevenir spam ao tornar caro inundar a rede com transações sem sentido.

No Bitcoin, as taxas são calculadas com base no tamanho da transação em bytes (não no valor enviado). Uma transação enviando 10 BTC pode custar a mesma taxa que uma enviando 0.001 BTC se tiverem o mesmo tamanho em bytes.

No Ethereum, as taxas seguem o modelo EIP-1559 com uma base fee (queimada) e uma priority tip (paga ao validador). A base fee se ajusta dinamicamente com base no congestionamento da rede.

Etapa 3: Validação da Transação

Antes que uma transação possa ser incluída em um bloco, os nodes a validam de forma independente contra as regras do protocolo. Essa validação é crítica para manter a integridade da blockchain.

Verificações de Validação

Cada node realiza múltiplas verificações em cada transação recebida:

  • Validade sintática: A transação está formatada corretamente conforme a especificação do protocolo?
  • Verificação de assinatura: A assinatura digital corresponde à chave pública do remetente? Isso confirma que a transação foi autorizada pelo titular da chave privada.
  • Verificação de gasto duplo: Os UTXOs referenciados (Bitcoin) ainda não foram gastos, ou a conta (Ethereum) tem saldo suficiente?
  • Validação de script: Os scripts de bloqueio e desbloqueio executam corretamente? (Bitcoin usa uma linguagem de script chamada Script para definir condições de gasto.)
  • Adequação da taxa: A transação inclui taxa suficiente para atender ao limite mínimo de retransmissão do node?
  • Limites de tamanho: A transação está dentro das restrições de tamanho do protocolo?

Se uma transação falhar em qualquer uma dessas verificações, ela é rejeitada e não é retransmitida para outros nodes. Essa validação descentralizada é o que torna blockchain resistente a transações fraudulentas — cada node verifica independentemente cada transação com o mesmo conjunto de regras.

Etapa 4: Construção do Bloco

Mineradores (em sistemas proof-of-work) ou validadores (em sistemas proof-of-stake) coletam transações validadas da mempool e as montam em um bloco candidato.

Estrutura do Bloco

Um bloco típico contém:

Cabeçalho do Bloco:

  • Version: A versão do protocolo.
  • Hash do bloco anterior: O hash SHA-256 do cabeçalho do bloco anterior. É isso que cria a "cadeia" em blockchain.
  • Merkle root: Um único hash que resume todas as transações no bloco.
  • Timestamp: O horário aproximado em que o bloco foi criado.
  • Difficulty target (PoW): O limite abaixo do qual o hash do bloco deve estar para que o bloco seja válido.
  • Nonce (PoW): Um contador que os mineradores incrementam enquanto buscam um hash válido.

Corpo do Bloco:

  • Contagem de transações: O número de transações incluídas.
  • Lista de transações: Os dados reais das transações.
  • Coinbase transaction: Uma transação especial inicial que cria novas moedas como recompensa do bloco e coleta todas as taxas de transação. Esta é a única transação em um bloco que não tem entradas — ela cria nova moeda do nada, de acordo com o cronograma de emissão do protocolo.

Seleção de Transações

Mineradores normalmente selecionam transações para maximizar receita, priorizando aquelas com maiores taxas por fee. No entanto, também precisam respeitar o limite de tamanho do bloco (peso de bloco de 4 MB no Bitcoin) ou o limite de gas do bloco (aproximadamente 30 milhões de gas no Ethereum). Isso cria um mercado natural por espaço de bloco — durante alta demanda, usuários competem oferecendo taxas maiores.

Alguns mineradores podem ter políticas adicionais, como incluir certos tipos de transações independentemente das taxas ou excluir transações que interagem com endereços sancionados.

Construção da Árvore de Merkle

A árvore de Merkle é construída por hash sucessivo de pares de hashes de transações:

  1. Cada transação é hashada individualmente.
  2. Hashes adjacentes são agrupados em pares e hashados juntos.
  3. Esse processo se repete até restar um único hash: o Merkle root.

O Merkle root fornece um resumo compacto de todas as transações. Se qualquer transação for alterada, o Merkle root muda, revelando imediatamente a adulteração. Essa estrutura também permite Simplified Payment Verification (SPV), em que clientes leves podem verificar a inclusão de transações sem baixar blocos completos.

Etapa 5: Consenso e Produção de Bloco

O bloco candidato precisa passar pelo mecanismo de consenso da rede para ser aceito. É aqui que diferentes blockchains divergem significativamente.

Proof of Work (Bitcoin)

No proof-of-work, mineradores competem para encontrar um valor de nonce que, ao ser combinado com os dados do cabeçalho do bloco e hashado, produza um hash abaixo do difficulty target da rede. Isso é essencialmente uma busca de força bruta:

  1. O minerador constrói o cabeçalho do bloco com todos os campos necessários.
  2. O minerador calcula o hash do cabeçalho usando SHA-256 (aplicado duas vezes no Bitcoin).
  3. Se o hash resultante estiver abaixo do difficulty target, o bloco é válido.
  4. Se não, o minerador incrementa o nonce e tenta novamente.
  5. Esse processo se repete bilhões de vezes por segundo em todos os mineradores.

O difficulty target se ajusta a cada 2,016 blocos (aproximadamente duas semanas) para manter um tempo médio de bloco de 10 minutos, independentemente da potência total de mineração da rede.

Quando um minerador encontra um hash válido, ele resolve o "quebra-cabeça" e pode transmitir seu bloco para a rede. O primeiro minerador a encontrar uma solução válida recebe a recompensa do bloco (atualmente 3.125 BTC após o halving de abril de 2024) mais todas as taxas de transação do bloco.

Proof of Stake (Ethereum)

Ethereum usa proof of stake, em que validadores são selecionados aleatoriamente para propor blocos com base na quantidade de ETH em stake (bloqueado como garantia). O processo é fundamentalmente diferente:

  1. Um validador é selecionado pseudoaleatoriamente para propor um bloco em cada slot de 12 segundos.
  2. O proponente cria um bloco e o transmite.
  3. Um comitê de validadores attests (vota) que o bloco é válido.
  4. Quando atestações suficientes são reunidas, o bloco é considerado justificado e eventualmente finalizado.

Proof of stake elimina o cálculo de hash intensivo em energia do proof of work, mantendo a segurança por incentivos econômicos — validadores arriscam perder seu ETH em stake (slashing) se agirem de forma maliciosa.

Para uma comparação mais profunda, veja nosso guia sobre Consensus Mechanisms.

Etapa 6: Propagação do Bloco

Depois que um bloco válido é produzido, ele precisa ser distribuído pela rede.

Propagação na Rede

O minerador ou validador bem-sucedido transmite o novo bloco para seus pares, que validam o bloco e o retransmitem adiante. A propagação de bloco normalmente leva de 1 a 10 segundos para alcançar a maioria da rede, dependendo do tamanho do bloco e das condições de rede.

Compact Block Relay (BIP 152)

Bitcoin usa Compact Block Relay para acelerar a propagação. Como a maioria dos nodes já tem as transações em suas mempools, o novo bloco precisa transmitir apenas um resumo compacto (IDs curtos de transação), em vez dos dados completos. Os nodes podem reconstruir o bloco completo a partir da mempool, reduzindo os requisitos de banda em aproximadamente 90%.

Blocos Órfãos

Ocasionalmente, dois mineradores encontram blocos válidos quase ao mesmo tempo, criando um fork temporário. A rede resolve isso naturalmente: a cadeia que receber o próximo bloco primeiro se torna a cadeia mais longa, e o outro bloco vira um órfão (ou bloco stale). As transações no bloco órfão retornam para a mempool e normalmente são incluídas no próximo bloco da cadeia vencedora.

Etapa 7: Validação do Bloco e Extensão da Cadeia

Quando um node recebe um novo bloco, ele valida independentemente todo o bloco antes de aceitá-lo.

Validação Completa

Os nodes verificam:

  • Validade do cabeçalho do bloco: Formato correto, hash do bloco anterior válido, proof of work atende ao difficulty target (ou assinatura válida do validador em PoS).
  • Validade da transação: Cada transação no bloco passa nas mesmas verificações de validação descritas na Etapa 3.
  • Consistência do Merkle root: O Merkle root calculado corresponde ao do cabeçalho do bloco.
  • Tamanho/peso do bloco: O bloco não excede os limites do protocolo.
  • Validade da coinbase: A recompensa do bloco e a coleta de taxas estão corretas conforme as regras atuais do protocolo.
  • Intervalo de timestamp: O timestamp do bloco está dentro dos limites aceitáveis.

Se todas as verificações passarem, o node adiciona o bloco à sua cópia local da blockchain e atualiza seu conjunto UTXO (ou state trie no Ethereum). Em seguida, o node retransmite o bloco para seus pares.

Etapa 8: Confirmação da Transação

Quando sua transação é incluída em um bloco válido, ela recebe sua primeira confirmação. Cada bloco subsequente adicionado sobre o bloco da sua transação adiciona mais uma confirmação.

Por Que Múltiplas Confirmações Importam

Uma única confirmação significa que sua transação está na blockchain, mas o bloco poderia teoricamente se tornar órfão se uma cadeia concorrente o ultrapassar. Cada confirmação adicional torna a reorganização exponencialmente menos provável:

ConfirmationsBitcoin Wait TimeSecurity Level
0 (unconfirmed)Vulnerável a double-spend
1~10 minutosAdequado para pequenos valores
3~30 minutosSegurança razoável
6~60 minutosPadrão para valores significativos
12+~2 horasSegurança muito alta

O padrão comumente citado de 6 confirmações para Bitcoin significa que a probabilidade de uma reorganização bem-sucedida da cadeia (e portanto double-spend) é astronomicamente baixa — exigiria que um atacante controlasse mais de 50% do hash power da rede e o sustentasse por mais de uma hora.

Ethereum oferece finalização mais rápida. Em condições normais, uma transação alcança finalização (não pode ser revertida sem queimar pelo menos um terço de todo ETH em stake) em aproximadamente 12 a 15 minutos.

Tipos de Finalidade

  • Finalidade probabilística (Bitcoin): Transações se tornam cada vez mais difíceis de reverter a cada confirmação, mas não há um ponto absoluto de irreversibilidade. Seis confirmações é o limite prático amplamente aceito.
  • Finalidade econômica (Ethereum PoS): Após a finalização, reverter uma transação exigiria queimar bilhões de dólares em ETH em stake — economicamente irracional para qualquer atacante.
  • Finalidade absoluta (algumas cadeias baseadas em BFT): Transações são irreversíveis imediatamente após a confirmação do bloco. Cadeias como redes baseadas em Tendermint fornecem essa propriedade.

O Panorama Completo: A Jornada de uma Transação

Para resumir todo o ciclo de vida:

  1. Você inicia uma transferência na sua carteira.
  2. Sua carteira constrói a transação, selecionando entradas e saídas (UTXO) ou especificando o valor da transferência (modelo de conta).
  3. Sua chave privada assina a transação, provando que você a autorizou.
  4. A transação assinada é transmitida para a rede P2P.
  5. Os nodes validam a transação e a adicionam à mempool.
  6. Um minerador/validador seleciona sua transação da mempool e a inclui em um bloco candidato.
  7. O bloco é produzido por proof of work ou proof of stake.
  8. O novo bloco se propaga pela rede.
  9. Os nodes validam e aceitam o bloco, estendendo a cadeia.
  10. Sua transação ganha confirmações conforme novos blocos são construídos sobre ela.

Todo esse processo — da criação à primeira confirmação — leva aproximadamente 10 minutos no Bitcoin e 12 segundos no Ethereum, embora sua transação possa passar tempo adicional na mempool aguardando seleção.

Ferramenta SafeSeed

A segurança da sua transação começa pelas suas chaves. Use o SafeSeed Seed Phrase Generator para criar uma seed phrase BIP-39 criptograficamente segura. Cada etapa do processo de blockchain — de assinar transações a provar propriedade — depende da segurança das suas chaves privadas, que são derivadas da sua seed phrase.

Conceitos Avançados

Maleabilidade de Transação

Nas primeiras versões do Bitcoin, era possível modificar o ID de uma transação (txid) sem invalidá-la — uma propriedade chamada maleabilidade de transação. Isso foi amplamente resolvido pela atualização Segregated Witness (SegWit) em 2017, que separa dados de assinatura dos dados da transação, garantindo que o txid não possa ser alterado após a assinatura.

Replace-By-Fee (RBF)

Bitcoin suporta Replace-By-Fee, permitindo que um remetente reenvie uma transação com taxa maior para acelerar a confirmação. A nova transação substitui a original na mempool. Isso é útil quando a rede está congestionada e sua taxa original foi muito baixa. Carteiras que suportam RBF marcam transações como substituíveis, e a versão com taxa maior tem prioridade.

Agrupamento de Transações

Exchanges e grandes remetentes frequentemente agrupam múltiplos pagamentos em uma única transação com múltiplas saídas. Isso é mais eficiente em espaço do que enviar transações individuais, reduzindo taxas totais e uso de espaço em bloco.

FAQ

Quanto tempo leva uma transação em blockchain?

O tempo de transação varia por blockchain. Bitcoin gera em média um bloco a cada 10 minutos, mas sua transação pode esperar na mempool antes de ser incluída. Ethereum produz blocos a cada 12 segundos. Soluções Layer 2 como Lightning Network podem liquidar pagamentos em milissegundos. O tempo total do envio à primeira confirmação depende do congestionamento da rede e da taxa que você paga.

O que acontece se eu enviar para o endereço errado?

Transações em blockchain são irreversíveis. Se você enviar criptomoeda para o endereço errado, não existe autoridade central que possa reverter a transação. Se o endereço pertencer a alguém, você precisará contatar essa pessoa diretamente e torcer para que devolva os fundos. Se o endereço for inválido ou não pertencer a ninguém, os fundos ficam efetivamente perdidos para sempre. Sempre verifique os endereços duas vezes antes de enviar.

Uma transação em blockchain pode falhar?

No Bitcoin, uma transação corretamente construída e assinada eventualmente será confirmada (embora possa levar muito tempo com taxa muito baixa). No Ethereum, transações podem falhar (revert) se a execução do smart contract encontrar um erro ou ficar sem gas. Em ambos os casos, a taxa de transação ainda é consumida. Algumas carteiras fornecem simulação de transação para prever se ela terá sucesso antes do envio.

O que é um transaction hash (txid)?

Um transaction hash (txid ou transaction ID) é um identificador único atribuído a cada transação. Ele é gerado ao aplicar hash nos dados da transação. Você pode usar o txid para acompanhar sua transação em um block explorer (como mempool.space para Bitcoin ou etherscan.io para Ethereum). O txid é atribuído assim que a transação é criada e não muda após a confirmação.

Por que as taxas de transação flutuam?

As taxas de transação são determinadas pela oferta e demanda de espaço em bloco. Quando muitos usuários transacionam ao mesmo tempo, eles competem por espaço limitado oferecendo taxas mais altas. Em períodos tranquilos, as taxas caem. O espaço de bloco do Bitcoin é fixo (peso de 4 MB por bloco a cada 10 minutos), então as taxas podem disparar durante alta demanda. O EIP-1559 do Ethereum oferece uma base fee mais previsível, ajustada algoritmicamente de acordo com a utilização da rede.

Qual é a diferença entre transações confirmadas e não confirmadas?

Uma transação não confirmada existe na mempool, mas ainda não foi incluída em um bloco. Ela está pendente e pode teoricamente ser substituída ou descartada. Uma transação confirmada foi incluída em um bloco e adicionada à blockchain. A cada bloco adicional construído sobre ela, o número de confirmações aumenta e a transação fica cada vez mais difícil de reverter.

Mineradores podem escolher não incluir minha transação?

Sim. Mineradores e validadores podem escolher quais transações incluir em seus blocos. Eles não são obrigados a incluir nenhuma transação específica. No entanto, incentivos econômicos os motivam fortemente a incluir o máximo possível de transações com fee. Na prática, qualquer transação válida com taxa adequada eventualmente será incluída por algum minerador, mesmo que alguns escolham ignorá-la.

Guias Relacionados