Visa: repensando as transações criptográficas a partir da abstração da conta

Encontrar soluções inovadoras para permitir uma experiência de negociação criptográfica sem atrito é fundamental até que as moedas digitais sejam adotadas pelo mainstream.

Escrito por: Mustafa Bedawala, Mert Ozbay e Catherine Gu

Compilação: Pesquisa GWEI

Apesar do progresso contínuo, o blockchain está atualmente lutando para fornecer o mesmo nível de flexibilidade e experiência do usuário que os principais ecossistemas de pagamento digital. No entanto, tecnologias emergentes podem aprimorar a experiência de pagamento ao fazer transações com moedas digitais. Em Pagamentos automatizados para carteiras auto-hospedadas, nos aprofundamos na aplicação de tecnologia de ponta para pagamentos automatizados, aproveitando o conceito de abstração de contas (AA) em blockchains públicos. ¹Nossa exploração de AA e uma experiência aprimorada de pagamento criptográfico continua com uma visão de como o atual paradigma AA no Ethereum oferece soluções criativas para lidar com taxas de transação: os usuários podem usar stablecoins, outros tokens ERC-20 para pagar taxas de transação Ethereum ou não t pagar nada? Encontrar soluções inovadoras para permitir uma experiência de integração e negociação de criptografia sem atrito é fundamental até que as moedas digitais ganhem adoção mainstream.

Uma visão geral técnica do ERC-4337, o padrão atual para implementações de AA no Ethereum, visa entender melhor o ERC-4337. Discutimos a implantação experimental da Visa de dois conjuntos de contratos Paymaster para demonstrar como as taxas de gás no blockchain podem ser redesenhadas para melhorar a conveniência do usuário.

Abstração de conta e ERC-4337

Para entender melhor a proposta de valor da abstração de contas, vamos revisar brevemente os dois tipos de contas que existem atualmente no Ethereum: contas de propriedade externa (EOAs) e contas de contrato (CAs), comumente chamadas de contas de usuário e contratos inteligentes, respectivamente. O EOA, controlado por uma chave privada, permite que os usuários enviem transações. No entanto, eles carecem da programabilidade dos contratos inteligentes, tornando-os ainda mais inflexíveis. Em contraste, as CAs possuem código executável, mas não podem iniciar transações de forma independente. As transações devem sempre se originar da conta do usuário e conter a assinatura do usuário, seja uma simples transferência de tokens ou uma operação complexa realizada por meio de muitos contratos inteligentes.

O conceito de Account Abstraction (AA) visa alavancar a programabilidade de CAs para o benefício dos usuários finais. Ao escrever um contrato inteligente, é prática comum definir um proprietário para controlar o comportamento do contrato. As carteiras auto-hospedadas criadas como contratos inteligentes podem fornecer aos usuários mais funcionalidades do que as carteiras baseadas em EOA. Isso é alcançado por meio da introdução de um novo padrão ethereum chamado ERC-4337, proposto por membros da comunidade ethereum, incluindo o fundador do ethereum, Vitalik Buterin. ² O ERC-4337 permite que o proprietário possua diretamente a conta do contrato inteligente sem a assinatura do EOA. Embora o proprietário não possa assinar o EOA no sentido tradicional, sua propriedade do contrato inteligente ainda requer um processo de autenticação seguro para garantir que ele esteja controlando e gerenciando adequadamente a conta do contrato inteligente. Por sua vez, essa conta de contrato inteligente pode lidar com tarefas como autenticação multifator, pagamentos recorrentes e regras e políticas personalizadas definidas pelos usuários finais.

