Escrito por Calvin e Thomas
No sempre em evolução mundo de Web3, um conceito importante está a criar um burburinho notável dentro da comunidade cripto, pronto para desencadear uma onda de novos adeptos. Esta inovação 'transformadora' não é outra senão a Abstração de Conta - um catalisador poderoso, redefinindo o próprio tecido da nossa interação com o Ethereum.
Os dias convencionais das Contas de Propriedade Externa (EOAs), exemplificados por carteiras populares como o MetaMask, em que os utilizadores suportam o ónus de salvaguardar as suas frases secretas privadas, podem ter desaparecido. Abraçando os princípios do progresso e da inovação no domínio das criptomoedas, a Abstração de Conta oferece uma alternativa para um envolvimento 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 procura desmantelar as limitações das práticas antiquadas, ao mesmo tempo que fortalece a santidade dos ativos tanto para entusiastas experientes quanto para usuários novatos avessos ao risco.
Existem dois tipos de contas na Ethereum hoje:
Contas de Propriedade Externa (EOAs)
Contas de Contrato (CAs)
O gráfico abaixo destaca algumas das principais diferenças entre EOAs e CAs:
Como mencionado, os EOAs são contas geradas usando software de carteira como MetaMask ou Rainbow, que são gerenciadas por suas chaves públicas e privadas respectivas. Tais contas têm capacidades relativamente limitadas, uma vez que seu uso geralmente 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ção ERC-4337:
a. UserOperation é exibido ao usuário
b. O utilizador é convidado a assinar
c. UserOperation é enviada para um Agregador
a. O Bundler verifica UserOperation: i. via o EntryPoint
b. UserOperation é adicionado à mempool alternativa
c. Construtor de blocos adiciona como um bloco à blockchain
Abaixo está um diagrama detalhado apresentando o fluxo de transação ERC-4337:
Imagem de "Repensar Transações Digitais com Abstração de Conta" da Visa
Alguns dos termos acima podem ser desconhecidos até mesmo para os utilizadores nativos de criptomoedas, uma vez que são conceitos nativos da Abstração de Conta, introduzidos através do ERC-4337. Agora iremos discutir estes novos termos e conceitos que diferenciam a AC do padrão atual EOA.
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.”
Mempool de UserOperation: Um mempool especificamente para UserOperations. Consiste numa rede peer-to-peer sem permissão onde os nós utilizam lógica para determinar se a UserOp será enviada aos pares. Este é um novo ponto (comparado com o mempool tradicional) para uma UserOp antes de ser incluída na cadeia.
Os UserOps que apenas utilizam Paymasters e/ou Agregadores permitidos são colocados numa mempool alternativa, onde os Bundlers que suportam os Paymasters/Agregadores permitidos podem utilizar UserOps da mempool alternativa. Os UserOps das mempools principal e alternativa podem ser agrupados juntos.
Agrupador
Os Bundlers agrupam múltiplas UserOps juntas e enviam esse pacote para execução através do EntryPoint. Este evento parece uma transação de contrato inteligente de 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 Ethereum usam hoje. Como os Bundlers são os remetentes, são responsáveis pelo pagamento da taxa de gás, mas são compensados através de taxas de execução individuais de UserOp.
Os agrupadores são os nós que enviam uma Operação de Usuário na cadeia. Existem agrupadores públicos e privados, cada um servindo a mesma função, mas agrupando UserOps de diferentes fontes. Os agrupadores públicos recebem Operações de Usuário de todas as fontes não verificadas de forma descentralizada, o que os obriga a passar por um processo de filtragem para rejeitar transações com potencial prejudicial. Em particular, são cruciais na prevenção de ataques de Negação de Serviço (DoS) por meio da gestão da reputação dos pagadores. As funções dos agrupadores públicos têm todas um custo, seja em computação, gás ou armazenamento, para funcionar adequadamente.
Por outro lado, os agrupadores privados são agrupadores construídos para agrupar apenas as UserOperations de uma fonte específica. Por exemplo, um fornecedor de carteiras pode construir agrupadores privados que apenas aceitam UserOperations de utilizadores dessa carteira. Este método permite contornar alguns processos, resultando em custos de utilização mais baixos para os utilizadores através da poupança de taxas de gás. Além disso, os agrupamentos privados podem proporcionar uma inclusão mais rápida na mempool, bem como o potencial para transações resistentes ao MEV.
Pagador
Um paymaster é 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 paymasters também permitem o pagamento de taxas de gás em ERC-20, cartão de crédito, subscrição, etc., para que os utilizadores não precisem de sacrificar a custódia ou manter Eth. A lógica da abstração de gás é definida pelo Paymaster e é implementada por dApps que desejam patrocinar as taxas de gás de seus utilizadores.
Os 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, devem definir as políticas relativas aos UserOps que podem ser patrocinados. No entanto, o número de regras suportadas é totalmente determinado pelo fornecedor do patrocinador.
Permitir o pagamento de gás em tokens ERC-20 tem um propósito semelhante: melhorar a experiência do utilizador. A capacidade de pagar em stablecoins é mais atrativa para um utilizador em oposição a ativos mais voláteis como Eth. Ter de manter Eth numa carteira para pagar taxas de gás não é propício ao crescimento de novos utilizadores, uma vez que o processo de aquisição de Eth pode ser suficiente para impedir que utilizadores não nativos de criptomoedas prossigam.
Nota: O Paymaster também pode ser personalizado e operado, mas abaixo listamos alguns dos principais fornecedores de Paymaster.
Projetos Notáveis:
StackUp’s Plug-n-Play Paymaster
A alquimiaGestor de Gás
Pimlico’sVerificando Mestre de Pagamentos
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 contratos inteligentes compatíveis com ERC-4337 usam para transacionar na EVM. Isso pode ser mais adequadamente comparado a um contrato de depósito único. A lógica usada pelas carteiras de contratos inteligentes é simplificada ao usar um EntryPoint, abstraindo as funções complicadas dos contratos inteligentes para o EntryPoint em vez da carteira. Essencialmente, é o mecanismo de EntryPoint que permite que as carteiras funcionem como contratos inteligentes.
"…Dá aos fornecedores de infraestrutura de carteiras mais opções para fornecer recursos de carteira inteligente como recuperação de conta, multi-assinaturas nativas e cobrir as taxas de gás para os usuários."
Carteiras
As carteiras estão na vanguarda da discussão sobre Abstração de Conta, pois têm uma ligação direta com o utilizador e estão diretamente envolvidas em oferecer aos utilizadores do Web3 uma experiência mais segura e agradável. As Carteiras de Contrato Inteligente permitem aos utilizadores personalizar a maneira como gerem os seus ativos, conforme possibilitado pela Abstração de Conta.
Antes do ERC-4337, eram necessários relayers de terceiros para abstrair os detalhes de como e quando uma EOA funciona, ou com AA-native Layer-2s como StarkNet ou ZKSync.
Comparação de Operação de Carteira
Podemos compreender amplamente os projetos construindo no reino ERC 4337 nos seguintes compartimentos. Estas camadas trabalham em conjunto para cobrir a maioria das interações do usuário final com blockchain.
Camada de Interface do Utilizador (UI) 3.1
A camada IU oferece principalmente as ferramentas necessárias para aproveitar a experiência aprimorada do UX que AA pode trazer para web3. Esta é a camada na qual os utilizadores são integrados através do endereço de e-mail, número de telefone, endereço da carteira ou perfil das redes sociais. Além disso, os projetos que constroem nesta camada fornecem as ferramentas para os desenvolvedores de aplicativos permitirem que os utilizadores criem sua própria carteira ("carteira embutida") em seu aplicativo. Estas carteiras podem ser personalizadas para corresponder à marcação do dApp e fornecer recursos adicionais.
Para ser considerado uma "carteira", deve haver uma aparência de interface do usuário. Os desenvolvedores se conectam e/ou criam interfaces e aplicativos que permitem que os usuários interajam com contas blockchain.
Criação de Carteira Inteligente Incorporada:
Uma vez que um utilizador inicia sessão com o email (envio de palavra-passe única para garantir que se trata de um endereço de email funcional e ativo, evitando erros na comunicação com o cliente e assegurando que os dados do cliente estão corretos) é criada uma carteira incorporada para ele, é gerado um par de chaves para essa carteira. O par de chaves é então utilizado para gerar uma carteira de contrato inteligente que utiliza a chave privada como proprietário. Em essência, utiliza a chave privada da carteira incorporada para controlar uma carteira inteligente mais sofisticada.
A carteira resultante é devolvida como um provedor e pode interagir de forma semelhante a um 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 função específica.
Contrato da Carteira: O contrato que representa a conta de um utilizador
Wallet Deployer: O contrato que cria um contrato de carteira
Software de Carteira: A experiência do utilizador que envia Operações do Utilizador para os nós (Agrupador)
Projetos notáveis:
Rede de Partículas, Privy, Dinâmico, Crossmint
Camada de Conta 3.2
A Camada de Contas 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 Conta ocorra. A função principal desta camada é fornecer serviços de Bundler, Paymaster e EntryPoint que interagem perfeitamente com os fornecedores de carteiras AA. Anteriormente, descrevemos como esses componentes se encaixam no fluxo de transação 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 uma infraestrutura de autenticação plugável para aplicações 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 que se espera que cresçam na base de utilizadores da Web3 nos próximos anos, uma vez que estes métodos podem simplificar o processo de integração com características semelhantes ao Web2 para facilitar a transição para o Web3.
Quando um utilizador faz login num dApp usando uma conta de redes sociais ou email, os fornecedores de autenticação como Particle e Web3Auth podem criar uma carteira para esse utilizador sem uma chave privada. Os fornecedores mencionados garantem esta segurança através de assinaturas baseadas em Computação Multi-Partes (MPC).
Os SDKs para essas funcionalidades estão disponíveis para uso a partir de fornecedores de autenticação para integração em suas dApps. Um passo necessário para implementar a Abstração de Conta em uma dApp é o login social. Vamos discutir a relação entre o SDK do Web3Auth e um aplicativo integrador.
Quando um usuário desencadeia um login de um dos vários provedores de login (através de uma aplicação com Web3Auth integrado), um token de ID é submetido ao SDK Web3Auth. Esse token de ID é então passado para a Rede de Autenticação para validação e, em troca, a chave privada do usuário é dividida em vários fragmentos, onde o usuário precisa apenas de 2 das partes da chave para recuperar sua chave privada total.
Projetos Notáveis:
Melhor UX
Interagir com aplicações em criptomoedas nem sempre é uma tarefa simples. Se um usuário deseja usar várias aplicações, pode haver até cinco etapas separadas envolvidas para completar a função desejada. Mais importante ainda, depender de uma frase-semente de 12 palavras para manter o controle dos fundos de alguém é um fardo irracional para as pessoas que desejam entrar no espaço, considerando a natureza já arriscada das criptomoedas. A Abstração de Conta permite a recuperação de fundos através de aplicações de mídia social, e-mail, amigos e família, etc. Em outras palavras, perder a chave privada não é o fim de tudo.
Taxas Mais Baixas
As Abstrações de Conta permitem que os utilizadores paguem taxas em qualquer token suportado contratualmente ou mesmo não paguem taxas de todo. Como indicado no gráfico acima, com um EOA, os utilizadores devem manter um saldo de ETH para completar uma transação, uma vez que uma taxa de gás deve ser paga pelo utilizador (iniciador). Com AA, a incorporação de Pagadores com ERC-4337, permite que as taxas de gás sejam patrocinadas/subsidiadas, para que os utilizadores não precisem de manter um saldo de ETH na 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 criptográfico.
Agrupamento de 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 só 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 interação com um dApp para que não precisem assinar cada transação específica e abrirá melhores possibilidades de UX para os usuários finais. Este recurso pode ser analogizado às compras online, onde os usuários colocam vários itens em seu cesto e depois realizam todas as transações de uma vez.
Transferências Agendadas
Através da Abstração de Conta, pagamentos programados auto-custodiados e transferências recorrentes são possíveis. Esta capacidade apresenta múltiplos casos de uso potenciais que vão desde pagamentos de salários até modelos de subscrição on-chain.
Aprovação de Múltiplas Partes
As carteiras de MPC (Multi-Party Computation) podem funcionar em conjunto com AA para oferecer aos utilizadores um sistema de gestão de chaves mais seguro. O MPC permite a decomposição dos pares de chaves de uma carteira, que são posteriormente distribuídos a pessoal de confiança selecionado. A 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 detentores das chaves.
Embora ainda numa fase inicial, determinar onde o valor mais se acumulará dentro da pilha AA é difícil, pois tecnicamente não há um padrão definido ao qual a indústria se submete. No entanto, tal como a pilha está hoje, parece mais provável que os fornecedores de infraestrutura AA tenham mais a ganhar quando AA entrar no mainstream.
Atualmente, existem alguns fornecedores de infraestrutura AA ativos que representam a forma mais fácil de implementação de AA para novos e existentes dApps. Os fornecedores de Bundler e Paymaster têm o maior potencial de ganhos financeiros, uma vez que esses serviços são necessários para implementar a Abstração de Conta e, portanto, têm uma vantagem por padrão. Para descontentamento da comunidade, existe a oportunidade para esses fornecedores formarem uma espécie de oligopólio, em que os dApps que desejam adotar o AA devem terceirizar esses serviços, em vez de construir seus próprios bundlers e paymasters privados, o que é caro e complexo.
Na teoria, qualquer pessoa pode operar um agrupador, mas operar um agrupador 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 as oligarquias vão contra o ethos do Web3 como um todo, esse problema precisará ser resolvido para evitar o estímulo à centralização do EVM.
Com um desenvolvimento de código aberto em estágio inicial como o ERC-4337, as partes que tornam os avanços possíveis são a área mais provável de acúmulo de valor.
Uma área adicional potencial de acúmulo de valor: fornecedores do SDK da AA Wallet.
A nossa tese na OP Crypto ainda não foi formalizada, mas estamos a acompanhar de perto os desenvolvimentos na Camada de Contas. Esperamos ver projetos a começar a abordar os problemas atuais dentro da camada de infraestrutura, no entanto, uma vez que o conceito é tão novo, tais desenvolvimentos levarão significativamente mais tempo.
Somos um orgulhoso apoiante da Particle Network, que mostrou uma incrível dedicação em otimizar a modularidade da Abstração de Conta. Eles são especialistas na área e estão a construir 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 nessa questão, e estamos extremamente entusiasmados 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 desenvolver ainda mais a sua utilidade. O recém-introduzido ERC-6900 (abril de 2023) baseia-se nas funcionalidades introduzidas pelo ERC-4337 e procura oferecer padronização. O ERC-6900 serve para ampliar as funcionalidades do ERC-4337, aumentando a modularidade das utilidades de uma conta. Aumentos na 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 utilizador e funcionalidade, existem preocupações sobre este novo quadro e o apoio certamente não foi unânime. Embora a lista abaixo não seja exaustiva, contém alguns dos riscos principais visíveis hoje.
O panorama da Abstração de Contas está a evoluir rapidamente e continuará a evoluir num futuro previsível. Muitos construtores talentosos estão a trabalhar em novas aplicações e casos de uso para a nova tecnologia, o que nos leva a crer que veremos evidências tangíveis dos seus benefícios a curto prazo. Embora o mercado atual tenha dificultado a escalabilidade de 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 a investir ativamente em projetos AA e relacionados com AA e encorajamos todos aqueles que estão a construir neste espaço a contactar-nos! Estamos sempre dispostos a ajudar os construtores da melhor forma possível, sempre que pudermos!
Share
Content
Escrito por Calvin e Thomas
No sempre em evolução mundo de Web3, um conceito importante está a criar um burburinho notável dentro da comunidade cripto, pronto para desencadear uma onda de novos adeptos. Esta inovação 'transformadora' não é outra senão a Abstração de Conta - um catalisador poderoso, redefinindo o próprio tecido da nossa interação com o Ethereum.
Os dias convencionais das Contas de Propriedade Externa (EOAs), exemplificados por carteiras populares como o MetaMask, em que os utilizadores suportam o ónus de salvaguardar as suas frases secretas privadas, podem ter desaparecido. Abraçando os princípios do progresso e da inovação no domínio das criptomoedas, a Abstração de Conta oferece uma alternativa para um envolvimento 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 procura desmantelar as limitações das práticas antiquadas, ao mesmo tempo que fortalece a santidade dos ativos tanto para entusiastas experientes quanto para usuários novatos avessos ao risco.
Existem dois tipos de contas na Ethereum hoje:
Contas de Propriedade Externa (EOAs)
Contas de Contrato (CAs)
O gráfico abaixo destaca algumas das principais diferenças entre EOAs e CAs:
Como mencionado, os EOAs são contas geradas usando software de carteira como MetaMask ou Rainbow, que são gerenciadas por suas chaves públicas e privadas respectivas. Tais contas têm capacidades relativamente limitadas, uma vez que seu uso geralmente 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ção ERC-4337:
a. UserOperation é exibido ao usuário
b. O utilizador é convidado a assinar
c. UserOperation é enviada para um Agregador
a. O Bundler verifica UserOperation: i. via o EntryPoint
b. UserOperation é adicionado à mempool alternativa
c. Construtor de blocos adiciona como um bloco à blockchain
Abaixo está um diagrama detalhado apresentando o fluxo de transação ERC-4337:
Imagem de "Repensar Transações Digitais com Abstração de Conta" da Visa
Alguns dos termos acima podem ser desconhecidos até mesmo para os utilizadores nativos de criptomoedas, uma vez que são conceitos nativos da Abstração de Conta, introduzidos através do ERC-4337. Agora iremos discutir estes novos termos e conceitos que diferenciam a AC do padrão atual EOA.
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.”
Mempool de UserOperation: Um mempool especificamente para UserOperations. Consiste numa rede peer-to-peer sem permissão onde os nós utilizam lógica para determinar se a UserOp será enviada aos pares. Este é um novo ponto (comparado com o mempool tradicional) para uma UserOp antes de ser incluída na cadeia.
Os UserOps que apenas utilizam Paymasters e/ou Agregadores permitidos são colocados numa mempool alternativa, onde os Bundlers que suportam os Paymasters/Agregadores permitidos podem utilizar UserOps da mempool alternativa. Os UserOps das mempools principal e alternativa podem ser agrupados juntos.
Agrupador
Os Bundlers agrupam múltiplas UserOps juntas e enviam esse pacote para execução através do EntryPoint. Este evento parece uma transação de contrato inteligente de 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 Ethereum usam hoje. Como os Bundlers são os remetentes, são responsáveis pelo pagamento da taxa de gás, mas são compensados através de taxas de execução individuais de UserOp.
Os agrupadores são os nós que enviam uma Operação de Usuário na cadeia. Existem agrupadores públicos e privados, cada um servindo a mesma função, mas agrupando UserOps de diferentes fontes. Os agrupadores públicos recebem Operações de Usuário de todas as fontes não verificadas de forma descentralizada, o que os obriga a passar por um processo de filtragem para rejeitar transações com potencial prejudicial. Em particular, são cruciais na prevenção de ataques de Negação de Serviço (DoS) por meio da gestão da reputação dos pagadores. As funções dos agrupadores públicos têm todas um custo, seja em computação, gás ou armazenamento, para funcionar adequadamente.
Por outro lado, os agrupadores privados são agrupadores construídos para agrupar apenas as UserOperations de uma fonte específica. Por exemplo, um fornecedor de carteiras pode construir agrupadores privados que apenas aceitam UserOperations de utilizadores dessa carteira. Este método permite contornar alguns processos, resultando em custos de utilização mais baixos para os utilizadores através da poupança de taxas de gás. Além disso, os agrupamentos privados podem proporcionar uma inclusão mais rápida na mempool, bem como o potencial para transações resistentes ao MEV.
Pagador
Um paymaster é 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 paymasters também permitem o pagamento de taxas de gás em ERC-20, cartão de crédito, subscrição, etc., para que os utilizadores não precisem de sacrificar a custódia ou manter Eth. A lógica da abstração de gás é definida pelo Paymaster e é implementada por dApps que desejam patrocinar as taxas de gás de seus utilizadores.
Os 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, devem definir as políticas relativas aos UserOps que podem ser patrocinados. No entanto, o número de regras suportadas é totalmente determinado pelo fornecedor do patrocinador.
Permitir o pagamento de gás em tokens ERC-20 tem um propósito semelhante: melhorar a experiência do utilizador. A capacidade de pagar em stablecoins é mais atrativa para um utilizador em oposição a ativos mais voláteis como Eth. Ter de manter Eth numa carteira para pagar taxas de gás não é propício ao crescimento de novos utilizadores, uma vez que o processo de aquisição de Eth pode ser suficiente para impedir que utilizadores não nativos de criptomoedas prossigam.
Nota: O Paymaster também pode ser personalizado e operado, mas abaixo listamos alguns dos principais fornecedores de Paymaster.
Projetos Notáveis:
StackUp’s Plug-n-Play Paymaster
A alquimiaGestor de Gás
Pimlico’sVerificando Mestre de Pagamentos
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 contratos inteligentes compatíveis com ERC-4337 usam para transacionar na EVM. Isso pode ser mais adequadamente comparado a um contrato de depósito único. A lógica usada pelas carteiras de contratos inteligentes é simplificada ao usar um EntryPoint, abstraindo as funções complicadas dos contratos inteligentes para o EntryPoint em vez da carteira. Essencialmente, é o mecanismo de EntryPoint que permite que as carteiras funcionem como contratos inteligentes.
"…Dá aos fornecedores de infraestrutura de carteiras mais opções para fornecer recursos de carteira inteligente como recuperação de conta, multi-assinaturas nativas e cobrir as taxas de gás para os usuários."
Carteiras
As carteiras estão na vanguarda da discussão sobre Abstração de Conta, pois têm uma ligação direta com o utilizador e estão diretamente envolvidas em oferecer aos utilizadores do Web3 uma experiência mais segura e agradável. As Carteiras de Contrato Inteligente permitem aos utilizadores personalizar a maneira como gerem os seus ativos, conforme possibilitado pela Abstração de Conta.
Antes do ERC-4337, eram necessários relayers de terceiros para abstrair os detalhes de como e quando uma EOA funciona, ou com AA-native Layer-2s como StarkNet ou ZKSync.
Comparação de Operação de Carteira
Podemos compreender amplamente os projetos construindo no reino ERC 4337 nos seguintes compartimentos. Estas camadas trabalham em conjunto para cobrir a maioria das interações do usuário final com blockchain.
Camada de Interface do Utilizador (UI) 3.1
A camada IU oferece principalmente as ferramentas necessárias para aproveitar a experiência aprimorada do UX que AA pode trazer para web3. Esta é a camada na qual os utilizadores são integrados através do endereço de e-mail, número de telefone, endereço da carteira ou perfil das redes sociais. Além disso, os projetos que constroem nesta camada fornecem as ferramentas para os desenvolvedores de aplicativos permitirem que os utilizadores criem sua própria carteira ("carteira embutida") em seu aplicativo. Estas carteiras podem ser personalizadas para corresponder à marcação do dApp e fornecer recursos adicionais.
Para ser considerado uma "carteira", deve haver uma aparência de interface do usuário. Os desenvolvedores se conectam e/ou criam interfaces e aplicativos que permitem que os usuários interajam com contas blockchain.
Criação de Carteira Inteligente Incorporada:
Uma vez que um utilizador inicia sessão com o email (envio de palavra-passe única para garantir que se trata de um endereço de email funcional e ativo, evitando erros na comunicação com o cliente e assegurando que os dados do cliente estão corretos) é criada uma carteira incorporada para ele, é gerado um par de chaves para essa carteira. O par de chaves é então utilizado para gerar uma carteira de contrato inteligente que utiliza a chave privada como proprietário. Em essência, utiliza a chave privada da carteira incorporada para controlar uma carteira inteligente mais sofisticada.
A carteira resultante é devolvida como um provedor e pode interagir de forma semelhante a um 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 função específica.
Contrato da Carteira: O contrato que representa a conta de um utilizador
Wallet Deployer: O contrato que cria um contrato de carteira
Software de Carteira: A experiência do utilizador que envia Operações do Utilizador para os nós (Agrupador)
Projetos notáveis:
Rede de Partículas, Privy, Dinâmico, Crossmint
Camada de Conta 3.2
A Camada de Contas 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 Conta ocorra. A função principal desta camada é fornecer serviços de Bundler, Paymaster e EntryPoint que interagem perfeitamente com os fornecedores de carteiras AA. Anteriormente, descrevemos como esses componentes se encaixam no fluxo de transação 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 uma infraestrutura de autenticação plugável para aplicações 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 que se espera que cresçam na base de utilizadores da Web3 nos próximos anos, uma vez que estes métodos podem simplificar o processo de integração com características semelhantes ao Web2 para facilitar a transição para o Web3.
Quando um utilizador faz login num dApp usando uma conta de redes sociais ou email, os fornecedores de autenticação como Particle e Web3Auth podem criar uma carteira para esse utilizador sem uma chave privada. Os fornecedores mencionados garantem esta segurança através de assinaturas baseadas em Computação Multi-Partes (MPC).
Os SDKs para essas funcionalidades estão disponíveis para uso a partir de fornecedores de autenticação para integração em suas dApps. Um passo necessário para implementar a Abstração de Conta em uma dApp é o login social. Vamos discutir a relação entre o SDK do Web3Auth e um aplicativo integrador.
Quando um usuário desencadeia um login de um dos vários provedores de login (através de uma aplicação com Web3Auth integrado), um token de ID é submetido ao SDK Web3Auth. Esse token de ID é então passado para a Rede de Autenticação para validação e, em troca, a chave privada do usuário é dividida em vários fragmentos, onde o usuário precisa apenas de 2 das partes da chave para recuperar sua chave privada total.
Projetos Notáveis:
Melhor UX
Interagir com aplicações em criptomoedas nem sempre é uma tarefa simples. Se um usuário deseja usar várias aplicações, pode haver até cinco etapas separadas envolvidas para completar a função desejada. Mais importante ainda, depender de uma frase-semente de 12 palavras para manter o controle dos fundos de alguém é um fardo irracional para as pessoas que desejam entrar no espaço, considerando a natureza já arriscada das criptomoedas. A Abstração de Conta permite a recuperação de fundos através de aplicações de mídia social, e-mail, amigos e família, etc. Em outras palavras, perder a chave privada não é o fim de tudo.
Taxas Mais Baixas
As Abstrações de Conta permitem que os utilizadores paguem taxas em qualquer token suportado contratualmente ou mesmo não paguem taxas de todo. Como indicado no gráfico acima, com um EOA, os utilizadores devem manter um saldo de ETH para completar uma transação, uma vez que uma taxa de gás deve ser paga pelo utilizador (iniciador). Com AA, a incorporação de Pagadores com ERC-4337, permite que as taxas de gás sejam patrocinadas/subsidiadas, para que os utilizadores não precisem de manter um saldo de ETH na 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 criptográfico.
Agrupamento de 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 só 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 interação com um dApp para que não precisem assinar cada transação específica e abrirá melhores possibilidades de UX para os usuários finais. Este recurso pode ser analogizado às compras online, onde os usuários colocam vários itens em seu cesto e depois realizam todas as transações de uma vez.
Transferências Agendadas
Através da Abstração de Conta, pagamentos programados auto-custodiados e transferências recorrentes são possíveis. Esta capacidade apresenta múltiplos casos de uso potenciais que vão desde pagamentos de salários até modelos de subscrição on-chain.
Aprovação de Múltiplas Partes
As carteiras de MPC (Multi-Party Computation) podem funcionar em conjunto com AA para oferecer aos utilizadores um sistema de gestão de chaves mais seguro. O MPC permite a decomposição dos pares de chaves de uma carteira, que são posteriormente distribuídos a pessoal de confiança selecionado. A 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 detentores das chaves.
Embora ainda numa fase inicial, determinar onde o valor mais se acumulará dentro da pilha AA é difícil, pois tecnicamente não há um padrão definido ao qual a indústria se submete. No entanto, tal como a pilha está hoje, parece mais provável que os fornecedores de infraestrutura AA tenham mais a ganhar quando AA entrar no mainstream.
Atualmente, existem alguns fornecedores de infraestrutura AA ativos que representam a forma mais fácil de implementação de AA para novos e existentes dApps. Os fornecedores de Bundler e Paymaster têm o maior potencial de ganhos financeiros, uma vez que esses serviços são necessários para implementar a Abstração de Conta e, portanto, têm uma vantagem por padrão. Para descontentamento da comunidade, existe a oportunidade para esses fornecedores formarem uma espécie de oligopólio, em que os dApps que desejam adotar o AA devem terceirizar esses serviços, em vez de construir seus próprios bundlers e paymasters privados, o que é caro e complexo.
Na teoria, qualquer pessoa pode operar um agrupador, mas operar um agrupador 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 as oligarquias vão contra o ethos do Web3 como um todo, esse problema precisará ser resolvido para evitar o estímulo à centralização do EVM.
Com um desenvolvimento de código aberto em estágio inicial como o ERC-4337, as partes que tornam os avanços possíveis são a área mais provável de acúmulo de valor.
Uma área adicional potencial de acúmulo de valor: fornecedores do SDK da AA Wallet.
A nossa tese na OP Crypto ainda não foi formalizada, mas estamos a acompanhar de perto os desenvolvimentos na Camada de Contas. Esperamos ver projetos a começar a abordar os problemas atuais dentro da camada de infraestrutura, no entanto, uma vez que o conceito é tão novo, tais desenvolvimentos levarão significativamente mais tempo.
Somos um orgulhoso apoiante da Particle Network, que mostrou uma incrível dedicação em otimizar a modularidade da Abstração de Conta. Eles são especialistas na área e estão a construir 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 nessa questão, e estamos extremamente entusiasmados 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 desenvolver ainda mais a sua utilidade. O recém-introduzido ERC-6900 (abril de 2023) baseia-se nas funcionalidades introduzidas pelo ERC-4337 e procura oferecer padronização. O ERC-6900 serve para ampliar as funcionalidades do ERC-4337, aumentando a modularidade das utilidades de uma conta. Aumentos na 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 utilizador e funcionalidade, existem preocupações sobre este novo quadro e o apoio certamente não foi unânime. Embora a lista abaixo não seja exaustiva, contém alguns dos riscos principais visíveis hoje.
O panorama da Abstração de Contas está a evoluir rapidamente e continuará a evoluir num futuro previsível. Muitos construtores talentosos estão a trabalhar em novas aplicações e casos de uso para a nova tecnologia, o que nos leva a crer que veremos evidências tangíveis dos seus benefícios a curto prazo. Embora o mercado atual tenha dificultado a escalabilidade de 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 a investir ativamente em projetos AA e relacionados com AA e encorajamos todos aqueles que estão a construir neste espaço a contactar-nos! Estamos sempre dispostos a ajudar os construtores da melhor forma possível, sempre que pudermos!