A Ethereum é uma das blockchains mais comummente utilizadas e estabelecidas e muitas criptomoedas, tokens e projetos Web 3.0 são desenvolvidos tendo esta como base.
Ao longo dos últimos anos, a Ethereum apresentou novas atualizações e protocolos ao seu ecossistema para torná-la mais eficiente, rápida e fácil de utilizar.
Hoje, discutiremos uma mudança significativa na experiência do utilizador com o novo método de abstração de conta que foi introduzido no início deste ano. O novo protocolo encurta os procedimentos de lidar com uma transação e torna a interface mais fácil para novos utilizadores.
Afinal, o que é a abstração de conta Ethereum? Explicaremos tudo detalhadamente e discutiremos porque é que isso pode ser revolucionário para si.
Principais considerações
- A abstração de conta muda a forma de funcionar das transações de criptomoedas, desde a implementação de contratos inteligentes e nós de validação até agrupar as transações iniciadas a partir de carteiras de contratos inteligentes.
- O método abstração de conta melhora a experiência do utilizador e requer menos interferência do utilizador.
- As carteiras de contrato inteligente não requerem códigos secretos e chaves privadas, impondo a segurança da carteira.
- A abstração de conta valida as transações em lotes, levando a taxas gas mais baixas, menos erro humano e processamento mais rápido.
Porquê a abstração de conta?
A forma mais comum de enviar criptomoedas é a partir de uma carteira de criptomoedas, inserindo um endereço da carteira, selecionando a quantia e enviando o dinheiro. Contudo, caso esteja a utilizar uma carteira de criptomoedas, sabe que há várias verificações que precisa de tomar, como assinar diferentes processos e aprovar o pagamento da taxa gas. De seguida, tem de esperar que a transação seja realizada e transmitida para a blockchain.
Este processo pode tornar-se complicado e moroso para os novos utilizadores de carteiras de criptomoedas, particularmente durante as horas de pico da blockchain, quando tem que aguardar um pouco entre cada passo. Por conseguinte, a necessidade de um processo mais suave e de uma interface imaculada contribuíram para o lançamento da Abstração de Conta da Ethereum, que foi anunciada em março de 2023.
A abstração de conta é um novo protocolo de transação que agrupa as transações e permite que os contratos inteligentes realizem o processo. Resumindo, cria mais trabalho para o código subjacente e menos passos para o utilizador.
Transações de criptomoedas antes da abstração
Para compreender melhor a importância da abstração de conta, iremos analisar como decorrem atualmente as transações de criptomoedas utilizando a forma convencional de uma conta de propriedade externa – EOA.
Quando a blockchain Ethereum foi fundada, as contas de propriedade externa eram uma forma de interagir com a blockchain para processar diferentes pedidos utilizando chaves públicas e privadas. A maioria das transações que decorrem agora na blockchain ETH assumem a forma de uma EOA para emitir pagamentos, cunhar, criar NFTs e outros ativos e criações digitais associados com a blockchain Ethereum.
As carteiras de criptomoedas como a MetaMask, Wasabi, Coinbase e outras comummente utilizadas não requerem custódia e transferem criptomoedas utilizando criptografia de chaves privadas e públicas para enviarem, aprovarem e receberem fundos. De seguida, as transferências de criptomoedas são encriptadas utilizando chaves públicas e enviadas para um endereço de carteira específico que desencripta a transação utilizando chaves privadas associadas ao endereço da carteira e recebe os fundos.
No entanto, este processo é moroso e entediante, incluindo uma verificação de assinatura para implementar contratos inteligentes e, de seguida, outra assinatura para aprovar a libertação dos fundos do remetente.
Posteriormente, a transação fica pendente na blockchain até que seja validada e transmitida e tem em consideração as horas de pico da blockchain, que podem provocar atrasos entre cada passo. Além disso, tem de pagar as taxas gas aparte da transação, por conseguinte, se estiver a realizar uma transferência na blockchain Ethereum, precisa de ter ETHs adicionais para pagar as taxas gas.
Este processo foi considerado moroso e era necessário um novo método para acompanhar as implementações gerais na Web 3.0 e nas transações de criptomoedas.
Transações de criptomoedas com abstração
Abstração de conta – também conhecida como o protocolo ERC-4337 – também conhecida como pseudotransação – é uma forma contemporânea de transacionar na blockchain Ethereum utilizando a linguagem de programação e as funções de código da blockchain ao invés de as fazerem manualmente pelos utilizadores.
Por conseguinte, há muito menos trabalho para o utilizador fazer e mais funções a serem processadas por códigos na blockchain e pelos seus vários elementos, como nós, estrutura nonce e contratos inteligentes. A infraestrutura da blockchain lida com transações e agrupa-as sistematicamente em grupos, abolindo a necessidade de chaves privadas e públicas criptográficas.
O envio de dinheiro utilizando as abstrações de conta segue os passos seguintes:
Passo 1 – o utilizador seleciona a quantia e o endereço da carteira para o qual querem enviar o dinheiro, implementando uma função UserOperation.
Passo 2 – os nós validadores “Bundler” recebem muitas dessas transações e agrupam-nas para as enviarem como uma linha de transação para a infraestrutura do contrato inteligente.
Passo 3 – uma vez que a “transação agrupada” chega ao ponto de entrada do contrato inteligente, este espoleta uma função “handleOps” para declarar a receção das transações em lote.
Passo 4 – uma função “validateUserOp” é espoletada para iniciar a validação e o processamento de várias transações relativamente à informação dada no passo interior.
Passo 5 – a transação é autenticada e libertada para a carteira do destinatário.
Desta forma, a transação torna-se mais simplificada no backend, descartando a necessidade da chave privada e pública para encriptar e desencriptar as transações.
Em que é que muda a sua experiência de transação?
Há algumas carteiras de criptomoedas que incorporam contas de contrato, tais como a Ambire, Argent e Braavos, oferecendo uma forma mais fácil e mais rápida de transacionar criptomoedas na blockchain Ethereum.
Estas carteiras operam utilizando uma rede de camada 2 na mainnet Ethereum, permitindo-lhe conduzir a abstração de conta com os seguintes recursos.
Interação com a carteira
A abstração de conta envolve menos interação entre o utilizador e a interface da carteira (ou com a blockchain) e aumenta a simplificação do trabalho dentro da própria implementação do código. Por conseguinte, a transação torna-se mais simplificada e mais fácil para os utilizadores, particularmente os novatos, utilizarem carteiras de criptomoedas com menos passos de verificação e assinaturas, dado que as chaves privadas já não são necessárias.
Adicionalmente, as carteiras de criptomoedas com contas Ethereum envolvem frases sementes que funcionam como uma chave privada que tem de ser armazenada em segurança porque qualquer um com a sua chave privada pode aceder à sua carteira. Observe que se perder a sua chave privada de 12 frases, perde acesso à sua carteira de criptomoedas e aos seus fundos.
Taxas Gas
Quando executa transações utilizando contratos inteligentes, tem de pagar taxas gas, que atuam como taxas de transação que recompensam e motivam os nós para validar várias transações.
Caso esteja a implementar um contrato inteligente na rede Ethereum, paga taxas gas indicadas em ETH, que são carregadas separadamente a partir da transação que está a iniciar.
Estas taxas de transação variam consoante o quão atolhada a rede se encontra. Contudo, ao utilizar uma carteira de contrato inteligente, tem outras opções para contornar as taxas gas.
- As abstrações de conta envolvem (abstração da taxa) permitindo que os utilizadores tenham patrocinadores para as suas transações, que pagam as suas taxas gas ao invés do utilizador da carteira de contrato inteligente. Assim sendo, um patrocinador cobrirá estas taxas e poderá pagá-las em diferentes moedas, que não a ETH, utilizando outros tokens como USDC, Tether, DAI ou outros tokens de criptomoedas.
- Pode obter transações patrocinadas por programadores dApp ou projetos que pagam as taxas gas de várias formas. Eles podem pagar em criptomoedas ou encher simplesmente o “tanque de gas”, o que significa que podem recarregar a quantia ETH da sua carteira.
Desta forma, pode processar transações sem pagar taxas gas ou sem ter um patrocinador a cobrir as suas taxas com outras criptomoedas e outras operações Ethereum para suavizar a sua transação.
Abstração Nonce
Nonce significa Number Only Used Once, e refere-se ao número identificador que acompanha cada transação que realiza a partir da sua carteira. Por exemplo, a primeira transação que executa recebe o número nonce #1, a segunda transação é etiquetada com o nonce #2 e por aí adiante.
Agora, porque é que isto é um problema? A nonce em si não é um problema. No entanto, a blockchain processa transações tendo como base o primeiro a chegar é o primeiro a ser servido (FIFO) enquanto dá prioridade às transações que têm um nonce # maior.
Assim sendo, se a transação 1 ainda estiver a ser processada e a transação 2 for acidentalmente implementada na blockchain antes da #1 terminar, a transação 1 será rejeitada. Este evento faz com que uma transação fique presa ou por aprovar.
Contudo, as contas inteligentes utilizam a abstração nonce no agrupamento da transação, o que significa que cada grupo tem um único nonce que faz com que cada linha de transação seja aprovada e trocada pela próxima transação. Afinal de contas, o lote nonce é verificado todo em conjunto no final.
Assinatura da transação
A assinatura da transação implica confirmar a interação entre os contratos inteligentes e a sua carteira para libertar os fundos segundo a quantia selecionada. Algumas carteiras podem precisar de outra assinatura para verificarem a encriptação da transação com uma chave pública e enviá-la para o destinatário.
Este processo decorre em contas de propriedade externa e, tipicamente, demora alguns segundos entre cada passo. No entanto, nas horas de pico da blockchain, pode estender-se para minutos.
Contudo, as contas inteligentes não lhe solicitam qualquer assinatura e iniciam as transações em seu nome. Assim sendo, as suas chaves privadas não fazem parte do processo, reduzindo o risco de expô-las no caso de ataques cibernéticos.
Contas de propriedade externa vs. Contas de contratos inteligentes
Após compreender a abstração de conta e porque é que é significativa, iremos abordar como é que esta promove aspetos essenciais da blockchain quando comparada com as contas de propriedade externa clássicas.
Proteção e segurança
A abstração de conta promove a segurança removendo a necessidade de encriptar as suas chaves privadas, evitando que sejam afetadas por ataques maliciosos ou tentativas de pirataria informática.
Além disso, as abstrações de conta removem a necessidade das frases semente, que são cruciais para recuperar a sua conta, e caso as perca, perde o acesso à sua carteira de criptomoedas.
Fluxo de trabalho
A abstração de conta tem um fluxo de trabalho mais sofisticado, onde tudo é processado automaticamente a partir das carteiras de contrato inteligente sem a mínima interação pelo utilizador para autorizar as transações.
Uma conta predefinida requer a verificação do proprietário da carteira para encriptar a chave privada do utilizador e assinar a transação para libertar os fundos da carteira. Este procedimento faz com que as transações sejam um processo leva e traz entre a blockchain e o utilizador, que pode envolver atrasos segundo o estado de congestionamento da rede.
Limites de transação
A abstração de conta promove a segurança da conta de contrato inteligente limitando as suas transações até um determinado limitado definido pelos utilizadores. Por conseguinte, se as transações de uma transação de contrato inteligente excederem o limite, a operação será rejeitada, aplicando melhor gestão e segurança da conta conta o uso indevido ou fraude.
Guardiões de confiança
O proprietário de uma conta inteligente pode definir carteiras de confiança ou “guardiões”, que podem assumir o controlo parcial sobre a sua conta inteligente caso as suas chaves privadas fiquem comprometidas ou pode ajudá-lo a recuperar a sua conta.
Uma conta guardião também pode congelar a sua carteira de contrato inteligente caso seja pirateada ou roubada e aprova as transações da sua conta.
Serviços de confiança
Com as contas Ethereum inteligentes, pode assinalar projetos dApps ou Web 3 como páginas de confiança, para que não lhe seja solicitado a verificação da sua conta ou de uma transação sempre que quer visitar essa dApp ou projeto.
Além disso, pode integrar prestadores de serviço para deduzir pagamentos regulares da sua conta de contrato, tal como assinaturas ou faturas mensais pagáveis em criptomoedas.
Recuperação da carteira Ethereum com a abstração de conta
Ao utilizar uma carteira sem custódia tradicional, caso perca as suas frases semente, não poderá aceder à sua carteira de criptomoedas nem aos seus ativos e não poderá recuperar os seus códigos secretos, que é uma das principais preocupações dos utilizadores de carteiras de criptomoedas.
No entanto, a abstração de conta não requer as 12 frases semente e se a sua chave privada ficar comprometida, pode criar uma nova. Além disso, pode configurar uma rotina de rotação de chave para alterar regularmente o seu código chave para fortalecer a segurança da sua conta Ethereum.
Benefícios da abstração de conta
Apesar de a introdução da abstração de conta ser recente, esta abordagem tem um potencial enorme para remodelar a forma como as transações de criptomoedas funcionam além das vantagens que se seguem.
- Reduzir a possibilidade do erro humano: as transações são simplificadas através do ambiente da blockchain com o mínimo de interação humana. Além disso, o utilizador não tem mais de armazenar e de manter as frases semente, reduzindo as probabilidades de expor os códigos de segurança da carteira.
- Segurança reforçada: as chaves privadas não fazem parte das carteiras de abstração de conta, minimizando as possibilidades de lhe roubarem a criptografia da carteira. Além disso, as carteiras de contrato inteligente operam na rede de camada 2 da blockchain, que usufrui de um protocolo de maior segurança.
- Taxas gas mais baixas: a implementação da abstração de conta permite que os utilizadores tenham as suas taxas cobertas por um terceiro, além do facto de que menos nós de validação são necessários para aprovar as transações.
- Transações de criptomoedas mais rápidas: dado que são necessárias menos assinaturas de verificação, o processo torna-se mais rápido com a utilização de contratos inteligentes e a minimização dos efeitos de congestão da rede.
- Ativação de múltiplas assinaturas: pode implementar a abstração de conta e permiteir que vários utilizadores partilhem a mesma carteira, sendo que as transações têm de ser confirmadas por todos os – ou pela maioria dos – utilizadores.
Contratempos da abstração de conta
Embora a abstração de conta forneça vários benefícios aos entusiastas de criptomoedas e aos titulares de carteiras, este conceito enfrenta alguns desafios.
- Relativamente nova: a abstração de conta é um conceito muito novo e precisará de tempo para a adoção em massa, levando a que a maioria dos proprietários de carteiras de criptomoedas substituam as suas carteiras atuais por novas carteiras que suportem a abstração.
- Ataques maliciosos: embora as contas inteligentes sejam relativamente mais seguras com a abstração de conta, ainda há uma possibilidade de que os fundos possam ficar comprometidos durante o processo de transação. Além disso, esta forma requer processamento mais demorado no backend e o seu período estendido pode expor a transação a riscos de ataques informáticos.
- Maior complexidade: por vezes, a simplicidade é a chave e embora a abstração de conta implique uma interface mais fácil para os utilizadores, esta envolve infraestrutura de código complexa, tornando o ecossistema propício a avarias e a ataques.
Conclusão
A abstração de conta é um novo conceito introduzido pela Ethereum e implica incorporar um processo simplificado para iniciar as transações de criptomoedas para os utilizadores. No entanto, coloca mais complexidade no código e na infraestrutura da blockchain que implementa contratos inteligentes e grupos e valida transações sem a interferência do utilizador, dependendo de programação sistemática.
Esta abordagem não requer a verificação por assinatura pelo utilizador ou de frases semente, o que faz com que a experiência seja mais fácil e mais segura para o utilizador. A abstração de conta também fornece mais personalização e flexibilidade aos utilizadores de criptomoedas que desejam partilhar a carteira com outros utilizadores sem comprometerem os seus fundos.
A abstração de conta foi introduzida no início deste ano e conseguiu atrair a atenção dos entusiastas e das comunidades de criptomoedas devido à sua abordagem e mecanismo inovadores. No entanto, ainda falta muito tempo para testemunharmos a transição em massa para estas carteiras.
Perguntas frequentes
O que é a abstração de conta nas criptomoedas?
A abstração de conta é o processo de utilizar contratos inteligentes como uma carteira e permitir que transacione em seu nome, ao contrário da forma tradicional de iniciar as transações e de assinar a verificação utilizando chaves privadas e públicas.
Quais são os benefícios da abstração de conta?
A abstração de conta permite mais personalização na gestão da carteira e promove mais segurança, dado que as chaves da carteira não fazem parte do processo. Além disso, torna as transações mais simplificadas e mais fáceis para o utilizador novato.
Qual é a finalidade da abstração de conta?
A abstração de conta envolve maior segurança e processamento de transação mais rápido. Pode utilizar carteiras de contrato inteligente para enviar e receber criptomoedas com taxas gas mais baixas e interagir com diferentes blockchains e redes fora da Ethereum, como a Avalanche, Tron etc.
Quais são os riscos da abstração de conta?
Ainda é um conceito novo que precisa de tempo para adoção em massa. Além disso, envolve uma infraestrutura de programação subjacente complexa, que pode ser propícia a avarias e a ataques DoS quando uma transação está a ser processada.