ERC-4337 é o mais recente desenvolvimento do AA, originalmente proposto em 2021 como Ethereum Improvement Proposal (EIP)-4337. Passou pelo processo Ethereum Request for Comments (ERC), que estabelece padrões para aplicações na rede Ethereum. A diferença entre EIPs e ERCs é seu escopo e requisitos de adoção. O ERC define como os contratos inteligentes devem ser executados e interagir uns com os outros no nível do aplicativo. Eles não exigem adoção por todos os participantes, como EIPs principais (Ethereum Improvement Proposals), que são implantados no nível do protocolo e exigem um consenso mais amplo dentro da comunidade. A transição de EIP-4337 para ERC-4337 marca que a proposta atendeu aos padrões exigidos para aplicativos Ethereum e agora faz parte oficialmente do ecossistema Ethereum. Em março de 2023, os principais componentes do ERC-4337 foram implantados na rede principal Ethereum. Ao contrário dos EIPs de abstração de conta anteriores, o ERC-4337 não requer modificações na camada de consenso do protocolo blockchain para permitir a abstração de conta na rede Ethereum. ² Este desenvolvimento permite que os participantes da rede blockchain explorem e experimentem imediatamente novas experiências de usuário sem esperar por grandes atualizações de rede. Vale ressaltar que uma das vantagens do ERC-4337 é que ele é compatível com qualquer blockchain que utilize a máquina virtual Ethereum, conferindo à AA um padrão além do próprio Ethereum.

Atravessar transações ERC-4337

Em uma transação EOA típica, os usuários interagem com suas carteiras auto-hospedadas para criar, assinar e enviar transações para o mempool público. A carga útil da transação gerada e assinada com a chave privada do usuário é então propagada através dos nós para um mempool ponto a ponto (P2P). Validadores ou entidades especializadas (chamadas construtoras) selecionam transações adequadas e lucrativas de um mempool público para executá-las e incorporá-las ao blockchain.

Figura 1: Processo típico de transação Ethereum

O ERC-4337 apresenta um processo de transação alternativo ao método EOA tradicional, adicionando uma nova etapa antes que a transação atinja o endereço proxy EOA. Os usuários enviam suas intenções como UserOperations, que são propagadas por meio de um mempool de UserOperations dedicado. Esse mempool exclusivo é monitorado pelo bundler, que atua como um proxy EOA, enviando UserOperations para o mempool público na forma de transações EOA típicas que a rede pode manipular. Essas transações seguem o mesmo fluxo das transações regulares, ingressando no mempool público ou indo diretamente para os construtores.

Apresentamos passo a passo o processo de ponta a ponta de uma transação ERC-4337, desde a geração de UserOperation até a execução. Antes de mergulhar, é imperativo definir o conceito de caixa, que desempenha um papel vital nesse processo e está no centro de nossa própria exploração. Paymaster é uma conta de contrato inteligente opcional que pode patrocinar taxas de transação para contas de contrato (contratos inteligentes centrados no usuário). Paymasters avalia se a UserOperation é aceita durante a fase de validação e implementa qualquer lógica de taxa necessária durante a fase de execução. Ao fazer isso, eles podem patrocinar taxas de transação para usuários e permitir que os usuários paguem pelo gás usando tokens ERC-20, como stablecoins em USD.

Figura 2: Processo de transação ERC-4337

  1. O usuário gera UserOperations por meio da carteira de contrato inteligente que está em conformidade com o padrão ERC-4337. UserOperations encapsula a intenção do usuário de interagir com o blockchain, que o usuário assina para autenticação. Uma vez gerados, os UserOperations são comprometidos com o Mempool UserOperation dedicado, um armazenamento dedicado a UserOperations separado do mempool de transação Ethereum padrão.

  2. Os empacotadores são uma classe especializada de agentes que monitoram o UserOperation Mempool, executam simulações e montam uma série de UserOperations em um único pacote de transação. Os empacotadores são responsáveis por coletar UserOperations e enviá-los ao contrato do EntryPoint, otimizando o uso de gás e maximizando o lucro, utilizando a lógica de pagamento em primeiro lugar.

  3. O contrato EntryPoint recebe um pacote de UserOperations. Ele atua como um coordenador central para gerenciar UserOperations no fluxo de transação ERC-4337.

  4. Se UserOperation for especificado, o contrato EntryPoint irá interagir com o contrato Paymaster. Conforme mencionado anteriormente, os Paymasters podem patrocinar taxas de transação de conta de contrato. O EntryPoint verifica se o pagador possui depósitos suficientes ou se a conta do contrato possui fundos suficientes para pagar pelo gás. Durante a execução, se o Paymaster estiver envolvido, ele poderá implementar a lógica de taxa personalizada, que demonstramos na próxima seção.

  5. O contrato do EntryPoint então chama a conta do contrato e, se necessário, o caixa para verificar a assinatura na UserOperation. Contas de contrato são contas de usuário que interagem perfeitamente com o contrato do EntryPoint para facilitar a execução da transação. Após a verificação bem-sucedida, o EntryPoint transfere os dados relevantes de cada UserOperation para a conta do contrato e inicia o processo de execução.

