---
title: "Construindo um futuro modular para a account abstraction: ERC-6900"
description: "Nosso compromisso com um futuro modular para account abstraction nos levou a criar o ERC-6900, um conjunto de padrões universais para o design de plugins e suas interações com smart accounts."
---

# Construindo um futuro modular para a account abstraction: ERC-6900

A abstração de contas é fundamental para a missão da Alchemy de trazer os próximos bilhões de usuários para a blockchain.

Qualquer pessoa que já tenha usado uma carteira cripto tradicional conhece as frustrações e a má experiência de uso que, até agora, têm sido um grande obstáculo para atrair novos usuários a este espaço. Ao tornar as contas inteligentes programáveis, o [ERC-4337](https://www.erc4337.io/) está inaugurando uma nova era de carteiras, com melhor UX para os usuários e novos recursos para desenvolvedores, como gas patrocinado e login social.

Por mais impressionantes que sejam esses avanços, eles são apenas o começo do que é possível com abstração de contas. O ERC-4337 abre uma oportunidade muito maior para funcionalidades inovadoras de carteiras, e os desenvolvedores ainda estão começando a explorar esse terreno. Essa funcionalidade tem sido cada vez mais construída na forma de módulos ou plugins que podem automatizar operações dentro da carteira, desde dollar cost averaging até session keys e muito mais \([esta lista](https://www.notion.so/Module-ideas-for-developer-inspo-338100a2c99540f490472b8aa839da11?pvs=21) da Rhinestone dá uma ideia das possibilidades\).

O futuro para o qual estamos construindo é aquele em que desenvolvedores e usuários podem aproveitar ao máximo essa flexibilidade. Chegar lá vai exigir mais do que construir boas ferramentas para desenvolvedores e conteúdo educacional — também significa construir para e com um ecossistema maior de desenvolvedores, e trabalhar em direção a um consenso sobre as ferramentas necessárias para chegar lá.

Nosso compromisso com esse futuro modular de abstração de contas nos levou a iniciar o [ERC-6900](https://eips.ethereum.org/EIPS/eip-6900), um conjunto de padrões universais para o design de plugins e suas interações com contas inteligentes. Com a publicação da primeira [implementação de referência](https://github.com/erc6900/reference-implementation) do padrão, estamos animados em levar o 6900 a um público maior de desenvolvedores.

O restante deste post descreve a estrutura, o status atual e o roadmap do ERC-6900. Para chegar lá, começamos com um breve desvio sobre modularidade e sua importância para a abstração de contas.

## Construindo modularidade
Modularidade, em seu sentido mais geral, é o conceito de desagregar tecnologias monolíticas em peças componentes, ou módulos. Em teoria, isso é o melhor dos mundos — os desenvolvedores de aplicações não ficam presos a um único provedor e, em vez disso, podem escolher os melhores provedores para cada componente de sua stack.

Mas modularidade exige mais do que um conjunto arbitrário de componentes — os desenvolvedores de aplicações precisam conseguir usar e integrar módulos em um todo coerente, e os criadores de módulos precisam saber que o que estão construindo pode ser usado da forma mais ampla possível.

Para entender o porquê, vamos considerar duas pessoas: Alice e Carol.

1. Alice é desenvolvedora de aplicações e quer construir ótimas aplicações que gerem valor para seus usuários.
1. Carol constrói módulos e quer garantir que o que ela cria seja tanto descoberto quanto usado pelo maior número possível de desenvolvedores de aplicações.

Como Alice e Carol trabalham juntas?

Primeiro, uma modularidade eficaz exige um **_ecossistema_** rico de plugins entre os quais os desenvolvedores de aplicações possam escolher, expandindo seu conjunto de ferramentas e reduzindo o potencial de dependência de um único provedor.

Segundo, Alice precisa conseguir integrar o trabalho de Carol, e Carol precisa saber que seu trabalho é compatível com o de Alice para que ambas tenham incentivo para construir. A maneira de conseguir isso é por meio de **_padrões neutros_** que removem atrito e viabilizam a integração para os desenvolvedores do ecossistema.

Em outras palavras, padrões são a forma como ecossistemas modulares encontram um meio-termo entre o aprisionamento monopolista e o caos descoordenado.

Traduzindo isso de volta para a abstração de contas, construir um futuro modular vai exigir um ecossistema rico de plugins, o que, por sua vez, vai exigir um padrão neutro em torno do qual os desenvolvedores possam coordenar seus esforços.

## Construindo um padrão neutro para modularidade: ERC-6900
Ao padronizar funções e interfaces básicas, o ERC-6900 busca fomentar um ecossistema crescente de desenvolvedores tanto de contas inteligentes quanto de plugins. Os desenvolvedores de plugins devem conseguir escrever um único plugin que funcione com todas as contas inteligentes, em vez de fragmentar seus esforços entre múltiplas implementações de contas diferentes. E os criadores de contas inteligentes devem conseguir acessar plugins com interfaces padronizadas que permitam a integração com confiança.

### Como o 6900 funciona?

Para alcançar esses objetivos, o ERC-6900 foi projetado para atingir dois objetivos técnicos:

- Fornecer padrões para o design de plugins para contas de contrato inteligente.
- Fornecer padrões para como as contas compatíveis devem interagir com os plugins.

Os desenvolvedores de plugins que seguem o padrão podem trabalhar com três componentes padronizados:

- **Funções de validação** garantem a validade das chamadas externas para a conta inteligente.
- **Funções de execução** são contratos inteligentes que especificam a lógica de execução para funções dentro de um plugin.
- **Hooks** especificam ações e validações mais granulares que podem ser projetadas para ocorrer antes ou depois da validação, e antes ou depois da execução.

<ImageBlock
  src="https://media.alchemy.com/1704724953-open-composability-across-plugins.jpg"
  alt="Diagrama da arquitetura de plugins ERC-6900: smart accounts compondo funções de validação, execução e hook"
  width={2000}
  height={748}
  caption="Composabilidade aberta entre plugins"
/>

O ERC-6900 busca equilibrar os benefícios de uma composabilidade aberta entre plugins com a necessidade de manter segurança e interoperabilidade. Em linhas gerais, ele faz isso padronizando como contas e plugins interagem entre si, bem como os requisitos de pré-instalação dos plugins.

O padrão também se baseia em [trabalho](https://developer.android.com/guide/topics/permissions/overview) anterior da comunidade de desenvolvedores Android para padronizar a interface entre contas inteligentes e plugins. Cada plugin compatível incorporará um manifesto que estabelece as várias funções e hooks que precisam ser adicionados à conta inteligente na instalação. Ele também especificará aspectos do plugin \(metadados, dependências e permissões\) necessários para limitar a capacidade do plugin de agir sobre a conta inteligente.

Para informações mais detalhadas, veja a [especificação](https://eips.ethereum.org/EIPS/eip-6900).

## O que vem a seguir para o ERC-6900?

O ERC-6900 recentemente alcançou um marco significativo com o lançamento de sua implementação de referência, acessível por meio de um [repositório público no Github](https://github.com/erc6900/reference-implementation). Esse lançamento representa um momento decisivo na evolução pretendida do padrão, de um projeto iniciado pela Alchemy para um padrão de comunidade genuíno. Embora ainda não tenha sido auditado nem esteja pronto para produção, o código oferece aos desenvolvedores uma base de código de exemplo para experimentar como complemento à especificação formal.

A própria especificação foi aprimorada ao longo de várias revisões como resultado de um diálogo ativo e contínuo com a comunidade. Ela também tem um conjunto ampliado de autores, que inclui Yoav Weiss, da equipe ERC-4337 da Ethereum Foundation, e os autores já estão em discussões ativas com outras partes interessadas em potencial, incluindo os desenvolvedores de padrões complementares como o ERC-7484 da Rhinestone e o [ERC-7512](https://safe.mirror.xyz/Li4Mb4teTEmosE6dAsnJ_iz3aMKOV_4lDU84W4TSfc0) da Safe, além de outras equipes líderes no desenvolvimento de abstração de contas.

A equipe do ERC-6900 também está olhando além desses stakeholders centrais como parte dessa nova fase de construção em público. Os autores estão começando uma série de chamadas semanais com a comunidade, abertas ao público, a partir de 7 de novembro. Por favor, [entre em contato](mailto:account-abstraction@alchemy.com) se quiser participar dessas chamadas, se conectar conosco no telegram, ou ficar de olho na [conta no Twitter/X](https://twitter.com/erc6900) do padrão para atualizações semanais.

Como sempre — comentários e feedback são bem-vindos, seja na forma de um pull request para o [repositório](https://github.com/erc6900/reference-implementation) no Github, um comentário no [Ethereum Magicians](https://ethereum-magicians.org/t/erc-6900-modular-smart-contract-accounts-and-plugins/13885) ou uma pergunta no [canal](https://t.me/+KfB9WuhKDgk5YzIx) de telegram Modular Smart Contract Accounts.
