Como entender a abstração de contas ERC4337 leva à evolução das contas Ethereum?

Autor: Rui

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

Como muitos disseram, a tecnologia de abstração de conta (AA), especialmente a ERC-4337, promete revolucionar a experiência do usuário da Carteira de autocustódia e permitir que ela seja dimensionada para adoção em massa. No entanto, à medida que maio de 2023 se aproxima, devemos reconhecer que a norma ainda está em seus estágios iniciais, com oportunidades e riscos.

Por favor, note que o conteúdo deste artigo pode rapidamente tornar-se desatualizado à medida que as atualizações evoluem rapidamente, e este artigo é baseado exclusivamente na minha opinião pessoal.

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

TL; DR

ERC4337:

O padrão AA ainda está em seus estágios iniciais, mas muitos construtores de inovação estão trabalhando para desenvolvê-lo ainda mais. Com o apoio do ecossistema e a popularidade de grandes produtos como o MetaMask, podemos esperar que a AA acelere seu processo de desenvolvimento e produza resultados empolgantes.

L2:

A adoção de AA varia em soluções L2. L2s maiores (por exemplo, Optimism e Arbitrum) não suportam nativamente AA, enquanto ZKSync e Starknet suportam.

Serviço Bundler:

  • Se estamos otimistas com AA e todos os equivalentes EVM alinhados ao Ethereum L2 não suportam AA nativo, então o serviço Bundler é necessário para suportar AA na rede.
  • O recurso Open Source torna o serviço Bundler não exclusivo, o que dificulta a monetização. A fim de garantir a estabilidade da rede, diferentes serviços Bundler precisam ser usados.
  • Private Bundlers pode ser monetizado personalizando privacidade, segurança e outros recursos para necessidades específicas.

Serviço Paymaster:

  • O serviço Paymaster é relativamente centralizado (em comparação com o serviço Bundler), o contrato é Open Source, mas o backend está fechado.
  • O serviço Paymaster tem um modelo de monetização que pode ser combinado com recursos como depósitos em moeda fiduciária, trocas, pontes, pagamentos automáticos, sessões, taxas de patrocínio, etc. para melhorar os cenários de pagamento e, assim, melhorar a usabilidade do dApp.

Carteira AA e SDK:

  • A Carteira AA pode ser avaliada a partir de uma perspetiva de produto, incluindo Sistema de Gerenciamento de Chaves Secretas, Recuperação Social, Patrocínio de Taxa de Gás, Sincronização de Conta Multicadeia e Blockchain Suportado.
  • Os benefícios do AA vão além de fornecer uma experiência de login suave (Web3 Auth é hospedado). O AA também pode fornecer uma série de benefícios aos dApps em interações on-chain complexas e personalizadas.
  • BD é a chave para esta batalha. A maioria das carteiras tem como alvo Defi, GameFi e tem como objetivo obter suporte do ecossistema, convencer grandes dApps e encontrar descobertas.
  • Os modelos de monetização precisam ser mais explorados. O modelo To Business (To B) pode não ganhar muito dinheiro e não acumulará seus próprios usuários, enquanto o modelo To Customer (To C) precisa encontrar cenários de alto valor e obter lucros com base no volume. A integração de capacidades de comutação e de ligação pode ser rentável, mas a chave é encontrar um modelo sustentável.

Saiba mais sobre a carteira cripto

Classificação

Existem dois tipos de contas na rede Ethereum: Carteira de Conta de Propriedade Externa (EOA), como MetaMask, e Conta de Contrato (CA), como Safe.

A principal diferença entre uma Carteira EOA e uma Carteira de Contrato é a forma como é controlada. As Carteiras EOA são controladas por utilizadores individuais através de Chaves Privadas, enquanto as Carteiras de Contrato são controladas por Contratos Inteligentes. Enquanto as Carteiras EOA são mais simples e são usadas para gerenciar participações pessoais de Criptoativos, as Carteiras contratuais podem ter regras mais complexas e podem ser usadas para fins específicos.

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

