Quando comentei sobre as 10 tendências da Web3 em 2023, no primeiro lugar da lista estava a “autocustódia e simplificação da experiência do usuário”.
Desde 2017, a Ethereum Foundation já vinha trabalhando em uma solução “de curto prazo” chamada Account Abstraction (EIP-4337), com o fim tornar as transações na blockchain Ethereum mais amigáveis ao usuário.
- Não entendeu algum termo do universo Web3? Confira no nosso Glossário!
- Quer se manter atualizado em tudo o que é relevante no mundo cripto? O BeInCrypto tem uma comunidade no Telegram em que você pode ler em primeira mão as notícias relevantes e conversar com outros entusiastas em criptomoedas. Confira!
- Você também pode se juntar a nossas comunidades no Twitter (X), Instagram e Facebook.
Tendo este cenário como pano de fundo, no artigo de hoje, vamos desmistificar o Account Abstraction, com tudo o que você precisa saber sobre o assunto, e explorar o futuro da autocustódia, mostrando outras soluções em desenvolvimento com foco no usuário.
Mas antes de mergulharmos no assunto, é preciso destacarmos alguns pontos essenciais à compreensão do nosso artigo.
Os pré-requisitos para levar criptomoedas e Web3 ao mainstream
O termo “experiência do usuário” (UX) começou a ganhar relevância no meio da década de 1990.
Mas foi após os avanços nas tecnologias de computação, que deslocaram a interação homem-computador para praticamente todas as áreas da atividade humana, que UX ganhou notoriedade e importância.
Aqui, vale destacar que para experimentar um novo ecossistema pela primeira vez, os primeiros usuários (early adopters) precisam superar o medo de usar algo pouco testado, e ainda em desenvolvimento.
São os early adopters que aceleram a curva de difusão de uma nova plataforma, serviço ou produto, garantindo a viabilidade inicial de um ecossistema digital e, muitas vezes, contribuindo com seu feedback.
No entanto, para que uma inovação sobreviva no longo prazo, e alcance a adoção em massa em seu ciclo de vida, em determinado momento ela precisa priorizar e melhorar a experiência do usuário (UX). Afinal, os usuários são parte fundamental de qualquer ecossistema digital.
Ora, criptomoedas e Web 3 ainda carecem de capacidade de aproximação e de uma melhor experiência ao usuário (UX).
Ainda hoje, a grande maioria das pessoas tem dificuldade de, por exemplo, baixar uma wallet, transferir criptos peer-to-peer, entender o que é “gas fee”; isto sem falar que muitas correm o sério risco de comprometer todos os seus criptoativos – por não estão cientes de todos os cuidados necessárias com suas chaves privadas.
Por isso, para uma adoção em massa de cripto e Web3, é preciso uma maturidade tecnológica “de fácil utilização”.
O usuário, essencial a qualquer ecossistema digital, quer facilidade e tranquilidade quando utiliza um serviço ou produto.
Diminuir os riscos da usabilidade e melhorar a experiência do usuário (UX) é pré-requisito para cripto e Web3 alcançarem o mainstream.
Daí por que a Ethereum Foundation está apostando na solução Account Abstraction para tornar as transações em seu blockchain mais amigáveis ao usuário (o EIP-4337).
Mas antes de vermos no que consiste esse upgrade EIP-4337, é preciso dar um passo atrás e compreender a situação atual.
Transações no blockchain Ethereum e o “risco de usabilidade”
1) As transações na rede Ethereum
Na blockchain Ethereum, é possível aos usuários abrirem dois tipos de contas, que se diferenciam na maneira como iniciam transações na rede.
- EOA (External Owned Accounts): Contas Próprias Externas e,
- CA (Contract Accounts): Contas Contratuais.
Suas principais diferenças são:
Conta Própria externa (EOA)
- Criar uma conta EOA não custa nada;
- EOA uma uma conta capaz de iniciar transações na blockchain;
- As transações entre contas externas só podem transferir token “ETH” (ether);
- É composta de um par de chaves criptografadas: uma chave pública e outra privada – esta última controla as atividades da conta.
Conta Contrato (CA)
- A criação de um contrato tem um custo porque você está usando o armazenamento em rede;
- Uma CA só pode enviar transações em resposta ao recebimento de uma transação;
- Transações de uma conta externa (EOA) para uma conta contrato (CA) podem acionar códigos que podem executar muitas ações diferentes, como a transferência de tokens ou mesmo a criação de um novo contrato;
- Nas contas contrato não existem chaves privadas. Em vez disso, elas são controladas pela lógica do código do contrato inteligente.
Assim, uma conta EOA Ethereum é aquela que você usa se estiver usando um fornecedor de carteira como MetaMask. Este é, portanto, o tipo mais comum de conta para usuários Ethereum.
Com EOA, você recebe um par de chaves – uma chave pública e uma privada. Qualquer pessoa pode enviar fundos para sua EOA usando sua chave pública. Mas somente você, proprietário da conta – ou quem tiver acesso à chave privada da conta – , pode realmente iniciar transações a partir da conta. Por isso, a chave privada deve ser mantida em segredo. Veja mais sobre criptografia de chaves públicas, aqui.
De outro lado, as contas CAs Ethereum – mais conhecidas como “contratos inteligentes” – são aquelas controladas por códigos de software com regras auto-executáveis, ao invés de chaves privadas. Imagine um cofre criptografado que desbloqueia valor ou direito de acesso se, e quando determinadas condições pré-estabelecidas são cumpridas.
Mas aqui, existe um “porém”… CAs não podem iniciar transações por conta própria. Como assim?
É preciso que uma EOA envie uma transação (mensagem ou instrução) a uma CA, para que só então ela possa fazer transações por conta própria.
Aqui, surge outro problema.
O risco de usabilidade nas EOAs
O risco de usabilidade nada mais é que a possibilidade de erro humano ao gerenciar a chave privada.
Como já dito, quem tiver o controle da chave privada possui o controle absoluto da conta. E se você perdê-la, perderá o acesso total aos seus ativos, que ficarão presos na sua conta para sempre.
Da mesma forma, se um terceiro conseguir o controle de sua chave privada (pense em cibercriminosos) e “se apropriar” de seus ativos, transferindo-os para outra conta, você terá perdido o acesso a eles para sempre. Já comentei sobre este assunto, no artigo “Autocustódia: o que significa ser seu próprio banco”.
Em resumo, se você perder a chave privada da sua conta EOA, que pena, não existe um botão de redefinição de senha. Um único erro pode ser catastrófico e, infelizmente, muitas pessoas já fizeram isso ao longo dos anos. São inúmeros os relatos e fracassos documentados e, provavelmente, há ainda muitas histórias que não foram documentadas, porque as pessoas têm vergonha de falar.
O risco de usabilidade é a maior falha de segurança na gestão de uma conta EOA Ethereum.
Para solucionar estes problemas que acabamos de ver, é que entra o Account Abstraction.
Account Abstraction (AA), o upgrade EIP-4337 que deseja levar criptos e Web 3 ao mainstream.
1) visão geral
“Account Abstraction” (AA) é um método para transformar uma conta de usuário em um contrato inteligente. Por que isto é importante?
Porque AA simplifica o UX em aplicações Web 3, eliminando as complexidades da custódia, carteiras digitais e blockchains.
Com ela, os usuários podem transacionar e custodiar suas criptos com maior facilidade e segurança.
Dito de outro modo, o AA resolve as deficiências das contas EOAs fundindo-as com as contas CAs, o que possibilita que as pessoas criem contas de usuário com mecanismos integrados de segurança contra falhas, otimizando a verificação de transações.
Dessa forma, o contrato inteligente – que hoje implementa apenas só a lógica das aplicações – passaria a implementar também a lógica de verificação (de assinaturas, etc.) diretamente nas carteiras dos usuários, via contratos inteligentes.
Aqui, vale destacar que o contrato pode ser usado em todas as cadeias EVM, o que significa que pode ser implantado em qualquer lugar que seja compatível com EMV.
2) O conceito de Account Abstraction (AA) não é novo. Por que demorou tanto para ser implementado?
O conceito de AA não é novo. Em 2017, Vitalik escreveu uma EIP sobre o tema, e outras implementações foram propostas nesse meio-tempo.
O principal obstáculo para sua implementação tem sido o fato de que estas mudanças exigiriam atualizações fundamentais para o Ethereum, que são notoriamente difíceis de coordenar, e outras mudanças do núcleo (como a mudança para Proof-of-Stake) tiveram uma prioridade maior.
Depois que o The Merge ocorreu e as discussões se deslocaram para a facilitação do embarque de novos usuários rumo ao mainstream, pouco a pouco voltou o interesse pelo Account Abstraction.
E nas últimas semanas, a maré parece ter tomado o impulso necessário para a implementação total do AA. Finalmente, a Ethereum Foundation anunciou a implantação da a EIP-4337, elaborada em setembro de 2021, em um evento relacionado à ETHDenver, conhecido como WalletCon.
Paralelamente a isto, há a expectativa que vários fornecedores de infraestrutura divulguem seus planos para apoiar a ERC-4337 através de seus serviços.
Nessa linha, L2s como zkSync e StarkNet estão desenvolvendo um Account Abstraction nativo em suas arquiteturas de sistema.
Visto isso, quais são as possibilidades trazidas pelo AA na prática ?
3) Benefícios do Account Abstraction à autocustódia e experiência o usuário (UX)
3.1) Transações patrocinadas
Hoje, os potenciais usuários precisam ir para uma exchange centralizada, esperar pela KYC, comprar o “ether” (ETH), transferi-lo para sua carteira, para só então experimentar a maioria dos DApps.
Com o AA, os desenvolvedores Aplicações Descentralizadas (Dapps) poderiam optar por subsidiar as taxas de transação como parte de seu processo de integração, removendo um dos maiores pontos de fricção para novos usuários em cripto.
Além disso, também seria possível a opção de se usar uma token diferente (como o DOGE) para pagar o gás do Dapps, ou ainda, de designar outra pessoa (como um parente ou amigo) para pagar as taxas de gás.
3.2) Pagamentos automáticos em uma carteira não custodiada (hardwallet)
Atualmente, a aprovação de todas as transações em uma carteira de autocustódia precisam ser simultâneas. Isto ocorre, porque atualmente a Blockchain Ethereum só suporta pagamento Push, onde é uma transação de pagamento é acionada pelo pagador.
Com AA, seria possível programar as transações para ocorrerem em determinada data, ou segundo os fluxos de eventos – como vencimentos de contas de serviços públicos, assinaturas de TV, dentre outros . Isto permitiria estabelecer pagamentos automatizados em uma carteira de autocustódia.
3.3) Processo de recuperação social
Nos métodos tradicionais de recuperação de carteiras, o usuário precisa estar na posse de frase de segurança (a famosa SEED), para recuperar o acesso a sua carteira. Isto, contudo, pode se tornar uma dor de cabeça, se o usuário perder sua frase de recuperação ou se ela for roubada.
Com AA, é possível implementar um processo de recuperação “social” onde um usuário pode designar indivíduos de confiança como agentes de recuperação.
3.4) Carteiras Multisig por padrão
Em uma carteira de várias chaves (multi-signature keys), vários dispositivos, indivíduos ou partes devem fornecer suas assinaturas antes que uma transação possa ser executada. Hoje, as carteiras Multi-Sig exigem que as contas EOAs iniciem a transação, paguem a taxa de gás e depois ativem o contrato inteligente de múltiplas siglas. Só então o contrato irá reembolsar o montante de gás inicialmente pago pela conta EOA.
Com AA, as contas podem ser programadas para exigir várias assinaturas antes que uma transação seja executada, transformando cada conta em uma carteira multisig por padrão. Isto permite que os usuários implementem facilmente a funcionalidade multisig, sem ter que usar um contrato de carteira multisig em a parte.
3.5. Facilidade no gerenciamento de chaves para games
Atualmente, os jogadores de games em blockchain têm que aprovar cada ação ou disponibilizar ao jogo o controle total sobre sua carteira.
Com AA, a carteira de contrato inteligente pode ser programada para criar uma chave privada que permite transações automáticas apenas com um DApp específico e por determinado período de tempo.
Isto é vantajoso, por conceder o mínimo de privilégio ao DApp que o gamer deseja utilizar, aumentando a segurança. Todos os ativos pertencentes à conta principal da carteira permanecem então protegidos.
A Visa pretende usar o AA para automatizar pagamentos em hardwallets
Recentemente, a Visa também anunciou a possibilidade de adotar o AA para implementar pagamentos automáticos através da StarkNet, L2 que está desenvolvendo um Account Abstraction “nativo” em suas arquiteturas de sistema.
Assim, seus clientes – que já programam pagamentos recorrentes de suas contas em TradiFi – poderiam automatizar o pagamento de suas contas via blockchain.
Pensamentos finais
Account Abstraction é uma solução que transforma as carteiras dos usuários em contas de contrato inteligentes.
Com ele, construtores e desenvolvedores podem criar produtos e serviços mais acessíveis e úteis ao usuário, o que pode acelerar a adoção tanto de criptos, como da Web 3.
À medida que mais marcas estabelecidas aderem essa nova solução, deixando para trás o fardo da gestão de chaves privadas, mais próximos ficamos do tão sonhado mainstream.
Neste processo, contudo, não se assustem se “termos” já sedimentados receberem uma nova abordagem. Como?
“Wallet” é uma palavra que já está sendo substituída por “Pay Key”. “Carteira multisig” agora está sendo chamada de “Vault”. O termo “NFT” vem sendo substituída por “Digital Collectible”, dentre outros.
Importante observar que Account Abstraction não é a única abordagem para melhorar a autocustódia e a UX. Mas hackathons recentes têm nos mostrado que os construtores da próxima geração da Web têm preferido Account Abstraction às outras soluções.
E você? Acha que essa tendência do AA como solução se confirma?
Já percebeu que alguns players como Reddit tem substituído antigos termos “cripto” por outros, mais de acordo com o atual estágio de evolução das blockchains e derivados?
Conseguiu entender as vantagens do AA para autocustódia e UX na Web 3? Sabia que tanto a VISA, quanto Ethereum Foundation tinham apostado no AA como solução?
Também acha que após o EIP-4337, as transações no blockchain Ethereum ficarão mais simples? Compreendeu a importância deste upgrade Ethereum para acelerar a adoção cripto e Web 3?
Conhecimento é poder!! Nos vemos em breve!
Isenção de responsabilidade
Todas as informações contidas em nosso site são publicadas de boa fé e apenas para fins de informação geral. Qualquer ação que o leitor tome com base nas informações contidas em nosso site é por sua própria conta e risco.