O Ethereum utiliza dois tipos de contas: contas externamente controladas (EOAs) e contas de contrato. As EOAs são controladas por chaves privadas e são usadas por indivíduos ou aplicações para assinar transações. Estas contas são simples em estrutura. Elas incluem um nonce, saldo e chave pública associada, mas nenhum código interno. Quando um usuário assina uma transação de uma EOA, a Máquina Virtual Ethereum (EVM) verifica a assinatura e deduz a taxa de gás antes de executar a transação. As contas de contrato, em contraste, são controladas por código e não iniciam ações por conta própria. Elas apenas respondem a transações desencadeadas por EOAs. A EVM processa a lógica do contrato e armazena o estado, mas um contrato não pode assinar transações de forma independente ou iniciá-las sem entrada externa.
Esta arquitetura limita a funcionalidade das contas na Ethereum. Uma vez que toda a atividade deve originar-se de EOAs e cada transação requer uma assinatura criptográfica válida, funcionalidades avançadas como autenticação em múltiplos fatores, recuperação social e operações em lote requerem soluções complexas. Essas restrições motivaram o conceito de abstração de conta—para tornar todas as contas programáveis e unificar a distinção entre atividade controlada pelo usuário e atividade controlada por contrato.
A abstração de conta modifica o caminho de validação das transações, permitindo que a própria conta defina como as ações são aprovadas e executadas. Em vez de impor uma assinatura de uma chave privada específica, uma carteira de contrato inteligente pode definir sua própria lógica para autenticação. Essa lógica pode incluir assinaturas de limite, verificações de dispositivos de hardware ou regras para limites de gastos e bloqueios de tempo.
Uma das mudanças mais impactantes introduzidas pela abstração de contas é a desacoplamento do pagamento de gás do remetente. Tradicionalmente, o iniciador da transação deve pagar pelo gás em ETH. Sob a abstração de contas, a lógica de validação pode permitir que terceiros—chamados de paymasters—cobram as taxas de gás em nome do usuário. Isso abre novas possibilidades, como patrocinar transações para usuários de primeira viagem, possibilitar interações em dApps sem gás ou pagar taxas em stablecoins ou tokens nativos de projetos.
Além disso, a abstração de conta introduz a capacidade de agrupar múltiplas operações em uma única transação. Por exemplo, um usuário pode aprovar um token, realizar uma troca e transferir fundos em uma única ação, reduzindo o número de confirmações necessárias e melhorando a experiência do usuário. Essas melhorias reduzem significativamente a fricção nas interações de dApp, mantendo a segurança e a composabilidade.
ERC-4337, finalizado em 2023, representa um marco na jornada do Ethereum em direção à abstração de contas. Ao contrário de propostas anteriores como a EIP-2938, o ERC-4337 não requer alterações na camada de consenso do Ethereum. Em vez disso, opera inteiramente dentro do ambiente de contratos inteligentes existente, introduzindo um fluxo de transações paralelo usando um mempool alternativo e uma arquitetura de contrato específica.
Sob o ERC-4337, as transações são substituídas por UserOperations—objetos de dados que descrevem ações desejadas, mas que não são submetidos ao mempool tradicional. Essas UserOperations são capturadas por atores off-chain especializados conhecidos como bundlers. Um bundler agrega múltiplas UserOperations em uma transação padrão do Ethereum e a submete à blockchain.
Na blockchain, um contrato singleton chamado EntryPoint verifica e processa estas operações agrupadas. O EntryPoint interage com contas inteligentes do usuário, que definem sua própria lógica de validação e delegam a execução das transações uma vez validadas. Para pagar taxas de gás, as contas podem opcionalmente interagir com paymasters, que patrocinam os custos de execução sob condições especificadas no código.
Esta estrutura permite uma forma descentralizada e sem permissões de suportar a abstração de contas sem modificar o protocolo base do Ethereum. Como resultado, os desenvolvedores podem implementar carteiras de contratos inteligentes que se comportam como EOAs do ponto de vista do utilizador, mas oferecem uma funcionalidade muito mais rica.
A Solana adota uma abordagem fundamentalmente diferente para a abstração de contas, apoiando-a a nível de protocolo. As contas Solana não são divididas em EOAs e contas de contrato. Em vez disso, todas as contas na Solana são contentores de armazenamento de propósito geral que podem conter dados, ser atribuídos a um proprietário e interagir com programas.
No modelo da Solana, a validação das ações está incorporada nos próprios programas (contratos inteligentes). Os Endereços Derivados de Programas (PDAs) são um elemento chave deste sistema. Estes são endereços determinísticos gerados a partir de sementes e programas que não têm chave privada associada. Em vez disso, são controlados pela lógica do programa e podem realizar ações quando as condições apropriadas são atendidas.
Devido a esta flexibilidade nativa, a Solana ofereceu funcionalidades como autorização multi-assinatura, delegação de contas e pagamento de taxas por terceiros, sem exigir padrões externos ou fluxos de transação simulados. Carteiras como Phantom e Solflare integraram essas capacidades desde o início, demonstrando uma experiência do utilizador fluida e controle programável dos fundos. Isso contrasta com a Ethereum, onde funcionalidades semelhantes dependem de sobreposições como o ERC-4337 e redes de agrupamento.
O Ethereum utiliza dois tipos de contas: contas externamente controladas (EOAs) e contas de contrato. As EOAs são controladas por chaves privadas e são usadas por indivíduos ou aplicações para assinar transações. Estas contas são simples em estrutura. Elas incluem um nonce, saldo e chave pública associada, mas nenhum código interno. Quando um usuário assina uma transação de uma EOA, a Máquina Virtual Ethereum (EVM) verifica a assinatura e deduz a taxa de gás antes de executar a transação. As contas de contrato, em contraste, são controladas por código e não iniciam ações por conta própria. Elas apenas respondem a transações desencadeadas por EOAs. A EVM processa a lógica do contrato e armazena o estado, mas um contrato não pode assinar transações de forma independente ou iniciá-las sem entrada externa.
Esta arquitetura limita a funcionalidade das contas na Ethereum. Uma vez que toda a atividade deve originar-se de EOAs e cada transação requer uma assinatura criptográfica válida, funcionalidades avançadas como autenticação em múltiplos fatores, recuperação social e operações em lote requerem soluções complexas. Essas restrições motivaram o conceito de abstração de conta—para tornar todas as contas programáveis e unificar a distinção entre atividade controlada pelo usuário e atividade controlada por contrato.
A abstração de conta modifica o caminho de validação das transações, permitindo que a própria conta defina como as ações são aprovadas e executadas. Em vez de impor uma assinatura de uma chave privada específica, uma carteira de contrato inteligente pode definir sua própria lógica para autenticação. Essa lógica pode incluir assinaturas de limite, verificações de dispositivos de hardware ou regras para limites de gastos e bloqueios de tempo.
Uma das mudanças mais impactantes introduzidas pela abstração de contas é a desacoplamento do pagamento de gás do remetente. Tradicionalmente, o iniciador da transação deve pagar pelo gás em ETH. Sob a abstração de contas, a lógica de validação pode permitir que terceiros—chamados de paymasters—cobram as taxas de gás em nome do usuário. Isso abre novas possibilidades, como patrocinar transações para usuários de primeira viagem, possibilitar interações em dApps sem gás ou pagar taxas em stablecoins ou tokens nativos de projetos.
Além disso, a abstração de conta introduz a capacidade de agrupar múltiplas operações em uma única transação. Por exemplo, um usuário pode aprovar um token, realizar uma troca e transferir fundos em uma única ação, reduzindo o número de confirmações necessárias e melhorando a experiência do usuário. Essas melhorias reduzem significativamente a fricção nas interações de dApp, mantendo a segurança e a composabilidade.
ERC-4337, finalizado em 2023, representa um marco na jornada do Ethereum em direção à abstração de contas. Ao contrário de propostas anteriores como a EIP-2938, o ERC-4337 não requer alterações na camada de consenso do Ethereum. Em vez disso, opera inteiramente dentro do ambiente de contratos inteligentes existente, introduzindo um fluxo de transações paralelo usando um mempool alternativo e uma arquitetura de contrato específica.
Sob o ERC-4337, as transações são substituídas por UserOperations—objetos de dados que descrevem ações desejadas, mas que não são submetidos ao mempool tradicional. Essas UserOperations são capturadas por atores off-chain especializados conhecidos como bundlers. Um bundler agrega múltiplas UserOperations em uma transação padrão do Ethereum e a submete à blockchain.
Na blockchain, um contrato singleton chamado EntryPoint verifica e processa estas operações agrupadas. O EntryPoint interage com contas inteligentes do usuário, que definem sua própria lógica de validação e delegam a execução das transações uma vez validadas. Para pagar taxas de gás, as contas podem opcionalmente interagir com paymasters, que patrocinam os custos de execução sob condições especificadas no código.
Esta estrutura permite uma forma descentralizada e sem permissões de suportar a abstração de contas sem modificar o protocolo base do Ethereum. Como resultado, os desenvolvedores podem implementar carteiras de contratos inteligentes que se comportam como EOAs do ponto de vista do utilizador, mas oferecem uma funcionalidade muito mais rica.
A Solana adota uma abordagem fundamentalmente diferente para a abstração de contas, apoiando-a a nível de protocolo. As contas Solana não são divididas em EOAs e contas de contrato. Em vez disso, todas as contas na Solana são contentores de armazenamento de propósito geral que podem conter dados, ser atribuídos a um proprietário e interagir com programas.
No modelo da Solana, a validação das ações está incorporada nos próprios programas (contratos inteligentes). Os Endereços Derivados de Programas (PDAs) são um elemento chave deste sistema. Estes são endereços determinísticos gerados a partir de sementes e programas que não têm chave privada associada. Em vez disso, são controlados pela lógica do programa e podem realizar ações quando as condições apropriadas são atendidas.
Devido a esta flexibilidade nativa, a Solana ofereceu funcionalidades como autorização multi-assinatura, delegação de contas e pagamento de taxas por terceiros, sem exigir padrões externos ou fluxos de transação simulados. Carteiras como Phantom e Solflare integraram essas capacidades desde o início, demonstrando uma experiência do utilizador fluida e controle programável dos fundos. Isso contrasta com a Ethereum, onde funcionalidades semelhantes dependem de sobreposições como o ERC-4337 e redes de agrupamento.