﻿---
title: "Abstracao de contas"
description: "Entenda a abstracao de contas no Ethereum por meio de contas inteligentes ERC-4337, versoes do EntryPoint, UserOperations, bundlers, paymasters, canais de nonce, validacao, execucao, delegacao EIP-7702 e riscos de taxas e recuperacao."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Abstracao de contas

> Somente para fins educacionais; nao constitui recomendacao nem aconselhamento de investimento. Investir pode causar perdas.

<a id="answer"></a>

## Resposta direta

A abstracao de contas torna programaveis as regras de autorizacao e execucao de uma conta. No Ethereum, o ERC-4337 faz isso sem alterar o tipo de transacao do consenso: uma carteira envia uma `UserOperation` por infraestrutura RPC dedicada, um bundler inclui uma ou mais operacoes em uma transacao normal para um `EntryPoint` versionado, e a conta inteligente valida e executa sua propria operacao. Recuperacao, passkeys, chaves de sessao, limites de gasto, lotes e patrocinio de taxas sao recursos da conta ou do servico construidos sobre esse fluxo, nao garantias automaticas do ERC-4337.

Isso difere do ERC-1271, que padroniza como um contrato valida uma assinatura de mensagem, e do EIP-7702, que permite a uma conta de propriedade externa (EOA) delegar a execucao a codigo. Eles podem interoperar, mas nao compartilham uma unica interface, nonce, implantacao ou modelo de seguranca. A abstracao de contas nao elimina credenciais, custos de gas, risco contratual nem a necessidade de verificar a cadeia e a implementacao exatas.

<a id="mechanism"></a>

## Fluxo ERC-4337 em sete etapas

1. Fixe o ambiente: `chainId`, implementacao e controles de upgrade da conta inteligente, factory, versao, endereco e hash do codigo implantado do EntryPoint, suporte do bundler e ativacao do EIP-7702 na cadeia. Um endereco valido para uma versao ou cadeia nao e uma constante universal.
2. Monte a operacao compativel com a versao. Os campos logicos atuais incluem `sender`, `nonce`, `factory`, `factoryData`, `callData`, `callGasLimit`, `verificationGasLimit`, `preVerificationGas`, `maxFeePerGas`, `maxPriorityFeePerGas`, campos opcionais do paymaster e `signature`. O EntryPoint recebe uma representacao compactada on-chain; as chamadas de destino ficam no `callData` definido pela conta, nao em um campo universal de destino.
3. Vincule a autorizacao ao dominio correto. O `userOpHash` cobre a operacao exceto a assinatura e a vincula ao EntryPoint e a cadeia. O `validateUserOp` verifica proprietario, multisig, passkey, sessao ou outra politica. `isValidSignature` do ERC-1271 e uma interface separada para assinaturas de contratos; um aggregator opcional valida assinaturas agregadas. A tupla EIP-7702 e fornecida separadamente da UserOperation.
4. Demonstre capacidade de pagar. A conta pode prefinanciar pelo saldo no EntryPoint, ou um paymaster pode aceitar condicionalmente a obrigacao usando seu deposito. Ele pode patrocinar, cobrar token, aplicar listas ou cotas e executar `postOp`; o ERC-4337 nao fixa essas regras comerciais. Stake sustenta validacao e reputacao; deposito paga gas.
5. Estime e envie via RPC ERC-7769. O bundler valida no recebimento, antes da selecao e na montagem do lote. O ERC-7562 restringe opcodes e acesso a armazenamento na validacao e permite controles de reputacao contra DoS. Essa simulacao verifica admissao e pagamento; prever a execucao economica exige simulacao separada da chamada completa.
6. O bundler chama `handleOps`. O EntryPoint faz implantacao permitida, validacoes da conta e do paymaster, checagens de prefinanciamento e agregacao opcional antes da execucao. Validacao falha impede a operacao; uma chamada de destino ainda pode reverter apos admissao valida e consumir gas. A atomicidade ou o sucesso parcial de um lote interno depende do codigo da conta.
7. Reconcilie recibos e estado. Confira recibo da UserOperation, transacao do lote, eventos do EntryPoint, implantacao, eventos do destino, gas real, cobranca em token, reembolso e saldos. Monitore canais de nonce, proprietarios, recuperacao, revogacao de sessoes, modulos, upgrades, alternativas de bundler/paymaster, reorganizacoes e migracao ou redelegacao EIP-7702.

<a id="example"></a>

## Quatro exemplos resolvidos

