O Que Realmente Acontece Quando Você Envia uma Transação Ethereum

--> O Problema

Você clica em “Enviar” na sua wallet. A interface confirma a transação.

Mas então... nada acontece.

Às vezes, confirma em segundos.
Às vezes, trava por minutos — ou falha completamente.

Por quê?

A maioria das explicações para por aí: “vai para a blockchain.”

Isso não é útil se você está construindo sistemas sobre isso.

Vamos entender o que realmente acontece nos bastidores.


Modelo Mental (Orientação Rápida)


Uma transação não é executada instantaneamente.

Passa por três fases distintas:

  • Propagação (mempool)

  • Inclusão (proposta de bloco)

  • Execução (transição de estado)

Cada fase introduz latência, risco e modos de falha.


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

Quando você clica em “enviar”:


  • Sua carteira constrói uma transação:

    • para

    • valor

    • gasLimit

    • maxFeePerGas

    • data (se houver interações com contratos)

    Ela assina a transação usando sua chave privada

Neste ponto:
👉 A transação é válida, mas ainda não é conhecida pela rede


Etapa 2: Transmitir para a Rede

Sua carteira envia a transação para um nó.

  • Esse nó:

  • Verifica a assinatura

  • Verifica o nonce

  • Garante validade básica

Se for válido → entra na mempool


Etapa 3: A Mempool (Onde as coisas ficam interessantes)

A mempool é:

  • Uma área temporária de retenção

  • Não é consistente globalmente

  • Diferente entre nós

Isso significa:
👉 Sua transação pode existir em alguns nós—mas não em outros

Comportamento-chave:

  • Os nós priorizam transações por taxa

  • Maior maxFeePerGas = maior prioridade


📊 Diagrama 1: Fluxo de Propagação da Transação


O diagrama deve mostrar:

  • Carteira do usuário → Nó A → Nó B → Nó C

  • Cada nó tem sua própria mempool

  • Setas mostrando a propagação via gossip

  • Destaque: “Nem todas as mempools são idênticas”


Etapa 4: Proposta de Bloco

Validadores selecionam transações da própria mempool.

Eles escolhem:

  • Transações com a maior taxa primeiro

  • Transações que cabem nos limites de gas

Importante:
👉 Sua transação está competindo com outras



Etapa 5: Execução (nível EVM)


Assim que for incluída em um bloco

  • A transação executa dentro da EVM

  • Mudanças de estado ocorrem:

    • Atualizações de saldo

    • Mudanças no armazenamento do contrato inteligente

Se a execução falhar:

  • O gas ainda é consumido

  • As mudanças de estado são revertidas


📊 Diagrama 2: Fluxo de Execução


O diagrama deve mostrar:

  • Bloco → EVM → Transição de Estado

  • Entradas:

    • Transação

    • Estado atual


  • Saída:

    • Novo estado

  • Inclua “consumo de gas” em cada etapa


Casos de Borda & Modos de Falha

É aqui que a maioria dos artigos falha. Vamos mais a fundo.

❌ 1. Transação Presa na Mempool

  • Taxa baixa demais

  • Nunca foi escolhida pelos validadores

❌ 2. Transação Descartada

  • O nó remove isso devido a:

    • Taxa baixa

    • Estouro de mempool

❌ 3. Transação Substituída

  • Mesmo nonce + taxa mais alta → substitui a original

❌ 4. Execução sem gas

  • A execução para no meio do caminho

  • O estado reverte

  • Gas é perdido

❌ 5. Reorganização da cadeia (Reorg)

  • O bloco é substituído

  • A transação pode desaparecer temporariamente



Implicações no mundo real

Para Desenvolvedores:

  • Você não pode assumir finalidade instantânea

  • Deve lidar com estados pendentes

Para UX:

  • Os usuários veem “pendente” → confusão

  • A estimativa de taxa se torna crítica

Para Designs de Sistema

  • A lógica de retry é necessária

  • O monitoramento de transações é obrigatório


Principais conclusões

  • Uma transação é um processo em múltiplas etapas, não um único evento

  • A mempool é não determinística e fragmentada

  • As taxas impactam diretamente a probabilidade de execução

  • A falha pode ocorrer em múltiplas camadas

  • Sistemas devem ser projetados para incerteza e atraso



Se você está construindo na Ethereum, entender esse pipeline não é opcional—é base$ETH