WEB3DEV

Cover image for ERC-6900 E Abstração de Contas Modular: O Que Isso Significa Para Carteiras de Contratos Inteligentes
Isabela Curado Nehme
Isabela Curado Nehme

Posted on

ERC-6900 E Abstração de Contas Modular: O Que Isso Significa Para Carteiras de Contratos Inteligentes

04 de julho de 2023

https://miro.medium.com/v2/resize:fit:720/format:webp/1*PzeGG90hxzSH2Wbn8PJCHg.jpeg

Como desenvolvedores, buscamos constantemente maneiras de ultrapassar os limites da inovação e criar soluções mais versáteis. Você já se perguntou como melhorar a personalização das carteiras de contratos inteligentes e liberar seu verdadeiro potencial? Prepare-se para aprender sobre um padrão Ethereum recém-implantado que permite a abstração de contas modular, o que revolucionará a forma como os desenvolvedores interagem com contratos inteligentes: ERC-6900.

Neste artigo, embarcaremos em uma jornada emocionante para explorar o impacto do ERC-6900 e a integração da abstração de contas modular em contas de contrato inteligente (para sua informação: conta de contrato inteligente e carteira de contrato inteligente podem ser usadas indistintamente ao longo deste artigo) e descobrir as oportunidades potenciais que apresentam para desenvolvedores e usuários para desbloquear novos domínios de inovação no ecossistema EVM.

Antes de começarmos, uma rápida mensagem para Konrad da Rhinestone, que escreveu o conteúdo OG sobre a arquitetura na qual o ERC-6900 é baseado! Agora, você está pronto para se aprofundar e aprender mais sobre o ERC-6900 e a AA (Account Abstraction ou abstração de contas) modular? Vamos começar com uma breve introdução ao ERC-6900!

O que é ERC-6900?

Implantado em abril de 2023, o padrão Ethereum ERC-6900 propõe a noção de contas de contratos inteligentes modulares e plug-ins de contas, que essencialmente permitem lógica combinável (pense em blocos de construção LEGO!). De acordo com a proposta, o ERC-6900 é compatível com o padrão de abstração de contas ERC-4337, além de ser inspirado no “padrão diamante” do ERC-2535 para definir a interface do usuário para consulta e atualização de implementações de funções modulares.

O ERC-6900 pode ser visto como uma extensão dos objetivos que o ERC-4337 pretende atingir, especificamente o objetivo de abstrair a lógica de execução e validação para cada carteira de contrato inteligente. O ERC-6900 permite aos desenvolvedores abstrair a lógica de execução e validação, a fim de criar novos recursos para carteiras de contratos inteligentes.

A abordagem modular do ERC-6900 recategoriza a funcionalidade das carteiras de contratos inteligentes em um SCW modular com três categorias distintas (listadas e definidas abaixo):

  • Função de validação: habilita a validação da autenticidade e autoridade do chamador para a conta.
  • Função de execução: habilita a execução da lógica personalizada permitida pela conta.
  • Gancho (hook): habilita a execução de lógica personalizada e autenticação de funções pré/pós-execução.

Essas funções modulares são então implementadas em contratos externos e possuem um fluxo de execução esperado de carteiras de contratos inteligentes.

O que é abstração de contas modular no contexto de carteiras de contratos inteligentes?

A abstração de contas modular é um subgrupo da abstração de contas (AA) – que é seu próprio ecossistema – que introduz carteiras (contas) de contratos inteligentes modulares ao ecossistema EVM mais amplo. As contas inteligentes modulares não apenas permitem uma personalização significativamente melhor para os usuários, como também simplificam o desenvolvimento de recursos de carteiras de contratos inteligentes para os desenvolvedores. Para entender melhor a abstração de contas modular, vamos aprender mais sobre o que são “módulos” no contexto da abstração de contas modular.

O que são módulos e por que são importantes?

Freqüentemente chamados de plug-ins (conforme indicado no EIP-6900) ou facetas (conforme indicado no ERC-2535), os módulos são os “blocos de construção LEGO” que permitem que os recursos ampliem a funcionalidade das carteiras de contratos inteligentes, tornando-os componentes extremamente valiosos do ecossistema de abstração de contas. Você também pode considerá-los como contratos inteligentes externos, autorizados pelo usuário, que implementam funcionalidade estendida para uma carteira de contrato inteligente, ao mesmo tempo que isolam a lógica do módulo do contrato inteligente principal.

Entre as diversas funcionalidades que os módulos podem habilitar estão:

  • Uso de diferentes esquemas de assinatura;
  • Acionamento de ações específicas em transferências de tokens;
  • Limites diários de despesas;
  • Orçamentos que permitem gastos sem exigir o consentimento de proprietários adicionais;
  • Transações recorrentes através de chaves de sessão;
  • Transações programadas e/ou automatizadas em datas específicas;
  • Recuperação social.

Esses são apenas alguns exemplos de funcionalidades do módulo – com criatividade, o céu é o limite!

https://miro.medium.com/v2/resize:fit:720/0*6tpTDwUg2l0PD8GN

Um diagrama informativo de nossos amigos da Safe representando a interação do módulo com uma conta de contrato inteligente.

Por último, existem diferentes abordagens para a construção e execução de módulos, dependendo da implementação de carteiras de contratos inteligentes. Além disso, a estrutura de um módulo depende da implementação de um recurso na conta direcionada. Por exemplo, nossos amigos da Permissive são uma equipe que está construindo ativamente um módulo para uma estrutura de autorização para carteiras de contratos inteligentes, focando principalmente no controle de acesso granular que permite aos usuários dar permissão a várias partes para ações específicas que são executadas pela conta inteligente.