DeBitcoin Insider

Pontos problemáticos

Os usuários da EOA Wallet precisam prestar atenção à proteção das Chaves Privadas. Quaisquer erros ou omissões cometidos na Chave Privada podem resultar na perda de fundos, pelo que a utilização da Carteira EOA é mais cara e arriscada. Mesmo usuários experientes de Criptoativos podem perder o controle de suas contas devido a um único erro ou movimento descuidado. A complexidade da operação, a incapacidade de pular a taxa de gás ou fazer o pagamento da taxa de gás e a funcionalidade limitada da Carteira são problemas que afligem os usuários.

O Smart ContractWallet fornece uma solução para alguns desses problemas, mas o Ethereum atualmente exige que todas as operações sejam empacotadas em transações de EOAs protegidos pelo ECDSA. Isso incorre em taxas de transação adicionais e mais 21.000 taxas de gás, e com isso potenciais riscos e complicações de centralização: os usuários precisam gerenciar duas contas e depositar ETH em EOAs separados para pagar as taxas de gás, ou dependem de um sistema de retransmissão centralizado para pagar.

Esses pontos problemáticos deram origem a um novo padrão AA, o ERC-4337.

ERC4337 propostas:

Problema da AC

Hoje em dia, todas essas coisas podem ser resolvidas com a carteira de contrato, mas o próprio Ethereum exige que tudo seja empacotado em transações derivadas do EOA protegido pelo ECDSA, o que resultará:

Taxa de Transação Adicional: Cada ação do usuário deve ser iniciada pela EOA, resultando em uma taxa adicional de gás de 21.000. Complexidade e centralização: Os usuários precisam depositar ETH em EOAs separados para pagar taxas de gás e gerenciar saldos em ambas as contas, ou confiar em sistemas Relay para pagar, Relay que muitas vezes são centralizados.

Ao longo dos anos, houve várias tentativas de implementar a abstração de contas no Blockchain baseado em Ethereum, como EIP-86 e EIP-2938. No entanto, nenhuma dessas abordagens funciona, pois todas exigem mudanças na camada de Consenso, que é difícil de implementar.

4337 mecanismo

O ERC-4337 implementa a abstração de conta introduzindo um objeto de pseudotransação de nível superior chamado UserOperation, que é semelhante aos rollups em termos de conceitos de agregação. Felizmente, esse padrão nos permite construir abstrações de conta sem alterar a camada de Consenso.

O design modular do EIP 4337 divide a abstração da conta Smart ContractWallet em várias portas:

Empacotador :

  • Bundler é um EOA. Como todas as transações devem ser iniciadas por um EOA, o Bundler permite que os usuários acionem transações Smart ContractWallet sem ter que criar e lembrar uma Chave Privada EOA.
  • O que o Bundler faz: Valide o UserOperation, empacote um conjunto de objetos UserOperation em uma única “transação de pacote”. Difunda o conteúdo UserOperation autenticado para um pool de memória pública ou privada.
  • O Bundler também se beneficia financeiramente embolsando a diferença entre a taxa de prioridade mais alta e a taxa de gás real depois que a UserOperation é executada. Semelhante ao relé de uma transação normal, o Bundler obtém MEV classificando a UserOperation na transação agregada.

Ponto de Entrada:

  • O ponto de entrada é um contrato global que todos os Bundlers precisam chamar para executar uma UserOperation. O ponto de entrada atua como um intermediário entre o Bundler e o Smart ContractWallet.
  • Validar e executar com handleOp: A função handleOp usa UserOperation como um parâmetro de entrada para primeiro validar o UserOperation on-chain, verificar se ele é assinado pelo especificado Smart ContractWalletAddress, e Wallet taxas de gás suficientes para compensar o Bundler. Se a validação for bem-sucedida, os parâmetros de entrada serão executados com base na assinatura da função.

