A abstração de conta é segura? Um guia para mitigar riscos

iniciantes12/12/2023, 4:51:36 PM
Este artigo analisa as características conceituais e os casos de uso da Abstração de Conta (AA), usa o ERC-4337 como exemplo para ilustrar sua prática e explica possíveis riscos e contramedidas.

Antes da abstração de contas, havia dois tipos de contas no Ethereum: contas de propriedade externa (EOA) e contratos inteligentes. Uma EOA é uma conta de usuário típica que possui uma chave privada. Este também é o único tipo de conta que pode iniciar uma transação. Por exemplo, um usuário precisa ter ETH para enviar uma transação. Criar transações em lote é difícil e não há opções de recuperação caso um usuário perca sua chave privada. A abstração de conta (AA) foi criada para resolver esses problemas. Mas é uma solução sem riscos? Este guia cobre os fundamentos da AA antes de detalhar os seus riscos e como mitigá-los.

Neste guia:

  • Quais são os principais recursos da abstração de contas?
  • Casos de uso de abstração de conta
  • Implementações de abstração de conta
  • Risco de abstração de conta versus recompensa?
  • Dúvidas frequentes

Quais são os principais recursos da abstração de contas?

A abstração de contas é uma tecnologia que permite que contratos inteligentes inicializem transações por si próprios. Ele permite que os usuários criem contas representadas por contratos inteligentes. Essa tecnologia também possibilita diversos recursos que melhoram a interação dos usuários com a rede.

  • Um usuário pode pagar taxas de gás com tokens
  • Aplicativos podem patrocinar gás para transações de usuários
  • Existem mecanismos flexíveis para proteger a conta
  • Bridges e cross-chain dexes podem funcionar sem moeda nativa.

Casos de uso de abstração de conta

Implementações de abstração de conta

Houve diferentes propostas sobre como implementar AA na rede Ethereum. Alguns deles envolvem mudanças significativas no protocolo Ethereum, o que complica a implementação. A implementação mais proeminente é a ERC-4337, que não envolve nenhuma alteração na camada de consenso. O padrão replica o mempool da transação em uma escala de nível superior. Os contratos inteligentes do ERC-4337 foram implantados na rede Ethereum em março de 2023.

ERC-4337 usa contratos inteligentes denominados carteiras em vez de EOA. Esta carteira de contrato inteligente pode ser controlada não apenas por uma chave privada, mas por um mecanismo complexo arbitrário que está codificado no contrato.

Em vez de transações, os usuários enviam UserOperations. Uma UserOperation contém instruções de execução, verificação de assinaturas e outros dados. Assim como nas transações, um usuário especifica um prêmio para o Bundler priorizar sua operação.

Mineradores ou empacotadores empacotam operações em transações de pacote que são então incluídas na rede Ethereum.


Implementação de AA: HashEx

Entre outros dados, UserOperation contém o código para criar uma carteira de contrato inteligente. Se um usuário não tiver uma carteira, ela será criada para ele.

Se um usuário quiser pagar pela transação com um token ERC20 ou mesmo não quiser pagar por uma transação, ele especifica um endereço de contrato pagador na UserOperation. Um pagador é um serviço de terceiros que pagará pela transação em troca de tokens ERC20.

Quais são os riscos e como mitigá-los?

Embora a abstração de contas seja criada para melhorar a segurança do usuário, existem alguns riscos, especialmente nas fases iniciais de adoção. O ecossistema Ethereum é famoso por bugs em contratos inteligentes que levaram ao roubo de bilhões de dólares por usuários mal-intencionados. Aqui estão alguns riscos do AA e como eles podem ser evitados/mitigados.

Risco de bugs na implementação da norma

Como qualquer nova tecnologia, a abstração de contas corre o risco de sua primeira implementação conter bugs. Os contratos inteligentes do ERC-4337 foram auditados por uma empresa líder em segurança de blockchain, OpenZeppelin.

Mitigação: A solução é usar a verificação formal — um processo que envolve o uso de métodos matemáticos para provar a exatidão dos contratos inteligentes. O processo de verificação formal dos contratos ERC4337 está em curso, mas ainda não foi concluído.

