Os primeiros 3 cursos nos levam de volta ao desenvolvimento de carteiras criptografadas e apontam alguns desafios e preocupações com diversas soluções de carteira web3, particularmente em termos do ponto único de falha da EOA, multi-sig e limitações da carteira MPC na reatribuição de delegadores. Além disso, os usuários do web3 exigem um ambiente amigável ao desenvolvedor que permita aos desenvolvedores criar facilmente soluções para atender às diversas demandas do cenário web3 em rápida evolução. Limitados pela lógica de transação do EOA no Ethereum, os desenvolvedores acharam difícil estender sua funcionalidade e atender aos requisitos mais complexos dos DApps. É aqui que entra a Abstração de Conta. Antes de mergulharmos na Abstração de Conta para entender por que ela é geralmente considerada um avanço fundamental na adoção em massa da web3, precisamos comparar um ciclo de vida típico de uma transação com EOA e com melhorias de AA no Ethereum.
A Rede Ethereum permite apenas que uma EOA (Conta de Propriedade Externa) inicie uma transação com ECDSA como assinatura, e esta transação assinada é enviada ao Mempool em cada nó da rede para processamento. Após informações como correspondência de assinatura, saldo suficiente, gás suficiente e nonce serem confirmadas pela maioria dos nós, o EVM inicia a execução da transação.
No gráfico acima, podemos ver que cinco partes emolduradas em vermelho estão codificadas na Rede Ethereum e não podem ser alteradas de forma alguma. Consequentemente, os desenvolvedores devem começar do zero se introduzirem novas funcionalidades, como a implementação de multissinal usando métodos criptográficos. Existe uma maneira de fornecer aos desenvolvedores um ambiente de desenvolvimento simples sem alterar o mecanismo da rede Ethereum? Um grupo de desenvolvedores fez uma proposta para o EIP-4337, que agora é conhecido como ERC-4337, para que isso aconteça. ERC-4337 traz novas funções ao Ethereum para torná-lo mais programável, o que chamamos de Abstração de Conta no Ethereum. (AA em resumo)
*EIP significa Proposta de Melhoria Ethereum, que pode ser feita por qualquer membro da comunidade Ethereum para alterar ou melhorar a Rede Ethereum, enquanto ERC são padrões para a Rede Ethereum, apenas EIP adotado pela comunidade pode ser chamado de ERC.
O ciclo de vida típico de uma transação no ERC-4337 é assim:
No contexto de AA, podemos simplesmente ver o empacotador assumindo o papel do EOA original (na verdade, o empacotador é um EOA) para empacotar UserOperations em um Bundle, que corresponde às transações originais no Mempool. O UO é personalizável, permitindo uma ampla variedade de tipos de assinaturas. Apenas os Bundles verificados na camada de consenso são enviados ao EVM para validação específica de cada UO por Ponto de Entrada e execução dos contratos relevantes. Após a verificação do Entry Point, é iniciada a execução do contrato específico, que é dividido em três módulos:
Portanto, se compararmos as etapas de início de transações na forma original e aquelas sob AA, não é difícil observar que, embora mantendo o mecanismo da camada de consenso, novos módulos como UserOperation, Bundler e EntryPoint foram introduzidos, aumentando a possibilidade de implementar mais funções.
fonte:https://www.erc4337.io/docs/understanding-ERC-4337/architecture_
Para os desenvolvedores, o AA permite mais flexibilidade na introdução de novas funções e, para os usuários, operações que se alinham aos produtos web2.
Existem 5 direções principais que as carteiras AA estão explorando:
Diferentes usuários podem receber privilégios de acesso específicos. Por exemplo, a Conta A está autorizada a gerenciar a carteira, com um limite máximo mensal de US$ 100 para uso.
A escassez de carteiras AA que oferecem funcionalidade de múltiplas assinaturas não se deve a limitações tecnológicas. Em vez disso, decorre do fato de a Safe ter dominado a maior parte da participação de mercado neste domínio. Consequentemente, outros fornecedores de carteiras estão a redireccionar os seus esforços para capturar o mercado de carteiras individuais.
*As carteiras podem adicionar mais funções posteriormente. Última atualização em 3 de novembro de 2023
Os primeiros 3 cursos nos levam de volta ao desenvolvimento de carteiras criptografadas e apontam alguns desafios e preocupações com diversas soluções de carteira web3, particularmente em termos do ponto único de falha da EOA, multi-sig e limitações da carteira MPC na reatribuição de delegadores. Além disso, os usuários do web3 exigem um ambiente amigável ao desenvolvedor que permita aos desenvolvedores criar facilmente soluções para atender às diversas demandas do cenário web3 em rápida evolução. Limitados pela lógica de transação do EOA no Ethereum, os desenvolvedores acharam difícil estender sua funcionalidade e atender aos requisitos mais complexos dos DApps. É aqui que entra a Abstração de Conta. Antes de mergulharmos na Abstração de Conta para entender por que ela é geralmente considerada um avanço fundamental na adoção em massa da web3, precisamos comparar um ciclo de vida típico de uma transação com EOA e com melhorias de AA no Ethereum.
A Rede Ethereum permite apenas que uma EOA (Conta de Propriedade Externa) inicie uma transação com ECDSA como assinatura, e esta transação assinada é enviada ao Mempool em cada nó da rede para processamento. Após informações como correspondência de assinatura, saldo suficiente, gás suficiente e nonce serem confirmadas pela maioria dos nós, o EVM inicia a execução da transação.
No gráfico acima, podemos ver que cinco partes emolduradas em vermelho estão codificadas na Rede Ethereum e não podem ser alteradas de forma alguma. Consequentemente, os desenvolvedores devem começar do zero se introduzirem novas funcionalidades, como a implementação de multissinal usando métodos criptográficos. Existe uma maneira de fornecer aos desenvolvedores um ambiente de desenvolvimento simples sem alterar o mecanismo da rede Ethereum? Um grupo de desenvolvedores fez uma proposta para o EIP-4337, que agora é conhecido como ERC-4337, para que isso aconteça. ERC-4337 traz novas funções ao Ethereum para torná-lo mais programável, o que chamamos de Abstração de Conta no Ethereum. (AA em resumo)
*EIP significa Proposta de Melhoria Ethereum, que pode ser feita por qualquer membro da comunidade Ethereum para alterar ou melhorar a Rede Ethereum, enquanto ERC são padrões para a Rede Ethereum, apenas EIP adotado pela comunidade pode ser chamado de ERC.
O ciclo de vida típico de uma transação no ERC-4337 é assim:
No contexto de AA, podemos simplesmente ver o empacotador assumindo o papel do EOA original (na verdade, o empacotador é um EOA) para empacotar UserOperations em um Bundle, que corresponde às transações originais no Mempool. O UO é personalizável, permitindo uma ampla variedade de tipos de assinaturas. Apenas os Bundles verificados na camada de consenso são enviados ao EVM para validação específica de cada UO por Ponto de Entrada e execução dos contratos relevantes. Após a verificação do Entry Point, é iniciada a execução do contrato específico, que é dividido em três módulos:
Portanto, se compararmos as etapas de início de transações na forma original e aquelas sob AA, não é difícil observar que, embora mantendo o mecanismo da camada de consenso, novos módulos como UserOperation, Bundler e EntryPoint foram introduzidos, aumentando a possibilidade de implementar mais funções.
fonte:https://www.erc4337.io/docs/understanding-ERC-4337/architecture_
Para os desenvolvedores, o AA permite mais flexibilidade na introdução de novas funções e, para os usuários, operações que se alinham aos produtos web2.
Existem 5 direções principais que as carteiras AA estão explorando:
Diferentes usuários podem receber privilégios de acesso específicos. Por exemplo, a Conta A está autorizada a gerenciar a carteira, com um limite máximo mensal de US$ 100 para uso.
A escassez de carteiras AA que oferecem funcionalidade de múltiplas assinaturas não se deve a limitações tecnológicas. Em vez disso, decorre do fato de a Safe ter dominado a maior parte da participação de mercado neste domínio. Consequentemente, outros fornecedores de carteiras estão a redireccionar os seus esforços para capturar o mercado de carteiras individuais.
*As carteiras podem adicionar mais funções posteriormente. Última atualização em 3 de novembro de 2023