
Account abstraction (AA) constitui um avanço decisivo na gestão de contas em Ethereum, ao enfrentar desafios essenciais que os utilizadores encontram na interação com a blockchain. Esta tecnologia, sobretudo através da EIP-4337, simplifica a experiência de utilização, ao mesmo tempo que reforça a segurança e a flexibilidade na operacionalização das transações. Com o contínuo desenvolvimento do ecossistema das criptomoedas, a account abstraction com EIP-4337 revela-se uma inovação determinante para reduzir barreiras de entrada e potenciar a adoção generalizada.
A account abstraction altera profundamente o funcionamento das contas na rede Ethereum, ao separar a origem das transações da respetiva assinatura. Para compreender este conceito, é fundamental distinguir os dois grandes tipos de contas em Ethereum: externally owned accounts (EOA) e contract accounts (CA). As EOAs constituem contas tradicionais controladas por chaves privadas e frases-semente, sendo o formato mais utilizado por utilizadores individuais. Já as contract accounts são geridas por smart contracts, que executam lógica predefinida de modo automático.
O mecanismo de account abstraction implica atualizar as EOAs para funcionarem de forma semelhante às CA, concedendo assim aos smart contracts o controlo sobre contas de utilizador convencionais. Esta evolução permite criar wallets de smart contract, que aliam a flexibilidade da lógica programável à funcionalidade das contas de utilizador. O resultado é uma melhoria notável na gestão das contas, proporcionando aos utilizadores um grau de controlo e personalização sem precedentes nas suas operações on-chain.
A comunidade Ethereum reconheceu o valor da account abstraction devido à sua abordagem abrangente para simplificar a gestão de contas. Esta tecnologia resolve diversos obstáculos que tradicionalmente dificultavam a experiência dos utilizadores da blockchain, tornando as interações na Ethereum mais intuitivas e acessíveis.
Destaca-se a flexibilidade acrescida nas operações on-chain. As EOAs tradicionais impõem processos rígidos para cada transação, obrigando à observância de protocolos estritos. Com a account abstraction, estas limitações desaparecem, permitindo soluções mais dinâmicas e user-friendly. Por exemplo, é possível agrupar múltiplas transações, reduzindo aprovações e simplificando tarefas complexas.
Em termos de segurança, a account abstraction permite que cada utilizador implemente protocolos personalizados, ajustados às suas necessidades. Isto pode incluir autorizações multi-assinatura, recuperação social ou transações com bloqueio temporal. Tais mecanismos reforçam a proteção contra acessos indevidos, sem perder controlo sobre as contas. Adicionalmente, elimina-se o tradicional ponto único de falha, característica das contas convencionais, onde a perda de uma chave privada implica a perda definitiva dos fundos.
A implementação da account abstraction em Ethereum resultou de várias propostas evolutivas, cada uma baseada nas aprendizagens de tentativas anteriores. Conhecer este percurso é essencial para compreender a relevância das soluções atuais, nomeadamente da EIP-4337.
A ideia surgiu inicialmente com a EIP-2938, que propunha dotar as contract accounts de capacidade para operar como contas 'top-level', podendo pagar taxas e iniciar transações autonomamente. Era uma rutura face ao modelo tradicional, onde apenas as EOAs desencadeavam transações. Contudo, a proposta exigia alterações profundas no protocolo Ethereum, colocando em causa a estabilidade da rede.
A EIP-3074 apresentou uma alternativa, sugerindo dois novos OpCodes: AUTH e AUTHCALL. Estes permitiriam às EOAs delegar autoridade de execução a contratos, dotando-as de algumas características de contract accounts. Apesar da inovação, a proposta implicava mudanças na camada de consenso, levando ao adiamento enquanto se procuravam soluções menos disruptivas.
A EIP-4337 marcou o ponto de viragem ao propor account abstraction sem alterações na camada de consenso, tornando a sua implementação muito mais viável. O grande avanço reside na introdução de uma nova lógica operacional focada em user operations (user ops) e numa memória dedicada, criando um sistema de processamento paralelo que coexiste com a infraestrutura tradicional.
O principal fator diferenciador da EIP-4337 face a propostas anteriores reside na complexidade de implementação e no impacto sobre a rede. A EIP-3074, embora inovadora, exigia a inclusão de novos OpCodes a nível do protocolo, obrigando a mudanças de consenso potencialmente arriscadas e sujeitas a hard forks controversos em caso de problemas.
Em contraste, a EIP-4337 introduz account abstraction por via de componentes em camadas superiores, sem alterar o núcleo do protocolo. Esta estratégia reduz riscos e assegura compatibilidade com as funcionalidades existentes. Elementos como bundlers e entry point contracts operam dentro da arquitetura vigente, facilitando o lançamento e manutenção, e justificando o amplo apoio da comunidade Ethereum à EIP-4337.
A EIP-4337 concretiza a account abstraction através de um ecossistema articulado de componentes, cada um com funções bem definidas no ciclo das transações. Conhecer estes elementos e as suas interações é fundamental para perceber como a EIP-4337 atinge os seus objetivos.
As UserOperations são a base do sistema, representando intenções de transação criadas pelos utilizadores. Ao contrário das transações convencionais, estas incluem toda a informação necessária para execução mas não são enviadas diretamente para a blockchain, sendo processadas numa via especializada com vários intervenientes e etapas de validação.
O Entry Point é o contrato de coordenação central, responsável por executar transações agrupadas que consolidam múltiplas user operations. Este contrato assegura a validação e execução seguras, garantindo que todas as operações cumprem os requisitos antes do processamento. O Entry Point funciona como interface de confiança para todas as interações de account abstraction.
Os bundlers são novos intervenientes na rede, encarregues de recolher user operations, validá-las e agrupá-las em pacotes de transações eficientes. São comparáveis aos relayers tradicionais, mas com capacidades específicas para account abstraction. A sua missão passa por validar e ordenar as operações, maximizando eficiência e garantindo a validade de todas as operações incluídas no momento da execução.
Os contratos de wallet definem a lógica de controlo das contas. Determinam como se valida a assinatura, quais as políticas de segurança e como se executam as transações. A flexibilidade dos smart contracts permite criar wallets altamente personalizadas, com funcionalidades que não são possíveis em EOAs convencionais.
As wallet factories facilitam a criação de novas wallets de smart contract, recorrendo a mecanismos de implementação padronizados e endereços determinísticos (via create2), reduzindo custos e complexidade.
Os aggregators otimizam a validação de assinaturas, ao combinar múltiplas assinaturas numa única verificação, o que reduz drasticamente o custo de gas em transações multi-aprovação. Os bundlers recorrem apenas a aggregators de confiança, de acordo com listas brancas, para garantir segurança no processo.
Os paymasters revolucionam o pagamento de gas, permitindo que taxas de transação sejam pagas com tokens distintos de ETH ou que terceiros patrocinem integralmente a operação, eliminando um dos maiores entraves à adoção: a necessidade de possuir tokens nativos para pagar fees.
No âmbito da EIP-4337, o processamento das transações segue uma sequência rigorosa, desenhada para garantir segurança e permitir funcionalidades avançadas. O processo distingue-se claramente do sistema tradicional, introduzindo novos intervenientes e mecanismos de validação concertados para processar as intenções dos utilizadores com eficiência.
Tudo começa quando o titular da conta cria um objeto UserOperation, onde consta toda a informação necessária para a execução: endereço do remetente, parâmetros de gas (maxFeePerGas, maxPriorityFee), e a assinatura. O mecanismo de assinatura é definido pela implementação da conta e não pelo protocolo, o que permite autenticação flexível — desde ECDSA tradicional a multi-assinatura ou biometria.
Depois de criada, a UserOperation é enviada para uma memória dedicada, distinta do mempool tradicional. Esta separação permite lidar de forma diferenciada com as transações de account abstraction, sem perturbar o processamento clássico. Assim, os bundlers podem selecionar e agrupar operações para execução de forma eficiente.
Os bundlers, enquanto validadores especializados, monitorizam a memória de user operations para recolher novas submissões. Ao selecionar operações para agrupar, consideram variáveis como preço do gas, complexidade da execução e possíveis interações. O objetivo é maximizar o rendimento, assegurando que todas as operações agrupadas são executáveis.
Após reunir um pacote otimizado, o bundler envia as user operations agrupadas numa transação dirigida ao contrato Entry Point. Se também for block builder, pode incluir diretamente a transação num bloco. Caso contrário, pode recorrer a infraestruturas como mev-boost, proposer-builder separation (PBS) ou APIs RPC experimentais, o que garante a participação de diversos agentes na rede.
Ao receber um pacote de user operations, o contrato Entry Point inicia um processo de validação rigoroso, assegurando que cada operação é legítima e executável. A função validateUserOp, que cada smart contract wallet deve implementar, verifica a assinatura segundo a lógica específica da wallet e valida todas as condições prévias necessárias.
Os bundlers gerem proactivamente as suas relações com contratos Entry Point, mantendo listas brancas de implementações de confiança. Isto assegura que apenas processam operações para Entry Points seguros, protegendo-se contra lógica maliciosa ou defeituosa. A validação constitui um filtro de segurança essencial, prevenindo o consumo indevido de recursos ou o comprometimento de contas.
Após validação positiva, inicia-se a execução: o Entry Point aciona a função executeUserOp em cada smart contract wallet relevante, ativando a lógica de transação pretendida pelo utilizador (transferência de tokens, interação com DApps ou operações multi-etapa).
O bundler reúne todas as operações numa única transação, recorrendo à função handleOps do Entry Point. Esta abordagem consolidada melhora significativamente a eficiência face ao processamento individual. Após inclusão e confirmação no bloco, todas as user operations do pacote são executadas de forma atómica — ou todas têm sucesso, ou todas falham em conjunto. Esta atomicidade é crucial em operações complexas dependentes de múltiplas etapas bem-sucedidas.
Cada arquitetura de wallet tem vantagens e desvantagens próprias. As EOA são a solução tradicional, com baixo custo de criação e taxas reduzidas, mas sem funcionalidades como transações em lote, pagamento flexível de gas ou mecanismos de recuperação. A segurança depende integralmente da gestão da chave privada — um único ponto de falha que pode resultar em perda irreversível de acesso.
As wallets MPC (Multi-Party Computation) elevam a segurança ao distribuir a gestão de chaves entre várias partes. Continuam a ser tecnicamente EOAs, mas exigem colaboração para assinar transações, eliminando pontos únicos de falha. Trazem, contudo, maior complexidade na autorização off-chain e possíveis questões de transparência. São compatíveis com a infraestrutura blockchain clássica, mas limitadas em flexibilidade de transação e opções de gas.
As wallets AA, alicerçadas na account abstraction e soluções como a EIP-4337, são as mais avançadas, recorrendo a contract accounts com lógica programável. Implicam custos e taxas superiores às EOAs, mas oferecem flexibilidade incomparável: permitem pagar gas em várias moedas (incluindo stablecoins ou tokens patrocinados por terceiros), executar transações em lote e implementar políticas de segurança e recuperação adaptadas ao perfil do utilizador.
Além disso, as AA wallets suportam múltiplos esquemas criptográficos, superando o ECDSA clássico. O utilizador deixa de ter de gerir chaves privadas diretamente, podendo recorrer a mecanismos programáveis de recuperação. Esta combinação faz das AA wallets a opção mais segura e fácil de usar, embora exijam auditoria e maturação do ecossistema para exploração plena do seu potencial.
A EIP-3074 e a EIP-4337 partilham o objetivo de introduzir account abstraction em Ethereum, mas divergem profundamente na estratégia e arquitetura. A EIP-3074 recorre à introdução de novos OpCodes no protocolo, permitindo que EOAs deleguem autoridade a contratos — uma via que traz oportunidades, mas também desafios que conduziram ao seu adiamento, enquanto a EIP-4337 emergiu como solução de referência.
O modelo de delegação da EIP-3074 permite que EOAs já existentes adquiram capacidades de smart contract sem necessidade de implementação de novos contratos, trazendo benefícios imediatos a uma base alargada de utilizadores. Os OpCodes AUTH e AUTHCALL criam uma estrutura flexível para programadores desenvolverem esquemas inovadores, como trading em lote e pagamentos flexíveis de gas.
O padrão de contrato invoker da EIP-3074 permite intermediação trustless, aceitando pagamentos em diferentes tokens e eliminando a dependência do ETH para taxas de gas. Qualquer EOA pode funcionar como smart contract wallet sem implementação adicional, reduzindo custos e complexidade para quem procura funcionalidades avançadas.
Os desafios da EIP-3074 advêm sobretudo da necessidade de alterações na camada de consenso, implicando hard forks e riscos de instabilidade caso surjam problemas. O ecossistema Ethereum tornou-se mais avesso a estas mudanças, preferindo soluções compatíveis com a arquitetura existente — como é o caso da EIP-4337.
Uma limitação importante é o modelo fixo de assinatura (ECDSA), que impede a adoção de esquemas mais eficientes ou robustos, como Schnorr ou soluções pós-quânticas. Com a evolução dos standards criptográficos, esta restrição poderá tornar-se um entrave crescente, enquanto a EIP-4337 já suporta esquemas flexíveis desde a génese.
A EIP-5003 desenvolve o conceito da EIP-3074, introduzindo o OpCode AUTHUSURP para superar limitações anteriores. Este OpCode permite implementar código de contrato em endereços anteriormente controlados por EOAs, convertendo-as em contract accounts.
Em articulação com a EIP-3607, que impede implementação de código em endereços com nonce existente, a EIP-5003 viabiliza a migração de EOAs para contract accounts. Após autorização ao abrigo da EIP-3074, o endereço autorizado pode usar AUTHUSURP para implementar código no endereço original, revogando a autoridade da chave inicial e completando a transição.
Esta evolução permite a migração de EOAs para esquemas de assinatura avançados, como multi-assinatura ou recuperação social, mantendo o histórico e a identidade na blockchain. No entanto, a EIP-5003 continua dependente de alterações na camada de consenso, com os desafios daí decorrentes. Enquanto solução de futuro, poderá integrar-se com a framework da EIP-4337, mas o foco imediato da comunidade está na implementação desta última, por dispensar alterações ao protocolo e oferecer uma solução abrangente.
A EIP-4337 representa uma transformação de fundo para Ethereum, ao resolver desafios históricos de usabilidade e segurança que limitavam a adoção generalizada. Ao separar a origem das transações da assinatura e transferir o controlo das contas de utilizador para smart contracts, a EIP-4337 oferece flexibilidade inédita nas interações com a blockchain. Componentes como bundlers, entry point contracts e paymasters criam uma infraestrutura sofisticada, que mantém a segurança ao mesmo tempo que eleva drasticamente a experiência de utilização.
A ausência de alterações na camada de consenso minimiza riscos de implementação e garante estabilidade, enquanto os utilizadores beneficiam de opções de segurança reforçadas, mecanismos flexíveis de pagamento de gas e lógica de conta personalizada. Estas inovações reduzem substancialmente as barreiras para não especialistas, acelerando a adoção do blockchain junto do público em geral.
À medida que Ethereum evolui, a account abstraction via EIP-4337 consolida-se como motor da próxima fase de crescimento. A integração da EIP-4337 em wallets e aplicações está a transformar progressivamente a experiência dos utilizadores, tornando-a mais intuitiva, segura e acessível. Esta inovação confirma o compromisso da Ethereum com a melhoria contínua e o design centrado no utilizador, preparando a rede para uma adoção mais ampla e consolidando a sua segurança e descentralização.
A EIP-4337 implementa account abstraction em Ethereum, permitindo separar a assinatura da execução das transações. Utiliza objetos UserOperation e um contrato global entry point para transações agrupadas, melhorando a segurança e a eficiência do processamento na rede.
A EIP-4337 fornece um conjunto de ferramentas para construir funcionalidades de account abstraction, enquanto a EIP-7702 adapta estas funcionalidades para externally owned accounts já existentes.
O ERC-4337 é um standard Ethereum para account abstraction, permitindo contas baseadas em smart contract e uma gestão eficiente das transações, sem necessidade de alterar o protocolo.
Não, EIP e ERC não são equivalentes. EIP (Ethereum Improvement Proposal) abrange melhorias gerais da Ethereum, ao passo que ERC (Ethereum Request for Comment) define standards específicos para tokens.