Bugs devido a incompatibilidades com alguns contratos inteligentes

Nem todo contrato inteligente é compatível com carteiras de abstração de contas. Por exemplo, contratos inteligentes que usam o campo tx.origin para verificar a carteira que enviou a transação obterão um valor inesperado. Outra incompatibilidade ocorre com contratos inteligentes que utilizam assinaturas EOA: eles não são suportados por carteiras AA.

Nesses contratos, certas funcionalidades cruciais podem não funcionar corretamente. Na pior das hipóteses, os fundos dos utilizadores podem ser bloqueados.

Mitigação: Para diminuir os riscos, o usuário que utiliza uma carteira de abstração de conta deve verificar se o protocolo com o qual interage suporta a tecnologia.

Código de terceiros para carteiras

O padrão foi projetado para que uma carteira de contrato inteligente possa ser criada na primeira UserOperation por meio de uma fábrica de contrato inteligente. No entanto, existe o risco de que o contrato inteligente de implementação da carteira contenha bugs. É extremamente importante usar apenas fábricas de carteiras que tenham sido minuciosamente auditadas e testadas pelas principais empresas de segurança de blockchain.

Mitigação: Use apenas serviços confiáveis para criar carteiras e garanta que o código da carteira seja auditado por pelo menos uma empresa confiável de segurança de blockchain.

Código de terceiros para pagadores

Se um usuário ou projeto usa pagadores, ele depende de terceiros para pagar pelas transações. Pode haver erros na implementação do pagador, e um pagador mal-intencionado pode roubar os fundos dos usuários.

Deve-se notar que o serviço do pagador escolhido também pode sofrer com usuários mal-intencionados que podem encontrar maneiras de enganar o pagador para que pague por suas transações.

Mitigação: As carteiras usam apenas pagadores de fornecedores confiáveis e garantem que o código dos pagadores foi auditado antes de usá-los.

Melhores Práticas

A abstração de contas no blockchain Ethereum é um conceito relativamente novo. Como tal, as melhores práticas e estruturas de desenvolvimento para a sua utilização ainda estão em processo de estabelecimento. Existem poucos exemplos de uso de abstração de conta para os desenvolvedores aprenderem.

Mitigação: A melhor prática acabará por se desenvolver após a difusão da norma. Para os desenvolvedores, é crucial compartilhar experiências usando a nova tecnologia, especialmente nos estágios iniciais de adoção.

Modo rascunho do padrão

O ERC-4337 ainda está em modo rascunho, embora os contratos já tenham sido implantados na Mainnet. Existe a possibilidade de que o padrão mude. Deve-se notar que tais mudanças devem afetar detalhes menores e não afetar contratos inteligentes já implantados.

Mitigação: Os desenvolvedores devem ficar de olho em como o padrão se desenvolve e atualizar o código de seus projetos de acordo com as alterações no padrão, caso elas ocorram.

Centralização

Embora o ERC-4337 tenha sido projetado para que todos possam iniciar um bundler, pelo menos no estágio inicial, o ecossistema de abstração de contas é bastante centralizado, pois há poucas implementações de Bundlers prontas para produção.

Mitigação: Para evitar riscos de erro em uma implementação do Bundler que afete a rede de abstração de contas, pelo menos algumas implementações do Bundler devem ser usadas. Muitas implementações do Bundler estão atualmente em desenvolvimento e em breve muitas delas estarão prontas para produção.

Risco de abstração de conta versus recompensa?

A abstração de contas é uma tecnologia potencialmente excelente que pode trazer mais adoção ao Ethereum. Ao mesmo tempo, é um dos desenvolvimentos que podem tornar o blockchain mais seguro. Ainda assim, como acontece com qualquer nova adição à tecnologia blockchain em seus estágios iniciais, os usuários devem estar extremamente vigilantes. Revisar e pesquisar AA é a melhor escolha para todos que desejam adotar esta tecnologia.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Beincrypto]. Todos os direitos autorais pertencem ao autor original [Gleb Zykov]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