Token que precisa depositar Smart ContractWallet pagar taxas de gás para o Bundler: Quando o Bundler aciona um handleOp usando EOA, uma taxa de gás é incorrida. Smart ContractWallet pode pagar a taxa de gás com seu próprio saldo, ou pedir Pymaster para pagá-lo. Possível falha: A taxa de gás é insuficiente, a etapa de validação falha e, mesmo que a taxa de gás seja suficiente, a etapa de execução UserOperation pode falhar, como um erro de tempo de execução. Independentemente de a execução ser bem-sucedida ou não, o contrato de ponto de entrada pagará uma taxa de gás ao Bundler para acionar a função handleOp. O contrato de ponto de entrada fornece à Smart ContractWallet a capacidade de adicionar ou retirar Token como garantia.

Carteira inteligente:

O contrato principal do Smart ContractWallet separa as etapas de validação e execução do UserOperation. Ao desacoplá-lo, o Bundler pode validar a UserOperation off-chain, filtrando transações maliciosas sem ter que pagar taxas de gás.

As etapas de validação são definidas na função validateOp: a primeira chamada para validateOp, o Bundler simula a validação off-chain, verifica a assinatura na UserOperation e garante que a Smart ContractWallet tenha saldo de gás suficiente, e a segunda chamada para validateOp é o contrato de ponto de entrada, que executa a verificação on-chain antes de executar a UserOperation.

Pagador :

  • Paymaster define a lógica de abstração de gás Smart ContractWallet, incluindo o uso do ERC20 Fungible Token para pagar taxas de gás Ethereum, bem como transações sem taxas de gás.
  • Paymaster é um contrato inteligente implantado por um dApp que pode acionar PaymasterOp validado pela Paymaster.

Fábrica da carteira:

  • Wallet Factory é um contrato público que cria Smart ContractWallet. Quando o Endereço de fábrica da Carteira e os novos parâmetros Smart ContractWallet são implantados no initCode, o Bundler acionará a Fábrica da Carteira correspondente para criar um Contrato Inteligente com os parâmetros especificados. Os códigos populares da Wallet Factory são totalmente verificados, por isso é mais seguro criar uma Wallet com a Wallet Factory.
  • A Wallet Factory precisa apostar ETH no ponto de entrada e continuar a servir bem UserOperations para obter mais tráfego do Bundler.
  • Os usuários podem enviar uma UserOperation preenchida com initCode e solicitar ao Bundler para criar uma CA Wallet.
  • Os usuários podem escolher Wallet Factory com parâmetros personalizados específicos para personalizar sua CA Wallet.

Agregadores de assinaturas:

  • Os agregadores de assinatura são usados para agregar as assinaturas de várias transações em bytes para uma verificação e execução mais rápidas das transações. Diferentes Smart ContractWallet usam algoritmo de assinatura diferente e precisam usar o mesmo algoritmo de assinatura agregar UserOperations primeiro.
  • Economize taxas de gás: Como a computação criptográfica on-chain consome muitas taxas de gás, esquemas de assinatura agregados (como BLS) podem economizar taxas de gás ao verificar on-chain.
  • O Bundler usa vários contratos agregadores de assinatura para gerar várias assinaturas agregadas, em vez de validar um UserOperations de cada vez.
  • O Bundler passa a matriz UserOperation, a assinatura agregada e o endereço agregador para o ponto de entrada, e cada reunião do grupo UserOperation chama a função validateSignature de seu agregador de assinatura correspondente.
  • Após a validação, o Bundler executará este conjunto de UserOperations na Smart ContractWallet.
  • Os agregadores também precisam apostar Ethereum no contrato de ponto de entrada e manter um bom registro de serviço UserOperation.

Vantagens do AA

Captação de gás:

A captação de gás não contém transações de taxa de gás e paga taxas de gás com qualquer token ERC20. A lógica pode ser executada no contrato Paymaster ou através de um relé. Para AA, muitos Smart ContractWallet podem implementar contratos Paymaster compatíveis com EIP 4337 e stake Token no contrato de ponto de entrada para ajudar os usuários a pagar taxas de gás.

