
Account abstraction constitui uma inovação disruptiva na gestão de contas individuais em Ethereum. Esta tecnologia resolve múltiplos obstáculos do sistema atual e reduz consideravelmente a barreira de entrada para utilizadores menos familiarizados com ativos digitais. Os principais benefícios passam pela dissociação da origem das transações das assinaturas digitais, conferindo maior flexibilidade à segurança das contas, graças à implementação do EIP-4337.
Para compreender account abstraction (AA), é fundamental distinguir os dois tipos de contas do Ethereum. As Externally Owned Accounts (EOA) são controladas por chaves privadas e frases-semente, enquanto as Contract Accounts (CA) funcionam via smart contracts. Account abstraction é o processo que separa as origens das transações das respetivas assinaturas, permitindo converter EOA em CA. Assim, os smart contracts passam a controlar as EOAs, viabilizando a criação de smart contract wallets que melhoram substancialmente a experiência do utilizador e aumentam a flexibilidade na gestão de contas. O EIP-4337 define o quadro técnico desta transformação.
A utilidade da AA reside na sua capacidade de simplificar radicalmente a administração de contas. Esta tecnologia oferece flexibilidade acrescida para operações on-chain e habilita opções de segurança avançadas. Estas melhorias transformam a interação com o ecossistema Ethereum, eliminando diversos constrangimentos do sistema tradicional.
O desenvolvimento da account abstraction foi marcado por várias Ethereum Improvement Proposals (EIP). O EIP-2938 propôs criar contas CA “de alto nível” aptas a pagar taxas e executar transações. Por sua vez, o EIP-3074 introduziu dois novos OpCodes (AUTH e AUTHCALL), permitindo que as EOAs utilizem contratos, delegando operações e possibilitando aos developers criar objetos de transação com maior flexibilidade.
O EIP-4337 é a solução mais recente, ao introduzir o user operation mempool que substitui o mempool de transações tradicional. Embora a AA tenha sido inicialmente referida nos EIP-2938 e EIP-3074, ambos foram suspensos devido à exigência de alterações profundas ao protocolo Ethereum. Com o EIP-4337, a AA torna-se exequível sem necessidade de modificar o protocolo.
Face às abordagens anteriores, o EIP-4337 apresenta vantagens claras. Enquanto o EIP-3074 exigia novos códigos de operação e alterações substanciais à camada de consenso, o EIP-4337 implementa AA sem estas modificações complexas, evitando os riscos associados a alterações profundas ao protocolo.
O EIP-4337 introduz vários componentes estruturantes que permitem a account abstraction. Entre os elementos fundamentais encontram-se:
O processo inicia-se quando o utilizador cria uma user operation com toda a informação necessária para enviar uma transação. Esta operação é enviada ao bundler, que agrega múltiplas operações numa transação única. O bundler transfere a transação para o contrato entry point, que identifica e valida as user operations associadas às smart contract wallets. Após validação, as wallets executam a função ExecuteUserOp para concluir as transações. Este workflow do EIP-4337 otimiza o processo na sua totalidade.
O fluxo de transação com EIP-4337 decorre em quatro fases principais:
Na iniciação, a conta cria uma user operation com dados relativos ao endereço do remetente, incluindo ‘maxFeePerGas’ e ‘maxPriorityFee’. Cada operação é enviada para um mempool dedicado.
Na submissão, os validadores agrupam user operations num mempool distinto. O bundler, como construtor de blocos ou em colaboração com infraestrutura de construção de blocos, agrega operações ao bloco enquanto as transações do entry point permanecem válidas.
Na fase de identificação, as operações são transmitidas ao contrato entry point, que executa os bundles. O bundler utiliza a função validateUserOp para validar assinaturas e, uma vez concluída, coloca o contrato entry point em whitelist.
Por fim, a execução é finalizada através da smart contract wallet que implementa a função ExecuteUserOp. Os bundlers agrupam objetos de operação numa transação e acionam a função handleOps do contrato EntryPoint, incluindo a transação no bloco. Este processo evidencia a abrangência do EIP-4337.
As diferenças entre os três principais tipos de crypto wallets são significativas. As wallets EOA e MPC utilizam contas externas, ao passo que as AA recorrem a contract accounts. Em custos, as wallets EOA e MPC apresentam valores reduzidos de criação e taxas de gas, enquanto as AA suportam custos superiores.
Quanto ao pagamento de gas, EOA e MPC apenas permitem pagamentos singulares, enquanto AA oferece flexibilidade para efetuar pagamentos em várias moedas e aceitar tokens de terceiros. As transações em lote não existem nas EOA e MPC, sendo uma característica central das AA.
Relativamente aos métodos de assinatura, EOA e MPC utilizam exclusivamente ECDSA, enquanto AA suporta diversos métodos. A gestão de chaves privadas é obrigatória nas EOA e MPC, mas dispensada nas AA, que também asseguram recuperação de wallet.
A segurança apresenta variações marcantes: EOA não oferece padrões robustos, MPC permite recuperação offline em dispositivos fidedignos e AA alcança segurança ao nível da cadeia após implementação do EIP-4337. Na compatibilidade de ecossistema, EOA têm forte integração, MPC são limitados e AA apresentam compatibilidade moderada.
O EIP-3074 apresenta características específicas, com vantagens e desvantagens. Entre as vantagens, destaca-se a possibilidade de delegar o controlo da EOA a um contrato, permitindo aos developers desenvolver esquemas inovadores como trading em lote, trading agrupado ou pagamento flexível de gas. Além disso, utiliza contratos invocadores que aceitam pagamentos em tokens diferentes de ETH, funcionando como intermediários entre patrocinadores e beneficiários. Importa referir que qualquer EOA pode funcionar como smart contract wallet sem necessidade de deployment de contrato.
No entanto, o EIP-3074 possui desvantagens relevantes. O principal motivo para a sua menor aceitação pela comunidade Ethereum é exigir alterações à camada de consenso, potencialmente obrigando a um hard fork para resolver eventuais problemas. Ainda que permita funcionalidades CA nas EOAs, mantém a assinatura ECDSA fixa, impedindo o uso de assinaturas arbitrárias e limitando a flexibilidade do sistema. É aqui que o EIP-4337 se revela superior.
O EIP-5003 representa uma evolução das ideias do EIP-3074. Esta proposta introduz o OpCode AUTHUSURP, que implementa código em endereços autorizados segundo o EIP-3074. Em articulação com o EIP-3607, o EIP-5003 revoga a autoridade da chave de assinatura original das EOAs.
O funcionamento é o seguinte: quando uma EOA autoriza outro endereço a atuar em seu nome (conforme EIP-3074), o OpCode AUTHUSURP permite a este segundo endereço configurar os códigos da EOA. Assim, uma EOA existente pode ser atualizada para CA, migrando de assinaturas ECDSA para métodos mais eficientes e seguros, complementando o quadro do EIP-4337.
A account abstraction através do EIP-4337 representa um progresso crucial na evolução do Ethereum rumo à adoção generalizada. Esta inovação resolve múltiplos obstáculos da gestão tradicional de contas, oferecendo vantagens como opções de segurança reforçadas e flexibilidade no pagamento de gas. Estas melhorias reduzem substancialmente a barreira de entrada para utilizadores que pretendam interagir com o ecossistema Ethereum.
A implementação do EIP-4337 marca um ponto de viragem na democratização do acesso às criptomoedas. Ao permitir a criação de smart contract wallets sem alterações profundas ao protocolo Ethereum, esta solução alia inovação a estabilidade. Os utilizadores beneficiam de funcionalidades avançadas como transações em lote, recuperação de wallet e métodos flexíveis de assinatura, mantendo os padrões de segurança e fiabilidade da blockchain Ethereum.
A evolução das propostas, do EIP-3074 ao EIP-5003, evidencia o compromisso da comunidade Ethereum com a inovação e o aperfeiçoamento contínuo. À medida que mais plataformas integram estas tecnologias, em especial o EIP-4337, prevê-se uma experiência de utilizador cada vez mais sofisticada e acessível no universo das criptomoedas. O futuro da account abstraction é promissor, com o EIP-4337 a ganhar tração em plataformas e aplicações descentralizadas, tornando a tecnologia blockchain mais acessível ao público em geral.
O EIP-4337 introduz account abstraction no Ethereum, permitindo aos utilizadores criar contract accounts para gerir transações. Separa a verificação da inclusão de transações, promovendo eficiência e segurança.
O EIP 4337 é um conjunto de ferramentas para a implementação de funcionalidades de account abstraction, ao passo que o EIP 7702 adapta estas funcionalidades para contas externas (EOA) já existentes.
O ERC-4337 é um padrão Ethereum para account abstraction, permitindo smart contract wallets sem alterações ao protocolo. Melhora a experiência do utilizador e a segurança nas interações com a blockchain.
Não, EIP e ERC não são equivalentes. EIP significa Ethereum Improvement Proposal; ERC significa Ethereum Request for Comment. Os ERC constituem um subconjunto dos EIP, focalizando padrões de aplicações.











