ERC-4337: Revolucionando o Ethereum com Abstração de Conta
Olá e bem‑vindo de volta ao nosso blog de blockchain! Hoje, vamos mergulhar em uma proposta empolgante chamada ERC-4337, que introduz a abstração de conta ao Ethereum sem exigir mudanças no protocolo da camada de consenso. Em vez disso, essa proposta depende de infraestrutura de camada superior para alcançar seus objetivos. Vamos explorar o que o ERC-4337 tem a oferecer e como ele resolve as limitações do ecossistema Ethereum atual.
O que é ERC-4337?
ERC-4337 é uma proposta que introduz a abstração de conta ao Ethereum por meio do uso de um mempool separado e de um novo tipo de objeto pseudo‑transação chamado UserOperation. Usuários enviam objetos UserOperation para o mempool alternativo, onde uma classe especial de atores chamada bundlers os empacota em uma transação que faz uma chamada handleOps a um contrato dedicado. Essas transações são então incluídas em um bloco.
A proposta visa alcançar vários objetivos:
- Permitir que os usuários utilizem carteiras de contrato inteligente com lógica de verificação arbitrária como suas contas principais.
- Eliminar completamente a necessidade de contas externamente possuídas (EOAs).
- Garantir descentralização ao permitir que qualquer bundler participe do processo de inclusão de operações de usuário abstraídas.
- Permitir que toda a atividade ocorra em um mempool público, eliminando a necessidade de os usuários conhecerem endereços de comunicação direta de atores específicos.
- Evitar suposições de confiança nos bundlers.
- Evitar a necessidade de alterações no consenso do Ethereum para uma adoção mais rápida.
- Suportar outros casos de uso, como aplicações que preservam privacidade, operações atômicas múltiplas, pagamento de taxas de transação com tokens ERC‑20 e transações patrocinadas por desenvolvedores.
Compatibilidade Retroativa
Como o ERC-4337 não altera a camada de consenso, não há problemas diretos de compatibilidade retroativa para o Ethereum. Contudo, contas pré‑ERC‑4337 não são facilmente compatíveis com o novo sistema porque carecem da função validateUserOp necessária. Isso pode ser resolvido criando uma conta compatível com ERC‑4337 que re‑implementa a lógica de verificação como um wrapper e definindo‑a como o remetente de operação confiável da conta original.
Implementação de Referência
Para quem deseja aprofundar nos detalhes técnicos do ERC‑4337, uma implementação de referência está disponível em https://github.com/eth-infinitism/account-abstraction/tree/main/contracts.
Considerações de Segurança
O contrato de ponto de entrada para o ERC‑4337 deve ser amplamente auditado e formalmente verificado, pois serve como ponto central de confiança para todo o sistema. Embora essa abordagem reduza a carga de auditoria e verificação formal para contas individuais, ela concentra o risco de segurança no contrato de ponto de entrada, que deve ser robustamente verificado.
A verificação deve cobrir duas reivindicações principais:
- Segurança contra sequestro arbitrário: o ponto de entrada só chama uma conta genericamente se validateUserOp para essa conta específica tiver sido aprovado.
- Segurança contra drenagem de taxas: se o ponto de entrada chamar validateUserOp e passar, ele também deve fazer a chamada genérica com calldata igual a op.calldata.
Conclusão
ERC‑4337 é uma proposta empolgante que visa introduzir a abstração de conta ao Ethereum sem exigir mudanças no protocolo da camada de consenso. Ao usar infraestrutura de camada superior, abre novas possibilidades para descentralização, flexibilidade e diversos casos de uso. Embora existam considerações de segurança a serem abordadas, essa proposta tem o potencial de melhorar significativamente o ecossistema Ethereum e a experiência do usuário.