Abstração de contas e aplicação prática

À medida que a tecnologia blockchain continua a explorar aplicativos do mundo real, as carteiras de autocustódia estão se tornando uma opção popular para os usuários manterem e realizarem transações com suas moedas digitais. Desde o início do Ethereum, aproximadamente 180 milhões de endereços únicos foram transacionados, incluindo contas de todos os tipos e várias contas pertencentes ao mesmo indivíduo ou grupo de indivíduos. ³No entanto, a cada mês, vemos apenas milhões de interações on-chain iniciadas por pessoas reais, com atividade diária on-chain na rede principal Ethereum em cerca de 1 milhão de transações por dia. ⁴ Em comparação, a Visa processou 258 bilhões de transações em 2022, uma média de 707 milhões de transações por dia, e atualmente existem 4,1 bilhões de cartões vinculados à Visa em circulação globalmente. ⁵ Os blockchains poderiam desfrutar de níveis comparáveis de adoção se suportassem a mesma amplitude de experiências de pagamento com a mesma facilidade de uso? As possíveis etapas nessa direção incluem retirar as taxas de gás para usuários ou permitir que eles paguem taxas de transação em tokens ERC-20.

Use ERC-4337 Paymaster para pagar com tokens ERC-20

Figura 3: Paymaster facilita o pagamento de taxas de transação usando tokens ERC-20

Para realizar transações na blockchain Ethereum hoje, os usuários precisam obter ETH para pagar as taxas de gás; da mesma forma, para realizar transações na blockchain Polygon, os usuários precisam obter o token nativo MATIC. Existe uma solução que elimine a necessidade de acumular diferentes faixas de tokens de blockchain nativos apenas para pagar pelo gás? A situação é semelhante ao valor da rede principal de pagamentos transfronteiriços da Visa, onde os viajantes podem gastar em sua moeda local sem adquiri-la primeiro. Nesta versão do contrato Paymaster, o contrato pode atuar como um serviço intermediário de conversão de moeda. O serviço pode coletar moeda digital dos usuários e, em seguida, convertê-la em um token nativo com base na taxa de câmbio vigente para pagar pelo gás em nome do usuário. Além disso, isso pode ser feito com financiamento instantâneo, o que significa que os usuários só precisam financiar os custos do gás no momento da transação, sem nenhum requisito de financiamento inicial, para otimizar o gerenciamento do fluxo de caixa.

Taxas de transação do patrocinador para usuários usando ERC-4337 Paymaster

Figura 4: Paymaster patrocina taxas de transação para usuários

Hoje, as transações P2P na Web 2.0 são gratuitas para consumidores em muitos países, o que levanta uma questão imediata: por que os consumidores deveriam pagar por transações P2P no blockchain? O Account Abstraction fornece uma solução que permite aos usuários contornar essas taxas se um terceiro (como um provedor de carteira fintech) estiver disposto a cobri-las. Nesse caso, o provedor de carteira ou dApp pode atuar como caixa, pagando taxas de gás para o usuário e reduzindo significativamente o atrito. O conceito ERC-4337 Paymaster pode incentivar a adoção do usuário, permitindo que os usuários transacionem por meio de sua plataforma de carteira gratuitamente.