Recuperação Social:

No caso de a Chave Privada ser perdida ou comprometida, o utilizador pode autorizar a nova Chave Secreta como proprietário legítimo da Carteira. A lógica do login social e da recuperação social é geralmente definida no contrato principal da Carteira. Isso pode ser feito de várias maneiras, como e-mail, Multisig, MPC ou SWIE (login com Ethereum).

Lote de transação:

O processamento em lote de transações é um recurso exclusivo do Smart ContractWallet que permite que os usuários da Carteira executem várias transações em uma única transação on-chain.

Interação entre cadeias e integração de pontes de conexão:

Atualmente, muitas carteiras estão trabalhando com fornecedores terceirizados para integrar canais de depósito e retirada de moeda fiduciária e pontes de interação entre cadeias em carteiras. Estes canais de depósito e levantamento e as pontes de interação entre cadeias podem ser ainda mais integrados com o contrato de pagamento (Paymaster) na captação de gás.

Design modular:

Talvez um dos maiores pontos fortes da AA seja o seu serviço modular, onde Bundler, Paymaster e outras peças podem ser combinadas de forma flexível.

Defeitos em AA

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

Do empilhamento

Taxa de processamento relativamente alta:

Usar o ERC-4337 para fazer uma transferência simples é muito mais caro do que usar uma carteira tradicional (muitas vezes referida como EOA) porque a primeira requer uma chamada para o contrato.

No entanto, na rede Rollup, uma transferência simples usando ERC-4337 pode ser mais barata do que EOA porque agrega assinaturas para reduzir a quantidade de dados na Mainnet.

Critérios ainda não finalizados:

Desafios como o aumento do vetor de ataque devido à escalabilidade expandida das transações, o potencial para bugs desconhecidos ou riscos de segurança ao migrar para novos padrões, a necessidade de um contrato de ponto de entrada global robusto e seguro para garantir que todas as transações sejam devidamente assinadas e verificadas, e assim por diante.

Camada 2

  • ✅ e indique ❌ se AA nativo é suportado. *

**Otimismo: ❌ **

A versão 1 do Optimism tem três códigos de operação OVM para alcançar a abstração da conta Smart ContractWallet. No entanto, por razões de consistência e segurança, a versão 2 remove esses códigos de operação e não há nenhuma declaração oficial sobre o suporte à abstração da conta.

**Arbitrum: ❌ **

Embora existam atualmente alguns Smart ContractWallet construídos sobre o Arbitrum, não há nenhuma declaração oficial sobre o suporte à abstração da conta.

**Starknet: ✅ **

A Starknet só tem contas de Smart Contract com funções de verificação e execução, e todas as contas devem implementar esses recursos para verificar assinaturas e garantir taxas de gás. Starknet proíbe a função de verificação de chamar o estado do contrato externo para evitar transações não executadas. No entanto, existem algumas diferenças entre Starknet e Ethereum, como a falta de UserOperations, um protocolo de abstração de taxa de transação semelhante ao Paymaster, e a necessidade de uma conta com saldo de Token para criar novos contratos. Além disso, o sequenciador da Starknet não pode cobrar taxas de gás se uma transação verificada falhar, enquanto o Ethereum pode.

**zkSync: ✅ **

O zkSync não distingue entre contas EOA e contas de contrato. Seu modelo de conta é semelhante ao EIP 4337 e inclui funções separadas validateTransactiom e uteTransaction. A interface Paymaster também inclui as funções validateAndPayForPaymasterTransaction e postOp. No entanto, há algumas diferenças, como a capacidade de chamar contratos externos implantados e armazenamento externo durante o processo de validação. O Paymaster também pode invocar armazenamento externo durante a validação da transação.

Infraestrutura AA:

Atualmente, alguns excelentes projetos como Stackup, Etherspot, Candide, Infinistism e Pimlico estão tentando construir infraestrutura.

