Escrito por Calvin e Thomas
No sempre-evoluente reino de Web3, um conceito importante está gerando um buzz notável dentro da comunidade de criptomoedas, pronto para desencadear uma onda de novos adeptos. Essa inovação 'transformadora' não é outra senão a Abstração de Conta - um catalisador poderoso, redefinindo a própria essência de nossa interação com o Ethereum.
Os dias convencionais de Contas de Propriedade Externa (EOAs), exemplificados por carteiras populares como o MetaMask, nos quais os usuários suportam o ônus de proteger suas frases-semente privadas podem ter acabado. Abraçando os princípios do progresso e da inovação dentro do domínio criptográfico, a Abstração de Conta oferece uma alternativa para um engajamento Ethereum sem problemas.
A Abstração de Conta (AA) permite que os usuários embarquem em uma jornada onde a experiência centrada no usuário assume importância primordial, e a segurança inexpugnável se torna a pedra angular. AA busca desmantelar as limitações das práticas antiquadas ao mesmo tempo que fortalece a santidade dos ativos para entusiastas experientes e usuários novatos avessos ao risco.
Existem dois tipos de contas no Ethereum hoje:
Contas de Propriedade Externa (EOAs)
Contas de Contrato (CAs)
O gráfico abaixo destaca algumas das diferenças principais entre EOAs e CAs:
Conforme mencionado, EOAs são contas geradas usando software de carteira como MetaMask ou Rainbow, que são gerenciadas por suas respectivas chaves públicas e privadas. Tais contas têm capacidades relativamente limitadas, pois seu uso normalmente não excede a iniciação de transações e o pagamento de taxas de gás.
Abaixo está um diagrama de alto nível apresentando o fluxo de transações ERC-4337:
a. A operação do usuário é exibida ao usuário
b. O usuário é solicitado a assinar
c. A operação do usuário é enviada a um Bundler
a. O Bundler verifica UserOperation: i. via o EntryPoint
b. UserOperation is added to the alternative mempool
c. O construtor de blocos adiciona um bloco à blockchain
Abaixo está um diagrama detalhado apresentando o fluxo de transação ERC-4337:
Imagem do 'Rethink Digital Transactions with Account Abstraction' da Visa
Alguns dos termos acima podem ser desconhecidos até mesmo para usuários nativos de criptomoedas, já que são conceitos nativos da Abstração de Conta, introduzidos via ERC-4337. Agora discutiremos esses novos termos e conceitos que diferenciam AA do padrão EOA atual.
UserOperation (UserOp) é um objeto de pseudo-transação que representa a intenção de transação desejada de um usuário. As UserOperations não são tecnicamente transações, embora possam ser referidas como uma “transação ERC-4337.”
§ UserOperation Mempool: Um mempool especificamente para UserOperations. Consiste em uma rede peer-to-peer sem permissão onde os nós usam lógica para determinar se o UserOp será enviado aos pares. Esta é uma nova etapa (em comparação com o mempool tradicional) para um UserOp antes de ser incluído na cadeia de blocos.
§ As UserOps que usam apenas Paymasters e/ou Agregadores na lista branca são colocadas em um mempool alternativo, onde Bundlers que suportam os Paymasters/Aggregators na lista branca podem usar UserOps do mempool alternativo. UserOps dos mempools principal e alternativo podem ser agrupados juntos.
Agrupador
Bundlers agrupam várias operações de usuário juntas e enviam esse pacote para execução através do EntryPoint. Este evento parece uma transação de contrato inteligente EOA, mas neste caso o endereço “de” é o Bundler e o endereço “para” é o contrato EntryPoint.
Os UserOps são escolhidos pelos Bundlers com base na priorização de taxas; a mesma lógica que os construtores de blocos do Ethereum usam hoje. Como os Bundlers são os remetentes, eles são responsáveis por pagar a taxa de gás, mas são compensados através das taxas de execução individuais do UserOp.
Os Bundlers são os nós que enviam uma UserOperation na cadeia. Existem bundlers públicos e privados, cada um cumprindo a mesma função, mas agrupando UserOps de diferentes fontes. Os bundlers públicos recebem UserOperations de todas as fontes não verificadas de forma descentralizada, o que exige que eles passem por um processo de filtragem para rejeitar transações com potencial prejudicial. Em particular, eles são cruciais na prevenção de ataques de Negação de Serviço (DoS) por meio do gerenciamento da reputação dos mestres de pagamento. As funções dos bundlers públicos têm um custo, seja em termos de computação, gás ou armazenamento, para funcionar corretamente.
Por outro lado, os agrupadores privados são agrupadores construídos apenas para agrupar as UserOperations de uma fonte específica. Por exemplo, um provedor de carteira pode construir agrupadores privados que aceitam apenas UserOperations de usuários dessa carteira. Esse método permite que alguns processos sejam contornados, resultando em custos de uso mais baixos para os usuários por meio da economia de taxas de gás. Além disso, os bundles privados podem proporcionar uma inclusão mais rápida na mempool, bem como a possibilidade de transações resistentes a MEV.
Pagador
Um mestre de pagamentos é responsável pelo patrocínio das taxas de gás para transações EVM via Abstração de Conta através do contrato EntryPoint. Os mestres de pagamentos também permitem o pagamento de taxas de gás em ERC-20, cartão de crédito, assinatura, etc., para que os usuários não precisem sacrificar a custódia ou manter Eth. A lógica da abstração de gás é definida pelo mestre de pagamentos e é implantada por dApps que desejam patrocinar as taxas de gás de seus usuários.
Desenvolvedores de DApp podem desejar usar um patrocinador porque patrocinar taxas de gás reduz a barreira para participar, tornando mais fácil adquirir mais usuários. Para que os desenvolvedores incorporem um patrocinador de patrocínio, eles devem definir as políticas sobre quais UserOps podem ser patrocinados. No entanto, o número de regras suportadas é totalmente determinado pelo provedor de patrocinadores.
Permitir o pagamento de gás em ERC-20 serve a um propósito semelhante: melhorar a experiência do usuário. A capacidade de pagar em stablecoins é mais atraente para um usuário em oposição a ativos mais voláteis como Eth. Ter que manter Eth em uma carteira para pagar taxas de gás não é propício para o crescimento de novos usuários, pois o processo de compra de Eth pode ser suficiente para impedir que usuários não nativos de criptomoedas continuem avançando.
Nota: O Paymaster também pode ser personalizado e operado, mas abaixo listamos alguns dos principais provedores de Paymaster.
Projetos Notáveis:
StackUp’s Plug-n-Play Paymaster
Alchemy’s Gerente de Gás
Pimlico’s Verificando Paymaster
Ponto de Entrada
O EntryPoint verifica e executa as UserOperations enviadas a ele pelo Bundler. Eles servem como o ponto de entrada que todas as carteiras de contrato inteligente compatíveis com ERC-4337 usam para transacionar na EVM. Isso pode ser mais adequadamente comparado a um único contrato de depósito de staking. A lógica usada pelas carteiras de contrato inteligente é simplificada ao usar um EntryPoint, abstraindo as funções complicadas do contrato inteligente para o EntryPoint em vez da carteira. Essencialmente, é o mecanismo de EntryPoint que permite que as carteiras funcionem como contratos inteligentes.
"...Dá aos provedores de infraestrutura de carteira mais opções para fornecer recursos inteligentes de carteira como recuperação de conta, multi-assinaturas nativas e cobertura de taxas de gás para usuários."
Carteiras
As carteiras estão na vanguarda da discussão sobre Abstração de Conta, pois têm uma conexão direta com o usuário e estão diretamente envolvidas em oferecer aos usuários da Web3 uma experiência mais segura e agradável. As Carteiras de Contrato Inteligente permitem que os usuários personalizem a maneira como gerenciam seus ativos, como torna possível através da Abstração de Conta.
Antes do ERC-4337, era necessário que os relayers de terceiros abstraíssem os detalhes de como e quando um EOA funciona, ou com AA-native Layer-2s como StarkNet ou ZKSync.
Comparação de Operação de Carteira
Podemos entender amplamente os projetos construindo no reino ERC 4337 nos seguintes buckets. Essas camadas trabalham em conjunto para cobrir a maioria das interações do usuário final com blockchain.
3.1 Camada de Interface do Usuário (UI)
A camada IU oferece principalmente os kits de ferramentas necessários para aproveitar a experiência aprimorada de UX que AA pode trazer para a web3. Esta é a camada na qual os usuários são integrados via endereço de e-mail, número de telefone, endereço da carteira ou perfil de mídia social. Além disso, os projetos que constroem nesta camada fornecem ferramentas para que os desenvolvedores de aplicativos permitam que os usuários criem sua própria carteira ("carteira incorporada") em seu aplicativo. Essas carteiras podem ser personalizadas para corresponder à marca do dApp e fornecer recursos adicionais.
Para ser considerada uma “carteira”, deve haver uma semelhança de UI. Os desenvolvedores conectam e/ou criam interfaces e aplicativos que permitem aos usuários interagir com contas de blockchain.
Criação de Carteira Inteligente Incorporada:
Uma vez que um usuário faz o login com o e-mail (senha única enviada para garantir que seja um endereço de e-mail funcional e ativo, evitando erros na comunicação com o cliente e garantindo que os dados do cliente sejam precisos), uma carteira incorporada é criada para eles, um par de chaves é gerado para essa carteira. O par de chaves é então usado para gerar uma carteira de contrato inteligente que utiliza a chave privada como proprietário. Em essência, você usa a chave privada da carteira incorporada para controlar uma carteira inteligente mais sofisticada.
A carteira resultante é retornada como um provedor e pode ser interagida de forma semelhante a uma EOA, com a flexibilidade de definir coisas como patrocínio de gás como parte da inicialização da carteira
Mais especificamente, a Carteira (Conta) contém três componentes diferentes, cada um com sua própria função específica.
Contrato de Carteira: O contrato que representa a conta de um usuário
Wallet Deployer: O contrato que cria um contrato de carteira
Software da Carteira: A UX que envia Operações do Usuário para os nós (Agrupador)
Projetos notáveis:
Rede de Partículas, Privy, Dinâmico, Crossmint
3.2 Camada de Conta
A Camada de Conta pode ser dividida em duas subcamadas: Infraestrutura AA e Conta Inteligente.
A infraestrutura em AA refere-se aos componentes e mecanismos subjacentes que permitem que a Abstração de Contas ocorra. A função principal desta camada é fornecer serviços de Bundler, Paymaster e EntryPoint que interagem perfeitamente com os provedores de carteiras AA. Anteriormente, detalhamos como esses componentes se encaixam no fluxo de transações mais amplo de AA.
Projetos notáveis:
Alto Bundler (Pimlico)
Voltaire (Candide)
Skandha(Etherspot)
Projetos notáveis:
3.3 Camada Chave
A Camada Key contém infraestrutura de autenticação plugável para aplicativos Web3 e carteiras.
Formas alternativas de login e métodos de criação de carteira são um ponto focal das carteiras de Abstração de Conta. O login social e por e-mail são duas das formas de login destacadas esperadas para expandir a base de usuários da Web3 nos próximos anos, pois esses métodos podem simplificar o processo de integração com recursos semelhantes aos da Web2 para facilitar a transição deles para a Web3.
Quando um usuário faz login em um dApp usando uma conta de mídia social ou e-mail, provedores de autenticação como Particle e Web3Auth podem criar uma carteira para o referido usuário sem uma chave privada. Os provedores mencionados garantem essa segurança por meio de assinaturas baseadas em Computação Multi-Partes (MPC).
Os SDKs para esses recursos estão disponíveis para uso pelos provedores de autenticação para integração em seus dApps. Um passo necessário para implementar a Abstração de Conta em um dApp é o login social. Vamos discutir a relação entre o SDK do Web3Auth e um aplicativo integrador.
Quando um usuário aciona um login de um dos vários provedores de login (por meio de um aplicativo com Web3Auth integrado), um token de ID é enviado para o SDK Web3Auth. Esse token de ID é então passado para a Rede de Autenticação para validação e, em troca, a chave privada de um usuário é dividida em vários fragmentos, onde o usuário precisa apenas de 2 das partes da chave para recuperar sua chave privada.
Projetos Notáveis:
Melhor UX
Interagir com aplicativos em criptografia não é necessariamente uma tarefa simples. Se um usuário deseja usar vários aplicativos, pode haver até cinco etapas separadas envolvidas para concluir a função desejada. Mais importante, confiar em uma frase-semente de 12 palavras para manter o controle dos próprios fundos é uma concessão irracional às pessoas que desejam entrar no espaço quando a natureza já arriscada da criptografia é uma barreira assustadora. A Abstração de Conta permite a recuperação de fundos por meio de aplicativos de mídia social, e-mail, amigos e familiares, etc. Em outras palavras, perder a chave privada não é o fim de tudo.
Taxas mais baixas
Abstrações de conta permitem que os usuários paguem taxas em qualquer token suportado contratualmente ou até mesmo não paguem taxas. Conforme descrito no gráfico acima, com um EOA, os usuários devem manter um saldo de ETH para concluir uma transação, pois uma taxa de gás deve ser paga pelo usuário (iniciador). Com AA, a incorporação de Pagadores com ERC-4337 permite que as taxas de gás sejam patrocinadas/subsidiadas, para que os usuários não precisem manter um saldo de ETH em sua carteira. Além disso, a capacidade de pagar com vários tipos de tokens permite uma maior liberdade e facilidade de uso ao operar no espaço cripto.
Agrupando Ações Complexas (também conhecido como Multicall)
Em vez de pressionar constantemente os botões "aprovar" e "confirmar" sempre que fizer uma transação, a Abstração de Conta pode ser programada para agrupar várias operações a serem assinadas de uma vez. Isso pode tornar as transações mais baratas e mais rápidas.
Sessões Confiáveis
A Abstração de Conta permite que os usuários pré-provem regras para interagir com um dApp para que eles não precisem assinar cada transação específica e abrirá melhores possibilidades de UX para os usuários finais. Esse recurso pode ser analogado às compras online, onde os usuários colocam vários itens em seu carrinho e depois realizam todas as transações de uma vez.
Transferências Agendadas
Através da Abstração de Conta, pagamentos agendados auto-custodiados e transferências recorrentes são possíveis. Essa capacidade apresenta múltiplos casos de uso potenciais que vão desde pagamentos de salários até modelos de assinatura on-chain.
Aprovação de Múltiplas Partes
Carteiras de MPC (Computação Multi-Partes) podem funcionar ao lado do AA para fornecer aos usuários um sistema de gerenciamento de chaves mais seguro. O MPC permite a decomposição dos pares de chaves de uma carteira, que são então distribuídos para pessoal selecionado de confiança. O AA em conjunto com o MPC, por exemplo, permite que um serviço externo como um fornecedor ou ferramenta de hospedagem retire automaticamente fundos da conta sem precisar da assinatura da maioria dos titulares de chaves.
Embora ainda esteja em sua infância, determinar onde o valor mais se acumulará dentro da pilha AA é difícil, já que tecnicamente não há um padrão definido ao qual a indústria se submete. No entanto, conforme a pilha se encontra atualmente, parece mais provável que os provedores de infraestrutura da AA tenham mais a ganhar quando a AA entrar no mainstream.
Atualmente, existem alguns provedores de infraestrutura de AA ativos que representam a forma mais fácil de implementação de AA para dApps novos e existentes. Os provedores de Aglutinador e Pagador têm o maior potencial de ganho financeiro, pois esses serviços são necessários para implementar a Abstração de Conta e, portanto, possuem uma vantagem por padrão. Para desgosto da comunidade, existe a oportunidade para esses provedores formarem uma espécie de oligopólio, em que os dApps que desejam adotar AA precisam terceirizar esses serviços, em vez de construir seus próprios aglutinadores e pagadores privados, o que é caro e complexo.
Na teoria, qualquer pessoa pode operar um empacotador, mas operar um empacotador envolve complexidade tecnológica que os desenvolvedores de novos projetos provavelmente não terão tempo ou fundos para assumir, pois podem facilmente utilizar qualquer um dos serviços atualmente disponíveis no mercado. Embora os oligopólios vão contra o ethos do Web3 como um todo, esse problema precisará ser resolvido para evitar o incentivo à centralização do EVM.
Com um desenvolvimento de código aberto em estágio inicial como o ERC-4337, as partes que possibilitam avanços são a área mais provável de acúmulo de valor.
Uma área adicional potencial de acúmulo de valor: Fornecedores de SDK da Carteira AA.
Nossa tese na OP Crypto ainda não foi formalizada, mas estamos acompanhando de perto os desenvolvimentos na Camada de Conta. Esperamos ver projetos começarem a enfrentar os problemas atuais dentro da camada de infraestrutura, entretanto, como o conceito é muito novo, tais desenvolvimentos levarão significativamente mais tempo.
Somos um orgulhoso apoiador da Particle Network, que mostrou uma incrível dedicação em otimizar a modularidade da Abstração de Conta. Eles são especialistas no espaço e estão construindo produtos de ponta para aumentar a acessibilidade e eficiência do Web3 e aumentar a usabilidade para veteranos e novatos.
Soluções que têm a capacidade de abstrair as várias complexidades subjacentes ainda são necessárias. A experiência para os desenvolvedores integrarem AA em seus dApps continua sendo mais complexa do que deveria ser para incentivar a adoção generalizada. Particle, entre outros projetos semelhantes, está trabalhando intensamente nesse assunto, e estamos extremamente animados para ver quais soluções são construídas para superar os obstáculos de integração.
Abstração de conta modular com ERC-6900
A padronização de contas inteligentes é importante para o desenvolvimento adicional de sua utilidade. O recém-introduzido ERC-6900 (abril de 2023) baseia-se nas funcionalidades introduzidas pelo ERC-4337 e busca oferecer padronização. O ERC-6900 serve para estender as funcionalidades do ERC-4337, aumentando a modularidade das utilidades de uma conta. Aumentos em flexibilidade e adaptabilidade podem ser atribuídos à sua capacidade de suportar implementações através de plugins.
Riscos
Embora tenhamos discutido as complexidades da Abstração de Conta e agora tenhamos uma ideia de como ela representa progresso no âmbito da experiência do usuário e funcionalidade, existem preocupações sobre este novo framework e o apoio certamente não foi unânime. Embora a lista abaixo não seja exaustiva, ela contém alguns dos riscos principais visíveis hoje.
O panorama da Abstração de Contas está evoluindo rapidamente e continuará a evoluir no futuro previsível. Muitos construtores talentosos estão trabalhando em novas aplicações e casos de uso para a nova tecnologia, e estamos certos de que veremos evidências tangíveis de seus benefícios a curto prazo. Embora o mercado atual tenha tornado mais difícil escalar projetos baseados em blockchain, estamos otimistas em relação ao que a Abstração de Contas, e mais especificamente o ERC-4337, fará para mitigar algumas das muitas armadilhas do ambiente Web3 atual.
Estamos investindo ativamente em projetos AA e relacionados ao AA e encorajamos todos aqueles que estão construindo no espaço a entrar em contato conosco! Estamos sempre dispostos a ajudar os construtores da melhor forma possível, sempre que pudermos!
Partilhar
Conteúdos
Escrito por Calvin e Thomas
No sempre-evoluente reino de Web3, um conceito importante está gerando um buzz notável dentro da comunidade de criptomoedas, pronto para desencadear uma onda de novos adeptos. Essa inovação 'transformadora' não é outra senão a Abstração de Conta - um catalisador poderoso, redefinindo a própria essência de nossa interação com o Ethereum.
Os dias convencionais de Contas de Propriedade Externa (EOAs), exemplificados por carteiras populares como o MetaMask, nos quais os usuários suportam o ônus de proteger suas frases-semente privadas podem ter acabado. Abraçando os princípios do progresso e da inovação dentro do domínio criptográfico, a Abstração de Conta oferece uma alternativa para um engajamento Ethereum sem problemas.
A Abstração de Conta (AA) permite que os usuários embarquem em uma jornada onde a experiência centrada no usuário assume importância primordial, e a segurança inexpugnável se torna a pedra angular. AA busca desmantelar as limitações das práticas antiquadas ao mesmo tempo que fortalece a santidade dos ativos para entusiastas experientes e usuários novatos avessos ao risco.
Existem dois tipos de contas no Ethereum hoje:
Contas de Propriedade Externa (EOAs)
Contas de Contrato (CAs)
O gráfico abaixo destaca algumas das diferenças principais entre EOAs e CAs:
Conforme mencionado, EOAs são contas geradas usando software de carteira como MetaMask ou Rainbow, que são gerenciadas por suas respectivas chaves públicas e privadas. Tais contas têm capacidades relativamente limitadas, pois seu uso normalmente não excede a iniciação de transações e o pagamento de taxas de gás.
Abaixo está um diagrama de alto nível apresentando o fluxo de transações ERC-4337:
a. A operação do usuário é exibida ao usuário
b. O usuário é solicitado a assinar
c. A operação do usuário é enviada a um Bundler
a. O Bundler verifica UserOperation: i. via o EntryPoint
b. UserOperation is added to the alternative mempool
c. O construtor de blocos adiciona um bloco à blockchain
Abaixo está um diagrama detalhado apresentando o fluxo de transação ERC-4337:
Imagem do 'Rethink Digital Transactions with Account Abstraction' da Visa
Alguns dos termos acima podem ser desconhecidos até mesmo para usuários nativos de criptomoedas, já que são conceitos nativos da Abstração de Conta, introduzidos via ERC-4337. Agora discutiremos esses novos termos e conceitos que diferenciam AA do padrão EOA atual.
UserOperation (UserOp) é um objeto de pseudo-transação que representa a intenção de transação desejada de um usuário. As UserOperations não são tecnicamente transações, embora possam ser referidas como uma “transação ERC-4337.”
§ UserOperation Mempool: Um mempool especificamente para UserOperations. Consiste em uma rede peer-to-peer sem permissão onde os nós usam lógica para determinar se o UserOp será enviado aos pares. Esta é uma nova etapa (em comparação com o mempool tradicional) para um UserOp antes de ser incluído na cadeia de blocos.
§ As UserOps que usam apenas Paymasters e/ou Agregadores na lista branca são colocadas em um mempool alternativo, onde Bundlers que suportam os Paymasters/Aggregators na lista branca podem usar UserOps do mempool alternativo. UserOps dos mempools principal e alternativo podem ser agrupados juntos.
Agrupador
Bundlers agrupam várias operações de usuário juntas e enviam esse pacote para execução através do EntryPoint. Este evento parece uma transação de contrato inteligente EOA, mas neste caso o endereço “de” é o Bundler e o endereço “para” é o contrato EntryPoint.
Os UserOps são escolhidos pelos Bundlers com base na priorização de taxas; a mesma lógica que os construtores de blocos do Ethereum usam hoje. Como os Bundlers são os remetentes, eles são responsáveis por pagar a taxa de gás, mas são compensados através das taxas de execução individuais do UserOp.
Os Bundlers são os nós que enviam uma UserOperation na cadeia. Existem bundlers públicos e privados, cada um cumprindo a mesma função, mas agrupando UserOps de diferentes fontes. Os bundlers públicos recebem UserOperations de todas as fontes não verificadas de forma descentralizada, o que exige que eles passem por um processo de filtragem para rejeitar transações com potencial prejudicial. Em particular, eles são cruciais na prevenção de ataques de Negação de Serviço (DoS) por meio do gerenciamento da reputação dos mestres de pagamento. As funções dos bundlers públicos têm um custo, seja em termos de computação, gás ou armazenamento, para funcionar corretamente.
Por outro lado, os agrupadores privados são agrupadores construídos apenas para agrupar as UserOperations de uma fonte específica. Por exemplo, um provedor de carteira pode construir agrupadores privados que aceitam apenas UserOperations de usuários dessa carteira. Esse método permite que alguns processos sejam contornados, resultando em custos de uso mais baixos para os usuários por meio da economia de taxas de gás. Além disso, os bundles privados podem proporcionar uma inclusão mais rápida na mempool, bem como a possibilidade de transações resistentes a MEV.
Pagador
Um mestre de pagamentos é responsável pelo patrocínio das taxas de gás para transações EVM via Abstração de Conta através do contrato EntryPoint. Os mestres de pagamentos também permitem o pagamento de taxas de gás em ERC-20, cartão de crédito, assinatura, etc., para que os usuários não precisem sacrificar a custódia ou manter Eth. A lógica da abstração de gás é definida pelo mestre de pagamentos e é implantada por dApps que desejam patrocinar as taxas de gás de seus usuários.
Desenvolvedores de DApp podem desejar usar um patrocinador porque patrocinar taxas de gás reduz a barreira para participar, tornando mais fácil adquirir mais usuários. Para que os desenvolvedores incorporem um patrocinador de patrocínio, eles devem definir as políticas sobre quais UserOps podem ser patrocinados. No entanto, o número de regras suportadas é totalmente determinado pelo provedor de patrocinadores.
Permitir o pagamento de gás em ERC-20 serve a um propósito semelhante: melhorar a experiência do usuário. A capacidade de pagar em stablecoins é mais atraente para um usuário em oposição a ativos mais voláteis como Eth. Ter que manter Eth em uma carteira para pagar taxas de gás não é propício para o crescimento de novos usuários, pois o processo de compra de Eth pode ser suficiente para impedir que usuários não nativos de criptomoedas continuem avançando.
Nota: O Paymaster também pode ser personalizado e operado, mas abaixo listamos alguns dos principais provedores de Paymaster.
Projetos Notáveis:
StackUp’s Plug-n-Play Paymaster
Alchemy’s Gerente de Gás
Pimlico’s Verificando Paymaster
Ponto de Entrada
O EntryPoint verifica e executa as UserOperations enviadas a ele pelo Bundler. Eles servem como o ponto de entrada que todas as carteiras de contrato inteligente compatíveis com ERC-4337 usam para transacionar na EVM. Isso pode ser mais adequadamente comparado a um único contrato de depósito de staking. A lógica usada pelas carteiras de contrato inteligente é simplificada ao usar um EntryPoint, abstraindo as funções complicadas do contrato inteligente para o EntryPoint em vez da carteira. Essencialmente, é o mecanismo de EntryPoint que permite que as carteiras funcionem como contratos inteligentes.
"...Dá aos provedores de infraestrutura de carteira mais opções para fornecer recursos inteligentes de carteira como recuperação de conta, multi-assinaturas nativas e cobertura de taxas de gás para usuários."
Carteiras
As carteiras estão na vanguarda da discussão sobre Abstração de Conta, pois têm uma conexão direta com o usuário e estão diretamente envolvidas em oferecer aos usuários da Web3 uma experiência mais segura e agradável. As Carteiras de Contrato Inteligente permitem que os usuários personalizem a maneira como gerenciam seus ativos, como torna possível através da Abstração de Conta.
Antes do ERC-4337, era necessário que os relayers de terceiros abstraíssem os detalhes de como e quando um EOA funciona, ou com AA-native Layer-2s como StarkNet ou ZKSync.
Comparação de Operação de Carteira
Podemos entender amplamente os projetos construindo no reino ERC 4337 nos seguintes buckets. Essas camadas trabalham em conjunto para cobrir a maioria das interações do usuário final com blockchain.
3.1 Camada de Interface do Usuário (UI)
A camada IU oferece principalmente os kits de ferramentas necessários para aproveitar a experiência aprimorada de UX que AA pode trazer para a web3. Esta é a camada na qual os usuários são integrados via endereço de e-mail, número de telefone, endereço da carteira ou perfil de mídia social. Além disso, os projetos que constroem nesta camada fornecem ferramentas para que os desenvolvedores de aplicativos permitam que os usuários criem sua própria carteira ("carteira incorporada") em seu aplicativo. Essas carteiras podem ser personalizadas para corresponder à marca do dApp e fornecer recursos adicionais.
Para ser considerada uma “carteira”, deve haver uma semelhança de UI. Os desenvolvedores conectam e/ou criam interfaces e aplicativos que permitem aos usuários interagir com contas de blockchain.
Criação de Carteira Inteligente Incorporada:
Uma vez que um usuário faz o login com o e-mail (senha única enviada para garantir que seja um endereço de e-mail funcional e ativo, evitando erros na comunicação com o cliente e garantindo que os dados do cliente sejam precisos), uma carteira incorporada é criada para eles, um par de chaves é gerado para essa carteira. O par de chaves é então usado para gerar uma carteira de contrato inteligente que utiliza a chave privada como proprietário. Em essência, você usa a chave privada da carteira incorporada para controlar uma carteira inteligente mais sofisticada.
A carteira resultante é retornada como um provedor e pode ser interagida de forma semelhante a uma EOA, com a flexibilidade de definir coisas como patrocínio de gás como parte da inicialização da carteira
Mais especificamente, a Carteira (Conta) contém três componentes diferentes, cada um com sua própria função específica.
Contrato de Carteira: O contrato que representa a conta de um usuário
Wallet Deployer: O contrato que cria um contrato de carteira
Software da Carteira: A UX que envia Operações do Usuário para os nós (Agrupador)
Projetos notáveis:
Rede de Partículas, Privy, Dinâmico, Crossmint
3.2 Camada de Conta
A Camada de Conta pode ser dividida em duas subcamadas: Infraestrutura AA e Conta Inteligente.
A infraestrutura em AA refere-se aos componentes e mecanismos subjacentes que permitem que a Abstração de Contas ocorra. A função principal desta camada é fornecer serviços de Bundler, Paymaster e EntryPoint que interagem perfeitamente com os provedores de carteiras AA. Anteriormente, detalhamos como esses componentes se encaixam no fluxo de transações mais amplo de AA.
Projetos notáveis:
Alto Bundler (Pimlico)
Voltaire (Candide)
Skandha(Etherspot)
Projetos notáveis:
3.3 Camada Chave
A Camada Key contém infraestrutura de autenticação plugável para aplicativos Web3 e carteiras.
Formas alternativas de login e métodos de criação de carteira são um ponto focal das carteiras de Abstração de Conta. O login social e por e-mail são duas das formas de login destacadas esperadas para expandir a base de usuários da Web3 nos próximos anos, pois esses métodos podem simplificar o processo de integração com recursos semelhantes aos da Web2 para facilitar a transição deles para a Web3.
Quando um usuário faz login em um dApp usando uma conta de mídia social ou e-mail, provedores de autenticação como Particle e Web3Auth podem criar uma carteira para o referido usuário sem uma chave privada. Os provedores mencionados garantem essa segurança por meio de assinaturas baseadas em Computação Multi-Partes (MPC).
Os SDKs para esses recursos estão disponíveis para uso pelos provedores de autenticação para integração em seus dApps. Um passo necessário para implementar a Abstração de Conta em um dApp é o login social. Vamos discutir a relação entre o SDK do Web3Auth e um aplicativo integrador.
Quando um usuário aciona um login de um dos vários provedores de login (por meio de um aplicativo com Web3Auth integrado), um token de ID é enviado para o SDK Web3Auth. Esse token de ID é então passado para a Rede de Autenticação para validação e, em troca, a chave privada de um usuário é dividida em vários fragmentos, onde o usuário precisa apenas de 2 das partes da chave para recuperar sua chave privada.
Projetos Notáveis:
Melhor UX
Interagir com aplicativos em criptografia não é necessariamente uma tarefa simples. Se um usuário deseja usar vários aplicativos, pode haver até cinco etapas separadas envolvidas para concluir a função desejada. Mais importante, confiar em uma frase-semente de 12 palavras para manter o controle dos próprios fundos é uma concessão irracional às pessoas que desejam entrar no espaço quando a natureza já arriscada da criptografia é uma barreira assustadora. A Abstração de Conta permite a recuperação de fundos por meio de aplicativos de mídia social, e-mail, amigos e familiares, etc. Em outras palavras, perder a chave privada não é o fim de tudo.
Taxas mais baixas
Abstrações de conta permitem que os usuários paguem taxas em qualquer token suportado contratualmente ou até mesmo não paguem taxas. Conforme descrito no gráfico acima, com um EOA, os usuários devem manter um saldo de ETH para concluir uma transação, pois uma taxa de gás deve ser paga pelo usuário (iniciador). Com AA, a incorporação de Pagadores com ERC-4337 permite que as taxas de gás sejam patrocinadas/subsidiadas, para que os usuários não precisem manter um saldo de ETH em sua carteira. Além disso, a capacidade de pagar com vários tipos de tokens permite uma maior liberdade e facilidade de uso ao operar no espaço cripto.
Agrupando Ações Complexas (também conhecido como Multicall)
Em vez de pressionar constantemente os botões "aprovar" e "confirmar" sempre que fizer uma transação, a Abstração de Conta pode ser programada para agrupar várias operações a serem assinadas de uma vez. Isso pode tornar as transações mais baratas e mais rápidas.
Sessões Confiáveis
A Abstração de Conta permite que os usuários pré-provem regras para interagir com um dApp para que eles não precisem assinar cada transação específica e abrirá melhores possibilidades de UX para os usuários finais. Esse recurso pode ser analogado às compras online, onde os usuários colocam vários itens em seu carrinho e depois realizam todas as transações de uma vez.
Transferências Agendadas
Através da Abstração de Conta, pagamentos agendados auto-custodiados e transferências recorrentes são possíveis. Essa capacidade apresenta múltiplos casos de uso potenciais que vão desde pagamentos de salários até modelos de assinatura on-chain.
Aprovação de Múltiplas Partes
Carteiras de MPC (Computação Multi-Partes) podem funcionar ao lado do AA para fornecer aos usuários um sistema de gerenciamento de chaves mais seguro. O MPC permite a decomposição dos pares de chaves de uma carteira, que são então distribuídos para pessoal selecionado de confiança. O AA em conjunto com o MPC, por exemplo, permite que um serviço externo como um fornecedor ou ferramenta de hospedagem retire automaticamente fundos da conta sem precisar da assinatura da maioria dos titulares de chaves.
Embora ainda esteja em sua infância, determinar onde o valor mais se acumulará dentro da pilha AA é difícil, já que tecnicamente não há um padrão definido ao qual a indústria se submete. No entanto, conforme a pilha se encontra atualmente, parece mais provável que os provedores de infraestrutura da AA tenham mais a ganhar quando a AA entrar no mainstream.
Atualmente, existem alguns provedores de infraestrutura de AA ativos que representam a forma mais fácil de implementação de AA para dApps novos e existentes. Os provedores de Aglutinador e Pagador têm o maior potencial de ganho financeiro, pois esses serviços são necessários para implementar a Abstração de Conta e, portanto, possuem uma vantagem por padrão. Para desgosto da comunidade, existe a oportunidade para esses provedores formarem uma espécie de oligopólio, em que os dApps que desejam adotar AA precisam terceirizar esses serviços, em vez de construir seus próprios aglutinadores e pagadores privados, o que é caro e complexo.
Na teoria, qualquer pessoa pode operar um empacotador, mas operar um empacotador envolve complexidade tecnológica que os desenvolvedores de novos projetos provavelmente não terão tempo ou fundos para assumir, pois podem facilmente utilizar qualquer um dos serviços atualmente disponíveis no mercado. Embora os oligopólios vão contra o ethos do Web3 como um todo, esse problema precisará ser resolvido para evitar o incentivo à centralização do EVM.
Com um desenvolvimento de código aberto em estágio inicial como o ERC-4337, as partes que possibilitam avanços são a área mais provável de acúmulo de valor.
Uma área adicional potencial de acúmulo de valor: Fornecedores de SDK da Carteira AA.
Nossa tese na OP Crypto ainda não foi formalizada, mas estamos acompanhando de perto os desenvolvimentos na Camada de Conta. Esperamos ver projetos começarem a enfrentar os problemas atuais dentro da camada de infraestrutura, entretanto, como o conceito é muito novo, tais desenvolvimentos levarão significativamente mais tempo.
Somos um orgulhoso apoiador da Particle Network, que mostrou uma incrível dedicação em otimizar a modularidade da Abstração de Conta. Eles são especialistas no espaço e estão construindo produtos de ponta para aumentar a acessibilidade e eficiência do Web3 e aumentar a usabilidade para veteranos e novatos.
Soluções que têm a capacidade de abstrair as várias complexidades subjacentes ainda são necessárias. A experiência para os desenvolvedores integrarem AA em seus dApps continua sendo mais complexa do que deveria ser para incentivar a adoção generalizada. Particle, entre outros projetos semelhantes, está trabalhando intensamente nesse assunto, e estamos extremamente animados para ver quais soluções são construídas para superar os obstáculos de integração.
Abstração de conta modular com ERC-6900
A padronização de contas inteligentes é importante para o desenvolvimento adicional de sua utilidade. O recém-introduzido ERC-6900 (abril de 2023) baseia-se nas funcionalidades introduzidas pelo ERC-4337 e busca oferecer padronização. O ERC-6900 serve para estender as funcionalidades do ERC-4337, aumentando a modularidade das utilidades de uma conta. Aumentos em flexibilidade e adaptabilidade podem ser atribuídos à sua capacidade de suportar implementações através de plugins.
Riscos
Embora tenhamos discutido as complexidades da Abstração de Conta e agora tenhamos uma ideia de como ela representa progresso no âmbito da experiência do usuário e funcionalidade, existem preocupações sobre este novo framework e o apoio certamente não foi unânime. Embora a lista abaixo não seja exaustiva, ela contém alguns dos riscos principais visíveis hoje.
O panorama da Abstração de Contas está evoluindo rapidamente e continuará a evoluir no futuro previsível. Muitos construtores talentosos estão trabalhando em novas aplicações e casos de uso para a nova tecnologia, e estamos certos de que veremos evidências tangíveis de seus benefícios a curto prazo. Embora o mercado atual tenha tornado mais difícil escalar projetos baseados em blockchain, estamos otimistas em relação ao que a Abstração de Contas, e mais especificamente o ERC-4337, fará para mitigar algumas das muitas armadilhas do ambiente Web3 atual.
Estamos investindo ativamente em projetos AA e relacionados ao AA e encorajamos todos aqueles que estão construindo no espaço a entrar em contato conosco! Estamos sempre dispostos a ajudar os construtores da melhor forma possível, sempre que pudermos!