Entre outras coisas, as contas de contratos inteligentes podem simplificar o gerenciamento de carteira e fornecer uma alternativa à verificação de assinatura, permitindo autenticação multifatorial para maior segurança e recuperação de fundos em carteiras de autocustódia. Além disso, eles simplificam o uso de dApps, permitindo permissões temporárias para tarefas específicas com limites personalizáveis, como autorizar dApps a processar pagamentos pull recorrentes de contas de usuários, até um determinado valor. Esses exemplos simplesmente ilustram como os contratos inteligentes podem ajudar usuários não cripto-nativos a interagir com a tecnologia blockchain com mais facilidade, mantendo suas contas seguras.

Nossos experimentos com ERC-4337 Paymaster

Use ERC-4337 Paymaster para pagar com tokens ERC-20

Figura 5: Paymaster facilita o pagamento de taxas de transação usando tokens ERC-20 (trecho de código)

Com nosso primeiro contrato Visa Paymaster, estamos explorando se os usuários podem pagar taxas de transação com tokens alternativos, como stablecoins USD ou até mesmo moedas digitais do banco central no futuro. Nesse caso, o Paymaster paga as taxas de transação de ETH recebendo o equivalente a um token ERC-20 genérico pago pelo usuário. Para a implementação, usamos o código inicial fornecido pela Ethereum Foundation e pela equipe principal do ERC-4337⁶. Este contrato de exemplo contém a lógica de gerenciamento para Paymaster e seu token ERC-20 customizado. Para este contrato, introduzimos uma lista de permissões e uma função para atualizar a taxa de conversão de token para ETH. Isso nos permite simular melhor as condições da vida real, onde a taxa de câmbio entre ETH e tokens é dinâmica. Nossa configuração de teste envolveu a implantação de uma carteira de contrato inteligente e o envio de ações do usuário. Atualmente, as opções de carteira compatível com ERC-4337 são limitadas, decidimos usar a carteira Trampoline construída pela Ethereum Foundation e a equipe principal ERC-4337. ⁷ Para enviar nossas ações de usuário para o Goerli Testnet, usamos o Bundler público da Blocknative. ⁸ Para uma UserOperation bem-sucedida, o contrato Visa Paymaster primeiro precisa verificar se o usuário tem fundos suficientes no ERC-20 para pagar a taxa de gás. Após a confirmação, os usuários pagam taxas de transação com este token ERC-20 genérico. Você pode encontrar nosso contrato implantado, ⁹ e o UserOperation tratado aqui.

Taxas de transação do patrocinador para usuários usando ERC-4337 Paymaster

Figura 6: Paymaster patrocina taxas de transação para usuários (trecho de código)

De acordo com o segundo caso de uso que mencionamos, nosso outro contrato Visa Paymaster patrocina totalmente as taxas de transação. Novamente, nossa implementação é baseada no código inicial¹¹ fornecido pela Ethereum Foundation e pela equipe principal do ERC-4337. O Origination Code patrocina cada transação pro bono. Adicionamos uma lista de permissões para permitir que apenas usuários autorizados interajam com o contrato Visa Paymaster. Você pode encontrar nosso contrato implantado aqui. ¹² Nossa implementação de teste foi capaz de patrocinar com sucesso as taxas de transação de ação do usuário para usuários da lista de permissões. Você pode ver uma UserOperation bem-sucedida aqui. ¹³

O caso de uso Paymaster vai muito além do que destacamos neste artigo. Ao abstrair a lógica básica de processamento do blockchain, muitas experiências de usuário inovadoras são possíveis. Para o desenvolvimento do ERC-4337 atualmente em andamento, vemos várias abordagens possíveis que podem se basear em nossos experimentos descritos acima. Por exemplo, em vez de exigir um novo token ERC-20 personalizado incorporado ao contrato inteligente do Paymaster, seria mais fácil integrar o Paymaster a um token ERC-20 existente, como o USDC. Essa abordagem requer o uso de uma fonte externa para determinar o preço do token e verificar se o contrato Paymaster aprovou a cobrança do usuário pelo token especificado. Uma abordagem é implantar um serviço oracle off-chain que possa fornecer as informações necessárias, como preços de token e assinaturas que o contrato Paymaster possa verificar.