Serviço Bundler:

Construtor:

  • Golang implementação de Stackup
  • Implementação Python de Candide
  • Tipo de implementação do Infinitismo
  • Skandha - Tipo de implementação de Etherspot

Alguns consensos:

Serviço Público

A natureza de código aberto da grande maioria dos Bundlers torna-os não exclusivos e não competitivos. Qualquer ponto de extremidade RPC pode executar o Bundler copiando o código Open Source.

  • Difícil de rentabilizar

Mesmo que o ponto de extremidade RPC que executa o Bundler cobre taxas de uso do serviço por meio de chaves secretas de API, os serviços do Bundler são mais difíceis de monetizar do que outras infraestruturas, como o Paymaster, um contrato de pagamento, porque o Paymaster pode facilmente ganhar a diferença de taxas fazendo parcerias com provedores de depósito e retirada de terceiros ou provedores agregadores de protocolo de Finanças Descentralizadas.

Infraestruturas críticas

Validar e executar UserOperations requer o maior número possível de Bundlers para uma melhor descentralização. Uma vez que os únicos provedores de serviços Bundler de terceiros atualmente são Stackup e eth-infinitism, precisamos de mais provedores de serviços Bundler desse tipo.

Mecanismo**

Os bundlers entregam mensagens e propagam ações do usuário por conta própria, semelhante a pools de memória compartilhada, sem ter que concordar com assuntos específicos. O Bundler tem um recurso importante para filtrar spam e, por suas próprias razões financeiras, o Bundler quer monitorar o máximo possível para garantir a segurança do mempool.

Diferenças entre os serviços do Bundler:

  • O serviço Bundler pode ser uma infraestrutura geral ou construído especificamente para a Carteira. Os projetos de carteira podem priorizar a criação do bundler mais básico, enquanto os provedores de terceiros devem criar bundlers modulares para vários cenários.
  • Semelhante ao EthereumNode, o serviço Bundler é implementado em uma linguagem de programação diferente para evitar pontos únicos de falha e beneficiar o ecossistema.
  • O serviço Bundler suporta mempools privados e públicos, e fornece opções de personalização para mempools privados.

Serviço Paymaster

  • Em comparação com o serviço Bundler, o serviço Paymaster é mais centralizado, o contrato é Open Source, mas o backend está fechado.
  • O serviço Paymaster tem um modelo de monetização que pode melhorar a usabilidade dos dApps combinando com depósitos de moeda fiduciária, trocas, pontes, pagamentos automáticos, sessões, taxas de patrocínio e outros recursos.

Carteira AA e SDK:

Avaliação do Produto

  • Sistema de Gestão de Chaves Secretas:
    • Lógica Multisig (segura): Apenas a lógica Multisig 2/3 e 3/5 pode ser implementada;
    • Gerenciamento de permissões simples (sequencial): você pode definir pesos para chaves secretas e, em seguida, definir limites para contas operacionais.
    • Gerenciamento de permissões baseado em função (Unipass): você pode definir pesos e funções para chaves secretas. Diferentes funções podem executar diferentes ações. Cada função também tem um limite correspondente. Se esse limite for excedido, as permissões da função correspondente poderão ser impostas.
  • Métodos de recuperação social
  • Patrocínio de taxa de gás: construa seu próprio Relay, ou configure o Bundler + Paymaster
  • Sincronização de contas multi-cadeia
  • Unidade de endereço multi-cadeia
  • Blockchain suportado

Negócios

  • Modelo de negócio: To b/ To B + To C / ToC
  • Parceria com dApps: Parceria com dApps de infraestrutura gigantesca, como Stable Coin ou Finanças Descentralizadas em cada cadeia
  • Utilidade: Integrar mercados de tokens não fungíveis, plataformas de lançamento, etc.
  • Suporte externo: da Fundação Ethereum ou outras instituições de capital de risco bem conhecidas
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Fixar

Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)