A abstração de conta é segura? Um guia para mitigar riscos

iniciantes12/12/2023, 4:51:36 PM
Este artigo analisa as características conceituais e os casos de uso da Abstração de Conta (AA), usa o ERC-4337 como exemplo para ilustrar sua prática e explica possíveis riscos e contramedidas.

Antes da abstração de contas, havia dois tipos de contas no Ethereum: contas de propriedade externa (EOA) e contratos inteligentes. Uma EOA é uma conta de usuário típica que possui uma chave privada. Este também é o único tipo de conta que pode iniciar uma transação. Por exemplo, um usuário precisa ter ETH para enviar uma transação. Criar transações em lote é difícil e não há opções de recuperação caso um usuário perca sua chave privada. A abstração de conta (AA) foi criada para resolver esses problemas. Mas é uma solução sem riscos? Este guia cobre os fundamentos da AA antes de detalhar os seus riscos e como mitigá-los.

Neste guia:

  • Quais são os principais recursos da abstração de contas?
  • Casos de uso de abstração de conta
  • Implementações de abstração de conta
  • Risco de abstração de conta versus recompensa?
  • Dúvidas frequentes

Quais são os principais recursos da abstração de contas?

A abstração de contas é uma tecnologia que permite que contratos inteligentes inicializem transações por si próprios. Ele permite que os usuários criem contas representadas por contratos inteligentes. Essa tecnologia também possibilita diversos recursos que melhoram a interação dos usuários com a rede.

  • Um usuário pode pagar taxas de gás com tokens
  • Aplicativos podem patrocinar gás para transações de usuários
  • Existem mecanismos flexíveis para proteger a conta
  • Bridges e cross-chain dexes podem funcionar sem moeda nativa.

Casos de uso de abstração de conta

Implementações de abstração de conta

Houve diferentes propostas sobre como implementar AA na rede Ethereum. Alguns deles envolvem mudanças significativas no protocolo Ethereum, o que complica a implementação. A implementação mais proeminente é a ERC-4337, que não envolve nenhuma alteração na camada de consenso. O padrão replica o mempool da transação em uma escala de nível superior. Os contratos inteligentes do ERC-4337 foram implantados na rede Ethereum em março de 2023.

ERC-4337 usa contratos inteligentes denominados carteiras em vez de EOA. Esta carteira de contrato inteligente pode ser controlada não apenas por uma chave privada, mas por um mecanismo complexo arbitrário que está codificado no contrato.

Em vez de transações, os usuários enviam UserOperations. Uma UserOperation contém instruções de execução, verificação de assinaturas e outros dados. Assim como nas transações, um usuário especifica um prêmio para o Bundler priorizar sua operação.

Mineradores ou empacotadores empacotam operações em transações de pacote que são então incluídas na rede Ethereum.


Implementação de AA: HashEx

Entre outros dados, UserOperation contém o código para criar uma carteira de contrato inteligente. Se um usuário não tiver uma carteira, ela será criada para ele.

Se um usuário quiser pagar pela transação com um token ERC20 ou mesmo não quiser pagar por uma transação, ele especifica um endereço de contrato pagador na UserOperation. Um pagador é um serviço de terceiros que pagará pela transação em troca de tokens ERC20.

Quais são os riscos e como mitigá-los?

Embora a abstração de contas seja criada para melhorar a segurança do usuário, existem alguns riscos, especialmente nas fases iniciais de adoção. O ecossistema Ethereum é famoso por bugs em contratos inteligentes que levaram ao roubo de bilhões de dólares por usuários mal-intencionados. Aqui estão alguns riscos do AA e como eles podem ser evitados/mitigados.

Risco de bugs na implementação da norma

Como qualquer nova tecnologia, a abstração de contas corre o risco de sua primeira implementação conter bugs. Os contratos inteligentes do ERC-4337 foram auditados por uma empresa líder em segurança de blockchain, OpenZeppelin.

Mitigação: A solução é usar a verificação formal — um processo que envolve o uso de métodos matemáticos para provar a exatidão dos contratos inteligentes. O processo de verificação formal dos contratos ERC4337 está em curso, mas ainda não foi concluído.