Como alternativa, todo o processo pode ser tratado on-chain com a ajuda de um contrato oracle para os dados necessários. Embora essa abordagem forneça uma melhor garantia de que os caixas sejam devidamente compensados, também é mais difícil de implementar. Algumas restrições ERC-4337 tornam difícil para os Paymasters consultar oráculos on-chain durante a verificação do Paymaster, e os Bundlers frequentemente rejeitam UserOperations que precisam fazer isso. Para habilitar esse processo, é necessário estabelecer um mempool alternativo com uma lista de Paymasters confiáveis, aos quais o Bundler pode optar. Esses Paymasters confiáveis podem chamar contratos oracle, e UserOperations usando esses Paymasters serão extraídos do pool de memória de backup.

Olhando para o futuro

Interagir com um blockchain usando uma carteira digital pode ser uma experiência desafiadora, e muitos acreditam que garantir a facilidade de uso é uma etapa crítica para impulsionar uma adoção mais ampla. O ERC-4337 apresenta possibilidades futuras interessantes para melhorar a experiência de pagamento do usuário on-chain por meio de carteiras de contratos inteligentes com autocustódia, o que, por sua vez, pode mudar a maneira como os usuários gastam moedas digitais e ativos digitais.

A comunidade Ethereum está no início desta nova jornada quando se trata do ERC-4337. Existem muitos planos para fornecer a infraestrutura na qual os fluxos orientados por AA podem ser construídos, alguns dos quais usamos em nossos testes e mencionamos neste artigo, mas ainda há espaço considerável para crescimento. Como em qualquer campo aberto, existem abordagens e compensações concorrentes, como as opções de descentralização oferecidas por Bundlers públicos versus a personalização de Bundlers privados; a segurança sem confiança do Paymaster totalmente on-chain versus a implantação de alguns componentes em comparação com a relação custo-benefício; e a multiplicidade de esquemas alternativos de assinatura que as carteiras podem usar, entre outras coisas. Essas diferentes opções de design podem resultar em um rico conjunto de opções para melhor fornecer aos usuários futuras experiências de pagamento digital.

Inovação em pagamentos para todos, em todos os lugares

Como líder global em soluções de pagamento, a Visa está sempre em busca de inovações que atendam às necessidades do mundo real. Continuaremos a investigar o potencial dos contratos inteligentes e o possível futuro do dinheiro programável e dos pagamentos programáveis. Neste artigo, investigamos como o AA no Ethereum implementado pelo ERC-4337 pode permitir novos casos de uso interessantes no blockchain. Fornecemos uma explicação completa de uma transação ERC-4337 e explicamos como ela difere das transações Ethereum padrão para destacar a mecânica subjacente.

Nossos experimentos no ERC-4337 se concentram em dois casos de uso distintos, implantando contratos Paymaster para aprender e avaliar sua utilidade potencial na solução de problemas do mundo real e melhorar significativamente a experiência do cliente por meio de interações on-chain. Para empresas que trabalham nessa fronteira, nossas equipes de produto, pesquisa e engenharia terão prazer em discutir ideias para pagamentos programáveis.

Entre em contato com a Visa Crypto em GDLVisaCryptoResearch@visa.com para saber mais sobre nossos interesses de pesquisa e atividades no ecossistema criptográfico.

*Este documento é meramente ilustrativo. Ele contém uma descrição do produto em desenvolvimento e deve ser entendido como uma representação dos recursos potenciais do produto totalmente implantado. A versão final deste produto pode não conter todos os recursos descritos nesta apresentação. Em nosso texto, insistimos em uma distinção clara entre os termos conceituais ponto de entrada, paymaster e operação do usuário, e suas correspondentes entidades on-chain EntryPoint, UserOperation e Paymaster. Essa abordagem segue as convenções estabelecidas na proposta original ERC-4337. *

*Agradecimentos a Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot e ao cofundador da Stackup, John Rising, pela revisão. *

Ver original
O conteúdo serve apenas de referência e não constitui uma solicitação ou oferta. Não é prestado qualquer aconselhamento em matéria de investimento, fiscal ou jurídica. Consulte a Declaração de exoneração de responsabilidade para obter mais informações sobre os riscos.
  • Recompensa
  • Comentar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate.io
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)