Tech Lead at Superdao.co
The is an opinion piece based on the author’s POV and does not necessarily reflect the views of HackerNoon.
This story contains new, firsthand information uncovered by the writer.
A adoção de criptomoedas está aumentando – mesmo em meio ao mercado de baixa de 2022, o mercado viu um aumento em carteiras e transações. Em junho de 2023, vimos 15 milhões de carteiras ativas, mais que o dobro de dois anos atrás, quando os preços ainda eram elevados.
Tal interesse decorre de uma série de razões – desde taxas mais baixas, maior velocidade e melhor segurança, até sua natureza como um escudo contra as forças da inflação e sua oferta de maiores oportunidades no cenário global.
Mas ainda estamos nos primeiros dias do desenvolvimento da indústria criptográfica. Se compararmos as taxas de crescimento de usuários de Internet e usuários de criptografia, a tendência resultante será muito semelhante. Se a indústria criptográfica se desenvolver de forma eficaz, resolvendo simultaneamente todos os problemas que colocam as massas em adoção, então, até o final desta década, devemos teoricamente esperar o primeiro bilhão de usuários criptográficos.
No entanto, observando os benefícios, a adoção não é tão difundida quanto deveríamos esperar, especialmente no mercado não custodial. A razão? A lacuna educacional escancarada. As tecnologias Blockchain são simplesmente muito difíceis de entender. Para usar um EOA, ou uma 'Conta de propriedade externa', como uma conta da carteira Metamask , o usuário médio precisa entender termos como 'frase inicial', 'chaves públicas e privadas', 'contratos inteligentes', 'gas taxas' – também não há como fugir disso, como se erros fossem cometidos, fundos fossem perdidos.
Como resultado, há anos a comunidade busca a simplificação. De fato, agora, com o conceito de 'Account Abstraction', estamos quase lá. É por isso que, hoje, vamos explorar onde, o quê e os porquês, enquanto avaliamos as duas diferentes categorias de soluções.
Conforme abordamos brevemente, a principal barreira para a adoção generalizada de criptomoedas está em sua complexidade de uso. EOAs são efetivamente pares de chaves públicas-privadas, onde o usuário atua tanto como o 'Signatário' das transações quanto como a 'Conta'. Eles são responsáveis tanto pela validação quanto pela execução das transações – ou seja, é muito peso para a velhinha querer mandar dinheiro para o neto no aniversário dele.
Além da quantidade de conhecimento conceitual necessário para realizar uma transação no blockchain, o uso precisa ser isento de erros. Como não há custodiante terceirizado para lidar com senhas perdidas e autenticação de dois fatores, se a senha for perdida, os fundos serão perdidos em conjunto.
Como tal, a maioria das pessoas que interagem com o blockchain o faz apenas como custodiante, instruindo plataformas centralizadas como a Binance a manter suas chaves privadas em seu nome.
Claro, existem preocupações de privacidade aqui – especialmente quando consideramos o recente desastre do FTX. A centralização nunca foi o sonho do blockchain, então uma solução em relação à usabilidade de plataformas não custodiais sempre foi uma prioridade.
É aí que entra a abstração da conta. Em termos leigos, essa é a prática de dissociar o relacionamento entre a conta que detém os ativos e o signatário, tornando a própria conta um contrato inteligente.
Obviamente, essa ideia não é nova e sempre esteve no roteiro da Ethereum, sendo proposta em diferentes EIPs desde 2016.
Recentemente, no entanto, com o anúncio do EIP-4337 em 2021, o sonho está finalmente se tornando realidade com soluções de camada de aplicação. Qualquer desenvolvedor dApp seria capaz de utilizar a proposta para fazer coisas como: patrocinar taxas de transação do usuário; permitindo recursos de segurança adicionais, como monitoramento de transações on-chain; utilizando logins sociais para apresentar tutores sem custódia e fornecer recuperação de conta. Recentemente, em 2 de março de 2023, a comunidade implantou os contratos inteligentes necessários para a implementação do EIP-4337 na rede Ethereum principal. Em seguida, os principais players de infraestrutura, como Alchemy, Biconomy, Gelato Network e etc., lançaram componentes de infraestrutura de abstração de contas principais.
Além disso, com o advento da mecânica avançada da camada 2, as soluções ZK-Rollup, como StarkNet e ZKsync, oferecem abstração de conta nativa na camada de protocolo.
Em teoria, a abstração de contas e a flexibilidade que ela oferece são uma solução ideal para as barreiras acima mencionadas à entrada do blockchain. No entanto, há uma razão principal pela qual uma solução não foi coroada e está nos riscos de segurança aumentados.
A extensibilidade das transações aumenta a área de superfície do vetor de ataque, devido ao fato de que cada componente deve ser protegido individual e holisticamente.
No entanto, todos os dias, nossos heróis rastejam mais perto da linha de chegada, e os riscos enfrentados pela abstração de contas estão diminuindo a cada dia. Como tal, vale a pena aprofundar os tipos de soluções disponíveis.
Falamos até certo ponto sobre as propostas de melhoria do Ethereum que mudam a maneira como a rede funciona. Desde 2016, a ideia de Account Abstraction certamente tem sido uma integração desejável.
Notavelmente, em 2018, as carteiras de contrato inteligente foram introduzidas para proteger os ativos do usuário. Nesse ponto, pela primeira vez, a recuperação social tornou-se possível, com monitoramento de fraudes on-chain – tudo sem fornecer a custódia a terceiros. Em 2020, com o EIP-2938, foi desenvolvido um novo tipo de transação que permitiria que os contratos inteligentes atuassem como contas de nível superior. Não muito tempo depois, veio o EIP-3074, que fez com que os EOAs existentes se comportassem de maneira semelhante aos contratos inteligentes, permitindo que os usuários simplesmente delegassem o controle do EOA a um contrato inteligente. Então, em 2021, o EIP-4337 atingiu o roteiro Ethereum, que é onde estamos hoje.
A ideia principal da proposta era padronizar a infraestrutura off-chain necessária para escrever e operar carteiras de contratos inteligentes. Notavelmente, com uma clara separação de validação e execução quando se trata de ações de usuários não custodiais no blockchain.
Fonte: O caminho para a abstração contábil de Vitalik Buterin
Então, o que está acontecendo nos bastidores quando se trata do EIP-4337? Em primeiro lugar, o caminho da transação envolve o envio da UserOperation para um mempool de alto nível (efetivamente, uma fila onde as transações são classificadas e armazenadas antes de serem adicionadas a um novo bloco). Em seguida, um empacotador agrupa um grupo de UserOperations em uma transação de pacote, que é enviada ao contrato do EntryPoint com taxas pagas pelo empacotador.
Então, o contrato do EntryPoint faz duas coisas. Em primeiro lugar, ele verifica a transação da carteira de destino e, em seguida, executa a chamada. Conforme vimos, há uma clara separação entre validação e execução aqui – algo extremamente importante para a abstração da conta.
Essa abordagem pode ser usada para criar carteiras criptográficas de nova geração para blockchains EVM, onde os usuários poderão aproveitar os recursos avançados de segurança, como recuperação social, alteração de chave, assinatura múltipla e etc.
Usando um exemplo do mundo real, Safe Wallet by Gnosis – uma carteira de contrato inteligente multisig que roda em blockchains EVM. A própria carteira requer a confirmação da transação não de um, mas de vários titulares de carteira, cada um com uma assinatura diferente. Vale a pena notar que o Safe é provavelmente a primeira carteira de contrato inteligente que se espalhou e, no momento, cerca de 60 bilhões de ativos são armazenados em mais de 3 milhões de carteiras.
A carteira Safe oficial não pode ser chamada de carteira de abstração de conta muito poderosa que implementa todos os recursos que esse novo conceito oferece, basicamente possui apenas funcionalidade multi-sig. A Safe posiciona-se mais como um protocolo aberto com base no qual é possível construir uma carteira criptográfica de próxima geração graças ao seu design extensível. Mais recentemente, a Safe deu suporte ao EIP-4337 como padrão e lançou o SDK de abstração de conta Safe {Core} para desenvolvedores externos.
No entanto, as tecnologias de camada de aplicativo na rede principal Ethereum apresentam desvantagens perceptíveis.
Contratos inteligentes, por exemplo, não apenas expandem as aplicações da tecnologia blockchain, mas também aumentam a área de superfície para ataque. Esses contratos geralmente são escritos em uma linguagem de alto nível, como solidity, antes de serem compilados em bytecode e implantados no blockchain pelo proprietário do contrato, onde serão executados em várias máquinas virtuais. A complexidade significa que novos vetores de ataque surgem, aumentando a probabilidade de ataques de dependência de ordem de transação, falsos ataques de recarga e ataques de repetição – todos geralmente ocorrendo na camada do aplicativo.
Em segundo lugar, como todo o ecossistema Ethereum é construído em torno de EOAs, muitos Dapps são incompatíveis com carteiras de contratos inteligentes. Isso é em grande parte resultado de carteiras de contratos inteligentes serem vistas como cidadãos de 'segunda classe' no Ethereum.
Biconomia (Contrato de Smart Account, Bundler, Paymaster, SDK)
StackUp (contrato de conta inteligente, empacotador, pagador, SDK)
Seguro (contrato de conta inteligente, SDK)
Web3Auth (gerenciamento de chaves)
As soluções para as vulnerabilidades da camada de aplicativos residem no desenvolvimento de uma solução de camada 2, projetada para ser usada com abstração de conta.
Em outras palavras, uma sidechain que pode mover o processo de abstração de conta para a camada de protocolo. StarkNet e ZkSynce são exemplos fantásticos de L2s com realização de abstração de conta nativa inspirada em erc-4337. A principal diferença do EIP 4337 em L1 é que as contas nativas aqui são cidadãos de primeira classe do protocolo.
Vamos nos aprofundar na implementação da abstração de contas na StarkNet. Assim como no EIP 443, existe uma meta para validar cada transação. De fato, a função Validate garante que qualquer transação enviada foi iniciada pelo proprietário da conta e não ocupará nenhum recurso adicional durante a execução, enquanto a função execute abstrai as ações restantes executadas por uma transação.
Outra tarefa importante dessas soluções de camada 2 é verificar as assinaturas fora da cadeia – algo que foi proposto na rede principal com o EIP-1272. Na verdade, isso é algo que a StarkNet faz muito bem com Argent X, uma carteira de navegador baseada na infraestrutura existente da StarkNet – a conta nos dados assinados provenientes de mensagens off-chain garante que, se vários contratos de conta estiverem usando a mesma chave, a assinatura solicitada por um dApp para uma conta específica não pode ser usado para fins de autenticação de conta alternativa.
Na verdade, o aplicativo é a primeira carteira a existir na StarkNet e possui uma extensão de navegador para Chrome e Firefox. É multiconta, permite que os usuários enviem e recebam NFTs e é 100% open source . Em termos leigos, Argent X percebe os benefícios da infra-estrutura StarkNet no front-end.
Além disso, assim como a infraestrutura de camada de aplicativo, esses aplicativos de camada 2 também permitem a conexão de guardiões, onde as contas podem ser reprogramadas para atender a novas chaves. A recuperação social é 100% sem custódia, pois você pode decidir quem é o tutor e alterá-lo a qualquer momento.
Existem também alguns benefícios fantásticos quando se trata de jogos. Por exemplo, chaves de sessão disponíveis com customização lógica significam que variáveis como tempo e contratos com os quais interagir podem ser alteradas dependendo do caso de uso.
É difícil contar quantas carteiras de abstração de contas existem no mercado, mas encontrei 2 painéis Dune com estatísticas. O primeiro apresenta mais de 400 mil carteiras ERC-4337 de diferentes redes EVM (Base, Avalanche, Optimism, BSC, Arbitrum, Ethereum, Polygon), o segundo mostra que existem mais de 4 milhões de carteiras seguras de diferentes redes EVM (todas suportadas por cadeias seguras).
Fonte:
Falando sobre Seguro. Mais recentemente, o sensacional projeto Worldcoin lançou seu aplicativo World para o público com uma carteira criptográfica sem custódia integrada e um dispositivo World Orb através do qual o processo de verificação de identidade é organizado em todo o mundo.
Assim, em apenas algumas semanas, eles integraram mais de 2 milhões de usuários que receberam prova de identidade da Worldcoin para suas carteiras criptográficas criadas no aplicativo World. Os desenvolvedores do projeto decidiram aplicar o conceito de abstração de contas no desenvolvimento do World App. Sob o capô, esta carteira de contrato inteligente usa Safe{Core}, uma pilha de abstração de conta da Safe.
Agora, por meio da abstração de contas, eles organizam apenas uma experiência sem gás para seus usuários, mas em versões futuras, eles vão oferecer suporte à recuperação de contas e outros recursos interessantes que o conceito AA permite que eles implementem. Até o momento, o World App é o maior implantador de carteiras seguras, entre mais de 4 milhões de carteiras seguras, 1,5 milhão foi criado pela Worldcoin para seus usuários.
Considerando a quantidade de infraestrutura e o número de carteiras inteligentes criadas, o número ainda não é impressionante, vamos descartar o fato de que agora é um inverno criptográfico e um determinado número máximo de usuários criptográficos foi atingido.
Mas não se pode negar que estará pronto para a próxima tendência de alta e o fluxo de novos usuários de criptografia será integrado por meio de carteiras de abstração de contas, e não por meio de carteiras EOA. E acho que o exemplo de lançamento da Worldcoin tornará as carteiras de abstração de contas ainda mais populares.
Em termos de conclusão – uma coisa é clara. As soluções da camada 2 não são de forma alguma inferiores às propostas de melhoria do Ethereum da rede principal e, em vez disso, são amplamente construídas sobre elas. Assim como as soluções de camada 2 são projetadas com maior velocidade e taxas de transação mais baixas em mente, a abstração de conta nativa com esses recursos embutidos são ótimas alternativas para as deficiências da rede principal Ethereum.
Com a adoção de criptografia aumentando dia a dia, é importante resolvermos os problemas associados a uma interface confusa para que um gosto ruim não seja deixado na boca dos reguladores e usuários comuns.
É por isso que perceber a verdadeira abstração de contas – seja por meio dos poderes de nível de aplicativo da rede principal Ethereum ou dos projetos emergentes de camada 2 que trazem esse conceito para o nível de protocolo – nunca foi tão importante para a adoção generalizada de blockchain tecnologias.
Imagem principal de Shubham Dhage no Unsplash
Abstração de conta: soluções para camadas L1 e L2 e estado atual de adoção | HackerNoon