Bugs devido a incompatibilidades com alguns contratos inteligentes

Nem todo contrato inteligente é compatível com carteiras de abstração de contas. Por exemplo, contratos inteligentes que usam o campo tx.origin para verificar a carteira que enviou a transação obterão um valor inesperado. Outra incompatibilidade ocorre com contratos inteligentes que utilizam assinaturas EOA: eles não são suportados por carteiras AA.

Nesses contratos, certas funcionalidades cruciais podem não funcionar corretamente. Na pior das hipóteses, os fundos dos utilizadores podem ser bloqueados.

Mitigação: Para diminuir os riscos, o usuário que utiliza uma carteira de abstração de conta deve verificar se o protocolo com o qual interage suporta a tecnologia.

Código de terceiros para carteiras

O padrão foi projetado para que uma carteira de contrato inteligente possa ser criada na primeira UserOperation por meio de uma fábrica de contrato inteligente. No entanto, existe o risco de que o contrato inteligente de implementação da carteira contenha bugs. É extremamente importante usar apenas fábricas de carteiras que tenham sido minuciosamente auditadas e testadas pelas principais empresas de segurança de blockchain.

Mitigação: Use apenas serviços confiáveis para criar carteiras e garanta que o código da carteira seja auditado por pelo menos uma empresa confiável de segurança de blockchain.

Código de terceiros para pagadores

Se um usuário ou projeto usa pagadores, ele depende de terceiros para pagar pelas transações. Pode haver erros na implementação do pagador, e um pagador mal-intencionado pode roubar os fundos dos usuários.

Deve-se notar que o serviço do pagador escolhido também pode sofrer com usuários mal-intencionados que podem encontrar maneiras de enganar o pagador para que pague por suas transações.

Mitigação: As carteiras usam apenas pagadores de fornecedores confiáveis e garantem que o código dos pagadores foi auditado antes de usá-los.

Melhores Práticas

A abstração de contas no blockchain Ethereum é um conceito relativamente novo. Como tal, as melhores práticas e estruturas de desenvolvimento para a sua utilização ainda estão em processo de estabelecimento. Existem poucos exemplos de uso de abstração de conta para os desenvolvedores aprenderem.

Mitigação: A melhor prática acabará por se desenvolver após a difusão da norma. Para os desenvolvedores, é crucial compartilhar experiências usando a nova tecnologia, especialmente nos estágios iniciais de adoção.

Modo rascunho do padrão

O ERC-4337 ainda está em modo rascunho, embora os contratos já tenham sido implantados na Mainnet. Existe a possibilidade de que o padrão mude. Deve-se notar que tais mudanças devem afetar detalhes menores e não afetar contratos inteligentes já implantados.

Mitigação: Os desenvolvedores devem ficar de olho em como o padrão se desenvolve e atualizar o código de seus projetos de acordo com as alterações no padrão, caso elas ocorram.

Centralização

Embora o ERC-4337 tenha sido projetado para que todos possam iniciar um bundler, pelo menos no estágio inicial, o ecossistema de abstração de contas é bastante centralizado, pois há poucas implementações de Bundlers prontas para produção.

Mitigação: Para evitar riscos de erro em uma implementação do Bundler que afete a rede de abstração de contas, pelo menos algumas implementações do Bundler devem ser usadas. Muitas implementações do Bundler estão atualmente em desenvolvimento e em breve muitas delas estarão prontas para produção.

Risco de abstração de conta versus recompensa?

A abstração de contas é uma tecnologia potencialmente excelente que pode trazer mais adoção ao Ethereum. Ao mesmo tempo, é um dos desenvolvimentos que podem tornar o blockchain mais seguro. Ainda assim, como acontece com qualquer nova adição à tecnologia blockchain em seus estágios iniciais, os usuários devem estar extremamente vigilantes. Revisar e pesquisar AA é a melhor escolha para todos que desejam adotar esta tecnologia.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Beincrypto]. Todos os direitos autorais pertencem ao autor original [Gleb Zykov]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!