- **Envelope simplificado de gas.** Uma operacao reserva `120,000` de gas de execucao, `90,000` de validacao da conta, `45,000` de validacao do paymaster, `40,000` de prevalidacao e `30,000` de pos-operacao: `120,000 + 90,000 + 45,000 + 40,000 + 30,000 = 325,000 gas`. Com `maxFeePerGas = 30 gwei`, o teto simplificado e `325,000 × 30 gwei = 0.009750 ETH`. Se o uso cobravel real for `210,000 gas` a `22 gwei`, o custo sera `0.004620 ETH`. Versao do EntryPoint, penalidades, dados da L1 e precificacao de rollup podem alterar valores; isto e um orcamento, nao formula universal de prefinanciamento.
- **Canal paralelo de nonce.** Com uma `192-bit key` e uma `64-bit sequence`, chave `7` e sequencia `42` codificam `nonce = (7 << 64) | 42 = 129127208515966861354 = 0x7000000000000002a`. Apos inclusao, esse canal espera `43`; repetir `42` falha. Outra chave pode ter sequencia independente, conforme a logica da conta e as regras do bundler.
- **Capacidade do paymaster.** Um paymaster tem `0.50 ETH` depositados e cada operacao exige garantia maxima de `0.03 ETH`. Ele cobre `floor(0.50 / 0.03) = 16` operacoes, reserva `0.48 ETH` e deixa `0.02 ETH`. A decima setima requer mais deposito ou garantia menor. O stake nao substitui o deposito de taxas.
- **Reversao apos admissao.** Uma operacao reserva ate `0.0060 ETH`; a validacao passa, mas o destino reverte apos consumir `180,000 gas × 25 gwei = 0.0045 ETH`. O estado do destino reverte, mas conta ou paymaster ainda deve `0.0045 ETH`; os `0.0015 ETH` nao usados seguem as regras de liquidacao e penalidade. Simulacao aprovada nao promete sucesso economico, inclusao ou finalidade.

<a id="risks"></a>

## Riscos e controles

- Cadeia, endereco, versao ou hash de codigo incorretos do EntryPoint podem invalidar ou desviar a operacao.
- Assinatura sem dominio de cadeia e EntryPoint pode permitir replay.
- Factory, endereco contrafactual, inicializacao ou salt podem ser substituidos ou calculados incorretamente.
- Delegacao EIP-7702 pode apontar a EOA para codigo malicioso com ampla autoridade.
- Inicializacao antecipada ou repetida pode tomar ou corromper a conta.
- Upgrade de proxy ou redelegacao pode colidir com o layout de armazenamento.
- Administrador de upgrade ou gestor de modulos comprometido pode substituir o comportamento.
- Falhas de proprietario, multisig, passkey ou ERC-1271 podem autorizar roubo ou bloquear fundos.
- Limiares, atrasos, guardioes e cancelamento de recuperacao podem falhar ou ser capturados.
- Chaves de sessao podem exceder alvo, token, valor, duracao ou funcao previstos.
- Canais de nonce podem colidir, ter lacunas, replay ou bloquear operacoes dependentes.
- Falha do aggregator ou da agregacao pode imobilizar operacoes validas.
- Bundlers podem censurar, ficar offline, aplicar politica local ou rejeitar mempools alternativos.
- UserOperations publicas podem expor intencao a correlacao, front-running e MEV.
- Mudancas de estado entre simulacao e lote podem invalidar a operacao.
- O paymaster pode negar servico, esgotar deposito ou falhar em `postOp`.
- Cobranca em token inclui risco cambial, allowance, spread e margem do servico.
- Gas subestimado reverte; limites excessivos elevam reserva ou penalidade.
- Lotes da conta podem permitir sucesso parcial quando se esperava reversao atomica.
- Bugs do protocolo-alvo, front ends hostis, reorganizacoes e finalidade fraca permanecem fora da AA.

<a id="misconceptions"></a>

## Equivocos comuns

- "A abstracao de contas elimina chaves privadas." Ela muda a politica de credenciais; alguma credencial ainda autoriza acoes.
- "Paymaster torna o gas gratuito." O gas nativo e pago e usuario, patrocinador ou servico assume o custo.
- "A simulacao do bundler garante sucesso." Admissao nao garante execucao, inclusao ou finalidade.
- "ERC-1271, ERC-4337 e EIP-7702 sao a mesma interface." Eles tratam de assinatura, fluxo e delegacao distintos.
- "Toda cadeia, carteira e EntryPoint e compativel e mais segura." Suporte, versoes, implantacoes, codigo, modulos e controles exigem verificacao separada.

<a id="related"></a>

## Topicos relacionados

- [Risco de proprietario e recuperacao de conta inteligente](/pt-br/crypto/smart-account-owner-recovery-risk/)
- [Carteira com chave de sessao](/pt-br/crypto/session-key-wallet/)
- [Simulacao de transacoes](/pt-br/crypto/transaction-simulation/)

<a id="sources"></a>

## Fontes

- [ERC-4337: Account Abstraction Using Alt Mempool](https://eips.ethereum.org/EIPS/eip-4337)
- [ERC-7562: Account Abstraction Validation Scope Rules](https://eips.ethereum.org/EIPS/eip-7562)
- [ERC-7769: JSON-RPC API for ERC-4337](https://eips.ethereum.org/EIPS/eip-7769)
- [ERC-1271: Standard Signature Validation Method for Contracts](https://eips.ethereum.org/EIPS/eip-1271)
- [EIP-7702: Set Code for EOAs](https://eips.ethereum.org/EIPS/eip-7702)
- [The EntryPoint Contract](https://docs.erc4337.io/smart-accounts/entrypoint-explainer.html)
- [Simulation Requirements](https://docs.erc4337.io/bundlers/simulation-requirements.html)
- [Releases - eth-infinitism/account-abstraction](https://github.com/eth-infinitism/account-abstraction/releases)

Source: https://wiki.fcontext.com/pt-br/crypto/account-abstraction/index.mdx