A implementação modular requer um certo nível de confiança entre os usuários, que desejam determinados recursos, e os desenvolvedores de módulos, que constroem esses recursos, o que nos leva a outro aspecto do ecossistema de abstração de contas modular – o registro do módulo.

O registro do módulo: um mecanismo de confiança para o desenvolvimento de módulos

As implementações modulares existentes de contratos inteligentes e contas inteligentes baseiam-se numa suposição de confiança entre utilizadores e desenvolvedores de módulos. No entanto, o objetivo final é eliminar essa suposição e permitir que usuários não técnicos adicionem módulos às suas carteiras com segurança. Para conseguir isso, um registro de módulo pode consolidar suposições de confiança entre usuários e desenvolvedores em uma única entidade.

Embora isso sugira uma abordagem centralizada, a visão dos desenvolvedores e da comunidade está longe disso – a solução é um registro aberto e sem permissão. Em última análise, isso permite a participação de diferentes partes com diferentes suposições de segurança, e os usuários podem escolher em quem confiar com base em suas preferências.

Interface do Usuário Modular: o membro esquecido, mas valioso, da família de abstração de contas modular

De acordo com Yoav Weiss, da Fundação Ethereum, um aspecto importante, mas muitas vezes esquecido, da abstração de contas modular é a interface do usuário modular ou design do lado do cliente. A interface do usuário modular é crucial porque os componentes da interface devem ser adaptados para ativar funcionalidades específicas na cadeia, como seletores de função, codificações de argumento e lógica potencial do lado do cliente ou do servidor. A criação de uma interface do usuário modular segura para acomodar desenvolvedores de módulos externos é vital para o crescimento e desenvolvimento bem-sucedidos de abstração de contas modular e carteiras de contratos inteligentes.

Continuando, vamos passar para uma seção muito importante sobre como aprender mais sobre o valor do ERC-6900 para desenvolvedores.

Qual valor o ERC-6900 e a abstração de contas modular oferecem aos desenvolvedores?

A implementação de módulos por meio da abstração de contas modular permite que os desenvolvedores não só criem recursos mais personalizáveis ​​e extensíveis para contratos inteligentes, mas também a tenham capacidade de reutilizar os módulos, em vez de ter que reescrever todo o contrato para adicionar recursos. Em outras palavras, através da implementação de módulos, o ERC-6900 aumenta ainda mais a flexibilidade do desenvolvimento de contratos inteligentes para construtores que buscam criar novos recursos para uma carteira de contrato inteligente.

Além disso, o ERC-6900 apoia a colaboração na implementação de recursos entre desenvolvedores de módulos e desenvolvedores de carteiras, delineando a implementação de uma carteira (conta) de contrato inteligente modular que acomoda perfeitamente vários módulos que aderem aos padrões estabelecidos.

Por último, ao adotar o ERC-6900, os desenvolvedores podem não apenas construir carteiras de contratos inteligentes que permitem execução modular e atualizável e lógica de validação, mas também melhorar a segurança e a interoperabilidade do desenvolvimento de módulos. Para ler mais sobre o desenvolvimento de módulos, confira este guia útil da Safe e outro da ZeroDev.

Perspectivas futuras para o ERC-6900

Como o ERC-6900 ainda é relativamente novo e está sujeito a alterações futuras, é difícil prever como será o padrão final. No entanto, várias propostas foram feitas:

  • Atualização de todas as invocações de função, incluindo funções de execução, funções de validação e ganchos para usar “call” em vez de “delegatecall” para garantir que o armazenamento e o código de execução sejam segregados por módulo, eliminando o risco de substituições de armazenamento não intencionais ou maliciosas entre módulos, transformando fundamentalmente o modelo de confiança para módulos.
  • Fusão de ganchos globais e ganchos regulares em uma noção unificada chamada “grupos de ganchos”, que terá flexibilidade de incluir cada tipo de gancho como um campo opcional e executabilidade adequada para que as contas estabeleçam uma conexão entre as funções de execução e os grupos de ganchos aplicáveis.
  • Apresentação de ganchos de pré-validação, um novo tipo de gancho que não apenas é executado antes dos validadores de operações do usuário ou validadores de tempo de execução, como também serve ao propósito de realizar verificações de permissão e outras verificações pré-transação não relacionadas à validação de assinatura.

Nota final

Em resumo, a implantação do ERC-6900 e a integração da abstração de contas modular em carteiras de contratos inteligentes oferecem possibilidades interessantes para os desenvolvedores. Com a introdução de carteiras de contratos inteligentes modulares e plug-ins de contas, os desenvolvedores podem aprimorar a personalização e versatilidade de seus dApps. Ao implementar funções modulares e aderir ao padrão ERC-6900, os desenvolvedores podem criar lógica combinável, introduzir recursos como esquemas de assinatura e transações recorrentes e melhorar a colaboração entre desenvolvedores de módulos e de carteiras.

À medida que o ERC-6900 continua a evoluir, propostas como a atualização de invocações de funções, os grupos de ganchos e os ganchos de pré-validação são promissores para melhorar a segurança e a funcionalidade da abstração de contas modular em carteiras de contratos inteligentes. Em última análise, ao adotar o ERC-6900, os desenvolvedores podem desbloquear novos domínios de inovação e criar carteiras de contratos inteligentes mais poderosas, porém flexíveis.

Para ler mais sobre o ecossistema de abstração de contas mais amplo, você pode conferir este artigo sobre os equívocos e desafios do ERC-4337 . Além disso, não se esqueça de se manter informado sobre os principais projetos ERC-4337 a serem observados em 2023 e de continuar explorando o ecossistema Ethereum – começando com o OpenBlocto, o ponto de partida para SDKs de abstração de contas!

Referências

Esse artigo foi escrito por Paul Huh e traduzido por Isabela Curado Nehme. Seu original pode ser lido aqui.

Top comments (0)