
O account abstraction (AA) tornou-se um desenvolvimento revolucionário no universo Ethereum, transformando profundamente a forma como as contas individuais são geridas na blockchain. Esta abordagem inovadora elimina entraves históricos para utilizadores menos experientes, facilitando o acesso e a usabilidade da tecnologia blockchain. Ao separar a origem das transações das assinaturas e ao reforçar a flexibilidade de segurança das contas, a AA representa um avanço decisivo na experiência de utilização da blockchain, com o EIP-4337 como elemento central desta evolução.
Compreender o account abstraction implica conhecer a estrutura base das contas Ethereum. A rede distingue dois tipos principais de contas: externally owned accounts (EOA) e contract accounts (CA). As EOAs são geridas por chaves privadas e frases-semente, obrigando os utilizadores a garantir a custódia segura dos seus dados criptográficos. Em contrapartida, as contract accounts são geridas por smart contracts, ou seja, programas autoexecutáveis na blockchain.
Account abstraction refere-se à separação da fonte de transações das assinaturas, permitindo simultaneamente que as EOAs passem a operar como CAs. Assim, os smart contracts podem controlar EOAs, abrindo caminho à criação de smart contract wallets. Estas carteiras inovadoras melhoram substancialmente a experiência do utilizador, proporcionando mais flexibilidade na gestão das contas e opções de segurança avançadas.
Os ganhos da AA são notórios e superam muitas das limitações atuais da gestão de contas em blockchain. Ao flexibilizar operações on-chain antes rígidas e permitir múltiplas configurações de segurança, a AA eleva significativamente a experiência de interação com o ecossistema Ethereum. Passam a estar disponíveis funcionalidades como mecanismos de recuperação social, aprovações multi-assinatura e validação personalizada de transações — opções impossíveis nas EOAs padrão.
A caminhada rumo ao account abstraction foi marcada por várias Ethereum Improvement Proposals (EIP) determinantes, cada uma contribuindo para o cenário atual da AA. Conhecer estas propostas é fundamental para entender a evolução da AA na Ethereum, em especial a criação do EIP-4337.
O EIP-2938 foi pioneiro ao propor que contract accounts passassem a ser contas principais, capazes de pagar taxas e executar transações autonomamente — uma mudança profunda no modelo Ethereum. O EIP-3074 trouxe uma abordagem alternativa, sugerindo dois novos OpCodes, AUTH e AUTHCALL, para permitir que EOAs delegassem ações a contratos, num quadro de verificação mais flexível.
A proposta mais relevante é o EIP-4337, que introduz o conceito de memory pool para operações de utilizador (“user ops”). Esta lógica operacional substitui o memory pool tradicional e viabiliza a AA sem alterar o protocolo Ethereum. Apesar de as primeiras propostas, EIP-2938 e EIP-3074 (2020), terem ficado em suspenso devido à complexidade das alterações ao protocolo, o EIP-4337 destacou-se como solução por não exigir modificações na camada de consenso.
Comparando o EIP-4337 com soluções anteriores, como o EIP-3074, percebe-se a vantagem significativa: o EIP-3074 necessitava de novos opcodes e de mudanças profundas no consenso, tornando-se arriscado e complexo. Já o EIP-4337 opera sobre a estrutura atual do Ethereum, sendo mais seguro e prático.
O EIP-4337 é, atualmente, a proposta mais viável para implementar o account abstraction na Ethereum. A sua arquitetura baseia-se em conceitos e componentes fundamentais que colaboram para tornar possível esta funcionalidade sem alterar o protocolo.
O conceito UserOperation representa um objeto com toda a informação necessária para executar uma transação em nome do utilizador. O Entry point é um smart contract que executa bundles de user ops, assumindo o papel de núcleo da execução. Os Bundlers são nós que processam user ops enquanto transações agregadas, integrando transações entry point em blocos, desde que válidas.
As wallet contracts são contas de smart contract detidas pelo utilizador que validam e executam transações. As wallet factories são contratos capazes de criar, a pedido, novas smart contract wallets para utilizadores, simplificando a entrada no sistema. Aggregators são contratos auxiliares de confiança que validam assinaturas agregadas, mediante whitelist dos bundlers. Por fim, os Paymasters implementam lógica personalizada na blockchain, permitindo pagamentos de gas flexíveis em qualquer moeda e rede.
A cooperação entre estes elementos cria um sistema flexível e robusto de account abstraction, assente no EIP-4337. Ao querer enviar uma transação, o utilizador cria uma user op com toda a informação necessária, mas ainda sem assinatura. Esta user op é enviada para um bundler, que a agrupa com outras numa só transação. O bundler remete a transação para o contrato entry point, que valida e identifica as user ops das smart contract wallets. Após validação, as transações são executadas pelas smart contract wallets via ExecuteUserOp.
O fluxo de transações sob o regime AA evidencia como os componentes do EIP-4337 interagem no processamento das operações de utilizador. Este processo divide-se em várias etapas essenciais.
O ciclo inicia-se quando a conta manifesta a intenção, criando uma user op. Esta operação pode aceder a dados do endereço do remetente, como 'maxFeePerGas' e 'maxPriorityFee'. O campo 'signature' depende de cada implementação de conta e não do protocolo, permitindo autenticação flexível. As user ops são depois colocadas num memory pool dedicado até serem processadas.
Na fase de envio, validadores agrupam as user ops num memory pool próprio. O bundler, enquanto construtor de blocos, integra estas user ops em blocos, desde que as entry point transactions estejam válidas. Mesmo sem ser construtor de blocos, o bundler pode colaborar com infraestruturas como mev-boost, proposer-builder separation ou APIs experimentais eth_sendRawTransactionConditional RPC.
A fase de identificação decorre quando user ops são remetidas ao contrato entry point, que executa os bundles. Para aceitar user ops, o bundler valida as assinaturas com a função validateUserOp. Após validação, os bundlers colocam o contrato entry point na whitelist, garantindo apenas operações verificadas.
Na execução, a smart contract wallet finaliza a transação via ExecuteUserOp. Os bundlers agregam user ops em transações e iniciam chamadas no smart contract EntryPoint handleOps. Estas transações passam a integrar blocos, concluindo o fluxo AA do EIP-4337.
Conhecer as diferenças entre carteiras é essencial para valorizar as vantagens das AA wallets baseadas no EIP-4337. EOA wallets, MPC wallets e AA wallets distinguem-se em características, benefícios e limitações, influenciando a adequação a cada cenário.
As EOA wallets são contas externally owned tradicionais, com custos e taxas de gas reduzidos. Utilizam assinaturas ECDSA e exigem gestão de chaves privadas, oferecendo segurança básica mas funcionalidades limitadas. Não permitem transações em lote, recuperação de carteira ou pagamentos de gas em múltiplas moedas.
As MPC (Multi-Party Computation) wallets usam igualmente EOA, mas com gestão distribuída de chaves privadas via protocolos criptográficos. Tal como as EOA, têm custos e taxas baixos, usam ECDSA e apenas aceitam pagamentos de gas numa moeda. Eliminam pontos únicos de falha, exigem políticas claras de autorização de assinatura off-chain e, geralmente, têm menor compatibilidade com o ecossistema do que as EOA tradicionais.
As AA wallets, assentes em contract accounts e no EIP-4337, oferecem funcionalidades avançadas, mas com custos de criação e taxas de gas mais elevados. Permitem pagamentos de gas em várias moedas, inclusive tokens de terceiros, e transações em lote. Viabilizam métodos de assinatura alternativos ao ECDSA e dispensam gestão tradicional de chaves privadas. Têm mecanismos de recuperação de carteira, eliminam pontos únicos de falha, mas exigem auditorias aos contratos on-chain e operações em pool. O EIP-4337 garante segurança a nível da cadeia e compatibilidade moderada com o ecossistema.
Embora o EIP-3074 tenha sido suspenso, a sua abordagem ao account abstraction é relevante para interpretar as escolhas do EIP-4337. O EIP-3074 exigia alterações à camada de consenso, introduzindo os OpCodes AUTH e AUTHCALL para que EOAs utilizassem contratos — solução com vantagens e limitações.
A principal vantagem do EIP-3074 era permitir delegação do controlo da EOA a um contrato, oferecendo aos developers um quadro flexível para novos esquemas de transação, como trading em lote ou pagamentos de gas alternativos. Os invoker contracts podiam aceitar tokens além de ETH, atuando como intermediários na execução de transações entre patrocinadores e beneficiários. Além disso, qualquer EOA podia funcionar como smart contract wallet sem necessitar de implementação, beneficiando de upgrade imediato.
Contudo, o EIP-3074 implicava riscos devido à alteração da camada de consenso, podendo mesmo exigir um hard fork para corrigir eventuais problemas. Ao manter assinaturas ECDSA fixas para EOAs com características de CAs, limitava a flexibilidade de autenticação. Estas restrições, associadas ao risco inerente às mudanças de consenso, tornaram o EIP-4337 mais atrativo para a comunidade Ethereum.
Apesar do EIP-3074 ter sido colocado em pausa, muitos dos seus conceitos permanecem. O EIP-5003 evolui estas ideias, introduzindo o OpCode AUTHUSURP para permitir implementação de código em endereços autorizados pelo EIP-3074. Trabalha conjuntamente com o EIP-3607, permitindo a migração de EOAs existentes e complementando o EIP-4337.
O EIP-5003 revoga a autoridade da chave original da EOA (em conjunto com o EIP-3607). Por exemplo, se a EOA um autorizou o endereço dois ao abrigo do EIP-3074, o AUTHUSURP permite que o endereço dois defina o código da EOA um. Assim, uma EOA pode ser atualizada para contract account, migrando de ECDSA para métodos de assinatura mais eficientes e seguros. Esta evolução facilita a atualização de EOAs legadas, mantendo compatibilidade retroativa e integrando-se com o quadro de account abstraction do EIP-4337.
O account abstraction viabilizado pelo EIP-4337 marca uma etapa decisiva na evolução da Ethereum para a adoção em larga escala. Ao eliminar obstáculos históricos de acesso, o EIP-4337 torna a Ethereum mais intuitiva e funcional para qualquer utilizador. As vantagens da AA — segurança reforçada, métodos flexíveis de pagamento de gas, recuperação social e transações em lote — reduzem drasticamente as barreiras à entrada no ecossistema Ethereum.
O percurso desde as primeiras propostas, como o EIP-2938 e EIP-3074, até ao EIP-4337, reflete o compromisso da comunidade Ethereum com inovação, sem comprometer segurança e pragmatismo. Ao concretizar o account abstraction sem alterar o consenso, o EIP-4337 oferece um caminho seguro e eficiente. À medida que esta tecnologia amadurece e se expande, é expectável o surgimento de soluções cada vez mais avançadas, potenciando a experiência do utilizador e alargando o alcance do Ethereum. O surgimento de propostas complementares, como o EIP-5003, demonstra que a inovação no account abstraction continuará a marcar o futuro da infraestrutura blockchain. O EIP-4337 consolida-se como base para a próxima geração de gestão de contas Ethereum, alargando acessibilidade e funcionalidades ao ecossistema.
Account abstraction é a separação entre a origem das transações e as assinaturas, permitindo que contas externally owned (EOA) funcionem como contract accounts (CA). Com esta abordagem, smart contracts passam a controlar EOAs, viabilizando smart contract wallets com flexibilidade melhorada, segurança reforçada (como recuperação social e aprovações multi-assinatura) e uma experiência de utilização substancialmente superior na blockchain Ethereum.
O EIP-4337 é uma Ethereum Improvement Proposal que permite o account abstraction sem alterar o protocolo Ethereum. Introduz um sistema baseado em operações de utilizador (user ops), bundlers, contratos entry point e paymasters, que processam transações em conjunto. Ao contrário de propostas como o EIP-3074, o EIP-4337 não modifica a camada de consenso, tornando a implementação mais segura e prática, e permitindo funcionalidades como pagamentos flexíveis de gas e transações em lote.
As AA wallets baseadas no EIP-4337 disponibilizam funcionalidades muito superiores às EOA wallets tradicionais, como pagamentos de gas em várias moedas, transações em lote, recuperação de carteira e métodos de assinatura alternativos ao ECDSA. Apesar dos custos de criação e taxas de gas mais elevados, proporcionam maior segurança, eliminam pontos únicos de falha e dispensam a gestão de chaves privadas, facilitando a utilização e reforçando a proteção do utilizador.











