O que é a EIP-7702?
A EIP-7702 é uma proposta central de protocolo que altera as capacidades das contas da Ethereum. EIP significa Ethereum Improvement Proposal, ou proposta de melhoria da Ethereum, e 7702 é o número da proposta. Ela permite que uma conta externa delegue a execução de código para um código de contrato inteligente já implantado, mantendo o endereço, o saldo e o controle pela chave privada originais.
Uma conta externa (Externally Owned Account, EOA) é uma conta da Ethereum controlada por uma chave privada e normalmente usada por uma carteira individual. Uma EOA tradicional pode assinar e iniciar transações, mas não consegue programar na própria conta operações em lote, regras de permissão ou lógica de recuperação como uma conta de contrato inteligente. A EIP-7702 cria uma ligação entre os dois modelos: uma EOA pode executar um código de contrato designado no contexto da própria conta sem transferir ativos para um endereço novo.
A proposta alcançou o status Final e foi ativada na rede principal da Ethereum em 7 de maio de 2025 como parte da atualização de rede Pectra. Ela define um mecanismo de delegação subjacente, e não um produto completo de carteira. A disponibilidade de funções como operações em lote, patrocínio de gas, permissões de sessão ou recuperação da conta depende do contrato delegado escolhido pela carteira e de sua implementação.
Qual problema ela resolve?
Uma EOA tradicional é simples: quem consegue usar a chave privada correspondente pode assinar e controlar a conta. No entanto, a conta não tem lógica programável. Se uma pessoa quiser aprovar um token, trocar um ativo e depositar o resultado em outro protocolo, normalmente precisará confirmar várias transações separadamente. As taxas de gas também costumam ser pagas com ETH, o ativo nativo da Ethereum, mantido na conta.
Uma conta de contrato inteligente pode adicionar regras mais complexas de validação e execução. Porém, criar uma nova conta de contrato pode exigir um novo endereço e envolver a migração de ativos, a compatibilidade com aplicações e a continuidade do histórico ou da identidade da conta.
A EIP-7702 permite que uma EOA existente aponte para um código de contrato. Assim, a carteira pode adicionar recursos definidos por código sem alterar o endereço da conta. A proposta não remove o controle existente pela chave privada nem atualiza automaticamente todas as EOAs. A delegação só é gravada no estado da Ethereum depois que a conta assina e envia uma autorização válida.
Como uma autorização entra em vigor?
A EIP-7702 introduz o tipo de transação 0x04. Essa transação pode transportar uma ou mais autorizações, cada uma indicando que uma EOA concorda em delegar a execução de código para um endereço de destino.
Do ponto de vista da pessoa usuária, o processo tem cinco etapas:
- A carteira seleciona o código do contrato delegado que pretende usar e apresenta a autorização.
- A EOA assina a autorização e confirma a rede de destino, o endereço delegado e o número de sequência atual da conta, chamado nonce.
- Uma transação do tipo 4 envia a autorização à rede. O remetente pode ser a EOA ou outra conta que pague a taxa de gas em seu nome.
- Depois de validar a assinatura e o nonce, os nós da rede gravam na EOA um marcador de delegação que aponta para o código de destino.
- Quando outra conta ou contrato chama posteriormente a EOA, o código do contrato de destino processa a chamada usando o endereço, o saldo e o contexto de armazenamento da própria EOA.
Vários campos da autorização limitam riscos diferentes:
| Campo | Função |
|---|---|
chain_id |
Especifica a rede em que a autorização se aplica, reduzindo o risco de reutilização em outra rede. O valor 0 permite uso entre cadeias e exige cuidado especial. |
address |
Identifica o endereço de destino que fornece o código delegado. |
nonce |
Vincula a autorização ao número de sequência da conta naquele momento, impedindo a reutilização repetida da mesma autorização. |
| Dados de assinatura | Comprovam que a chave privada correspondente concordou com essa autorização. |
A delegação não transfere ativos para o endereço de destino. O código de destino é executado no contexto da EOA que o autorizou. Portanto, ele lê e modifica o armazenamento dessa EOA e usa o endereço e o saldo dela. É por isso que o código delegado pode ter amplo controle sobre a conta.
O que muda depois da autorização?
A conta mantém o mesmo endereço após a delegação, o saldo existente não é transferido automaticamente e a chave privada ainda pode assinar transações. A mudança é que o campo de código da conta passa a armazenar um marcador especial que aponta para o código do contrato de destino. As chamadas à conta passam a ser processadas conforme o código referenciado por esse marcador.
A delegação é persistente. Ela não desaparece automaticamente depois de uma transação. Permanece ativa até que a conta use outra autorização válida para apontar para um código diferente ou remova a delegação. A pessoa não deve presumir que a autorização terminou apenas porque uma operação em lote específica foi concluída.
Definir a autorização e executar a chamada posterior também são etapas distintas. Segundo as regras de processamento da EIP-7702, uma delegação já processada não é revertida automaticamente se a execução posterior da transação do tipo 4 falhar. A carteira precisa apresentar e verificar separadamente que “a delegação foi gravada” e que “a ação pretendida foi concluída”.
Quais recursos de conta ela pode oferecer?
A EIP-7702 fornece uma ferramenta subjacente às carteiras. Alguns projetos podem usar o código delegado para oferecer:
- um único fluxo de assinatura para várias operações, como aprovação, troca e depósito;
- envio e pagamento de gas por outra conta ou serviço;
- permissões específicas, como chaves de sessão, limites por uso ou destinos restritos;
- métodos de autenticação além da assinatura de uma única chave privada;
- recuperação, pausa ou controles de gastos;
- compatibilidade com infraestrutura de contas inteligentes baseada no padrão de abstração de contas ERC-4337.
A EIP-7702 não garante nenhum desses recursos. Ela especifica como autorizar e registrar uma delegação e executar o código referenciado. O contrato delegado e a interface da carteira determinam quais recursos existem, como uma ação é validada e como funciona a recuperação em caso de problema.
O patrocínio de gas não significa que a Ethereum deixa de cobrar gas. Uma transação do tipo 4 permite que outra conta atue como remetente da transação externa, inclua a autorização da EOA e pague a taxa de gas. A decisão de um serviço de patrocinar a taxa, a forma de liquidar o custo e quem paga chamadas posteriores são decisões do produto de carteira ou serviço.
Qual é a diferença em relação a uma conta inteligente?
“Conta inteligente” é um termo amplo para uma experiência de conta em que código programável define as regras de validação e execução. A EIP-7702 é um mecanismo no nível do protocolo que pode proporcionar essa experiência, mas não equivale a todos os modelos de conta inteligente.
A ERC-4337 é outro padrão de abstração de contas. Ela organiza ações por meio de um objeto de dados UserOperation que descreve a intenção da pessoa, bundlers que reúnem operações e um contrato EntryPoint que as valida e executa. Isso não exige que a camada de consenso da Ethereum adicione uma regra de transação para cada modelo de conta. Já a EIP-7702 permite que uma EOA defina uma delegação de código diretamente no estado do protocolo. Os dois mecanismos podem funcionar juntos: a ERC-4337 define como seu fluxo de operações de usuário pode incluir uma autorização EIP-7702.
A EIP-7702 também não transforma automaticamente uma EOA comum em uma conta controlada exclusivamente por uma política de múltiplas assinaturas verdadeira. Mesmo que o código delegado exija várias aprovações, a chave privada original ainda pode substituir ou remover a delegação e contornar uma política de longo prazo aplicada apenas pelo delegado atual. Se uma aplicação precisar de um modelo de controle que uma única chave privada original não possa anular, não poderá concluir que esse modelo existe apenas porque uma delegação EIP-7702 foi definida.
Como substituir ou revogar a delegação?
A conta pode assinar uma nova autorização que aponte para outro endereço de destino. Para remover a delegação, ela pode usar o endereço zero como destino da autorização. A nova autorização ainda precisa passar pelas verificações de rede, assinatura e nonce, e ser gravada na blockchain por meio de uma transação do tipo 4.
Remover a delegação elimina o ponteiro para o código, mas não apaga automaticamente os dados que o código delegado anterior gravou no armazenamento da conta. Se a conta usar um código diferente mais tarde, o novo código poderá ler dados antigos ou interpretar o mesmo local de armazenamento de outra forma. O projeto do contrato delegado precisa considerar inicialização, atualizações e compatibilidade de armazenamento. Antes de trocar a implementação, a pessoa também precisa confirmar se a carteira oferece um fluxo adequado de migração e recuperação.
Revogar a delegação não substitui a proteção da chave privada. Se a chave for comprometida, um invasor ainda poderá assinar uma nova autorização, substituir o delegado ou controlar diretamente a conta. O código delegado pode adicionar regras operacionais, mas a chave original continua sendo uma credencial de controle essencial.
Principais riscos e pontos de verificação
Código delegado malicioso ou defeituoso
O código delegado é executado no contexto da EOA e pode chamar outros contratos, transferir ativos ou modificar o armazenamento. Código malicioso ou vulnerável pode obter controle operacional quase completo sobre a conta. A carteira deve verificar o código de destino e suas permissões de atualização e não deve solicitar a assinatura de uma autorização para um endereço delegado desconhecido.
Phishing de autorização
Uma autorização EIP-7702 pode afetar muitas transações futuras e, portanto, tem um escopo maior que a assinatura de uma única transferência. Se uma interface mostrar apenas “entrar” ou “ativar um recurso” sem apresentar claramente a rede de destino, o código delegado e a persistência, a pessoa pode subestimar a autorização. As orientações oficiais da Ethereum recomendam que as carteiras gerenciem as interações de delegação e avaliem o código de destino, em vez de permitir que uma página comum solicite autorizações arbitrárias.
Repetição entre cadeias e diferenças de endereço
O campo chain_id limita a autorização a uma rede. Definir o valor como 0 pode permitir que a mesma autorização seja usada em várias cadeias, enquanto o mesmo endereço pode não conter o mesmo código em todas as redes. Mesmo quando o texto do endereço é idêntico, o código e o estado da conta podem ser diferentes. A carteira precisa verificar em conjunto a rede, o endereço de destino e o código realmente implantado nessa rede.
Inicialização e conflitos de armazenamento
O novo código delegado pode precisar armazenar primeiro um proprietário, permissões ou outros dados iniciais. Se outra parte puder executar a inicialização antes, a conta poderá ser configurada incorretamente. Quando a delegação muda, implementações que reutilizam os mesmos locais de armazenamento também podem criar conflitos de permissões ou dados.
Suposições antigas das aplicações deixam de valer
Algumas aplicações consideravam que “a conta não tem código no momento” comprovava que ela era uma conta comum de usuário, ou usavam tx.origin para inferir a origem de uma chamada. A EIP-7702 permite que uma EOA execute código delegado, então essas suposições deixam de ser confiáveis e também podem criar riscos de reentrância. As aplicações precisam validar permissões pelo modelo real de chamada e autorização, em vez de depender das características anteriores do tipo de conta.
Perguntas frequentes
Definir uma delegação altera o endereço da carteira?
Não. A EOA mantém o endereço após a delegação, e o saldo e o histórico permanecem nesse endereço. O novo elemento é um marcador de delegação de código.
A delegação dura apenas uma transação?
Não. Depois de gravada, ela permanece até ser substituída ou removida por uma nova autorização. A falha de uma ação pretendida não revoga necessariamente uma delegação já processada.
A chave privada continua válida depois da delegação?
Sim. A chave privada original ainda pode assinar transações, substituir a delegação ou removê-la. O código delegado não elimina a necessidade de proteger a chave.
Ela oferece automaticamente operações em lote e patrocínio de gas?
Não. Ela fornece o mecanismo de delegação subjacente necessário para implementar esses recursos. O código delegado implementa as operações em lote, enquanto o patrocínio de gas também exige um remetente ou serviço externo disposto a enviar a transação e pagar sua taxa.
Uma conta pode delegar para qualquer contrato?
O protocolo permite que uma autorização aponte para um endereço de código, mas a possibilidade técnica não significa que o código seja adequado. Como o código de destino é executado no contexto da conta, a pessoa deve usar uma carteira confiável para verificar a finalidade do código, as informações de auditoria, as permissões de atualização e o método de revogação. Ela não deve assinar uma autorização que não consiga identificar.
Conceitos relacionados
Continue com Ethereum, contratos inteligentes e a Máquina Virtual da Ethereum, ou volte ao glossário de criptomoedas. Esta entrada não será vinculada no glossário A–Z até que todas as sete versões linguísticas sejam publicadas.
Fontes
- EIP-7702: Set Code for EOAs — tipo de transação, campos de autorização, execução delegada, revogação e considerações de segurança.
- Ethereum.org: orientações sobre a EIP-7702 — integração com carteiras, controle da conta, autorização entre cadeias, riscos da delegação e orientações de interação.
- Ethereum Foundation: anúncio da Pectra na rede principal — data de ativação na rede principal e contexto dos recursos para pessoas usuárias da EIP-7702.
- ERC-4337: abstração de contas usando um mempool alternativo — compatibilidade da ERC-4337 com autorizações EIP-7702.
© 2025 OKX. Este artigo pode ser reproduzido ou distribuído na íntegra, ou trechos de até 100 palavras podem ser usados, desde que não haja fins comerciais. Caso o artigo completo seja reproduzido ou redistribuído, é obrigatório informar claramente: “Este artigo é © 2025 OKX e está sendo utilizado com permissão.” Trechos permitidos devem citar o nome do artigo e incluir a atribuição, como: "Nome do artigo, [nome do autor, se aplicável], © 2025 OKX." Alguns conteúdos podem ter sido criados com o apoio de ferramentas de inteligência artificial (IA). Não são permitidos trabalhos derivados ou outros usos deste artigo.







