Autor: Mert Ozbay & Mustafa Bedawala & Catherine Gu, Visa; Tradução: Jinse Finance xiaozou
A tecnologia Blockchain teve ampla adoção nos últimos anos e, embora tenha o potencial de moldar o futuro dos fluxos de dinheiro, as transações blockchain também apresentam um nível mais alto de complexidade não encontrado nos métodos de pagamento tradicionais. As transações Blockchain usam uma rede descentralizada onde vários participantes da rede verificam e registram cada transação. As transações Blockchain envolvem carteiras autocustodiais, chaves privadas, taxas de gás - todos os elementos que não se aplicam aos métodos de pagamento tradicionais. Para fazer transações usando um blockchain como o Ethereum, os consumidores devem manter um saldo de uma certa quantia do token nativo do blockchain (como ETH) para pagar pelo uso da rede, conhecido como “taxas de gás”. E se enviar uma transação blockchain usando uma carteira auto-hospedada fosse tão fácil para um usuário quanto pagar uma xícara de café com cartão de crédito? A experiência do usuário no blockchain ainda não alcançou a mesma facilidade de uso para carteiras autocustodiais. Por exemplo, enquanto o Ethereum oferece suporte a pagamentos push, ele não oferece suporte nativo a pagamentos pull, como pagamentos automáticos. Para resolver isso, no artigo do ano passado "Pagamentos automáticos para carteiras auto-hospedadas", exploramos e demonstramos como usar a abstração de conta para configurar pagamentos pull para carteiras auto-hospedadas.
A Visa é excelente em facilitar transações envolvendo diferentes moedas. Por exemplo, o usuário pode viajar para outro país sem se preocupar com a necessidade de preparar moeda estrangeira com antecedência, pois o mesmo cartão Visa permite fazer compras no país e no exterior. No entanto, tal simplicidade não existe no mundo criptográfico. Os consumidores que fazem transações no Ethereum encontram-se constantemente gerenciando seus saldos de ETH para pagar taxas de gás, uma tarefa onerosa que os distrai da importante atividade de blockchain. Depois de comparar a complexidade das transações blockchain com a simplicidade das transações de pagamento fiat suportadas pela rede Visa, fica claro que as transações blockchain precisam ser melhoradas. A questão que permanece é: como podemos ajudar a fechar essa lacuna e tornar as transações de blockchain mais fáceis e convenientes?
(Figura 1: Rede Visa)
Reconhecendo esse desafio, exploramos uma opção para simplificar as transações de blockchain, permitindo que os usuários paguem pelo gás na cadeia diretamente em moeda fiduciária por meio de pagamento com cartão. Nesse caso, os usuários podem não precisar mais manter um token nativo de uma blockchain específica apenas para pagar as taxas de gás. Essa solução potencial alavancaria o padrão ERC-4337 da ethereum e os contratos de pagamento para permitir que os usuários paguem pelo gás diretamente com um cartão Visa. Acreditamos que essa abordagem inovadora e flexível pode ajudar a simplificar o ponto de entrada para novos usuários de criptografia e aprimorar a experiência dos usuários existentes. Neste artigo, nos aprofundamos nos desafios existentes das transações blockchain, destacamos a necessidade de abordagens mais flexíveis e apresentamos nossos experimentos.
1. Pergunta
Um dos principais obstáculos no mundo criptográfico é o complexo processo de pagamento por transações ou operações de blockchain. Toda operação, seja uma simples transferência de token ou uma interação mais complexa com um contrato inteligente, incorre em um custo chamado "gás". As taxas de gás representam a quantidade de computação necessária para realizar uma operação. No caso do Ethereum, as taxas de gás devem ser pagas usando o token nativo do blockchain, ETH.
Embora stablecoins como USDC possam ser usadas para transações, os usuários ainda precisam manter um certo saldo de ETH separadamente para pagar as taxas de gás Ethereum. Isso geralmente leva os usuários a métodos complexos e às vezes caros. Alguns dependem de serviços de depósito para converter moeda fiduciária em tokens nativos como ETH, enquanto outros compram ETH em trocas criptográficas centralizadas e as transferem para suas carteiras. No entanto, ambas as estratégias exigem etapas adicionais e carecem da simplicidade e imediatismo com as quais os usuários estão acostumados nas transações financeiras tradicionais. Além disso, esses métodos expõem os usuários a flutuações nas taxas de câmbio das criptomoedas, pois precisam comprar ETH continuamente, mesmo que diferentes criptomoedas ou stablecoins sejam usadas nas transações de pagamento.
(Figura 2: Processo de Depósito: Obtenha Tokens para Carteira de Autocustódia)
Por exemplo, Alex é um usuário que deseja participar de um projeto de finanças descentralizadas (DeFi) que exige que ela crie novos tokens. Para fazer isso, ela decidiu trocar sua moeda fiduciária por ETH usando um serviço de depósito. Alex planejou e comprou cuidadosamente uma certa quantidade de ETH com base na taxa de gás atual e no custo esperado do processo de mineração. No entanto, as taxas de gás na rede Ethereum podem flutuar rapidamente. Se durante o período de cunhagem de Alex as taxas caírem significativamente, ela pagará muito combustível e acabará com um saldo de ETH que não pretendia comprar. Por outro lado, se a taxa de combustível de Alex aumentar inesperadamente depois que ela obtiver ETH, ela pode não ter fundos suficientes para cobrir o aumento da taxa, resultando em um pagamento insuficiente. Essa imprevisibilidade e a necessidade de estimar e gerenciar os custos de gás adicionam complexidade e inconveniência para usuários como Alex. A Figura 2 ilustra o processo de depósito para um usuário comprar criptomoeda por meio de um provedor de serviços de depósito.
(Figura 3: Obtenha tokens por meio de trocas centralizadas)
Além disso, para um usuário como Alex, a aquisição de um token nativo como o ETH geralmente requer a movimentação de ativos de uma exchange centralizada. Isso envolve depositar fiat em uma bolsa, comprar os tokens necessários e transferi-los para uma carteira pessoal para obter ETH suficiente para cobrir a taxa de gás. No entanto, essa abordagem também corre o risco de pagar a mais ou a menos devido à volatilidade do valor do ETH e das taxas de gás. Além disso, pode ser um desafio intransponível para aqueles indivíduos que são menos experientes em tecnologia e desejam se envolver em transações de blockchain. Para aqueles que não estão familiarizados com as exchanges de criptomoedas e as complexidades de comprar e conectar tokens, esse processo é uma barreira à entrada no mundo criptográfico. É tão complicado e hostil quanto trocar dinheiro em moedas diferentes ao viajar em países diferentes. A Figura 3 ilustra o processo de transição para um usuário comprar criptomoeda por meio de uma troca de criptomoedas e transferi-la para uma carteira.
2. Solução
Nossas equipes de Crypto Protocols, Visa Innovation Center e Visa Research conduziram um hackathon interno, onde aproveitamos a oportunidade para explorar paymasters sob o padrão ERC-4337. O resultado desse esforço colaborativo é uma proposta de fluxo de solução que demonstra como permitir que os usuários paguem o combustível on-chain em fiduciário por meio de um sistema de arquivo de gerenciamento de cartão. Esta proposta de solução aproveita o padrão ERC-4337 da Ethereum e o contrato de paymaster para permitir que os titulares de cartões Visa paguem suas taxas de gás diretamente. Acreditamos que essa abordagem inovadora e adaptável pode ajudar a simplificar o processo de integração para novos usuários criptográficos e melhorar a experiência dos usuários atuais.
(Figura 4: Interação simplificada do usuário com implantação do Paymaster)
Nesta proposta de solução, novamente colocamos o paymaster no centro do processo. Paymaster é um tipo especial de conta de contrato inteligente que pode patrocinar as taxas de gás de contas de contrato de usuário (pode ser considerado um contrato inteligente centrado no usuário). Nossa solução proposta libera os usuários da necessidade de manter tokens de blockchain nativos ou tokens de ponte constantemente apenas para pagar taxas de gás. Do ponto de vista do usuário, a solução é atraente devido à sua simplicidade e facilidade de adoção, conforme mostra a Figura 4. Por exemplo, vamos pegar Alex de novo, ela tem uma carteira de auto-custódia. De acordo com nossa solução proposta, Alex poderia usar seu cartão Visa para pagar a gasolina e participar de um projeto DeFi que exige que ela crie novos tokens. Dessa forma, a Visa ajuda a lidar com o complexo processo nos bastidores, permitindo que Alex opte por pagar a gasolina com seu cartão Visa sem complicações. Essa solução traz simplicidade e uma melhor experiência para usuários como Alex, que procuram uma maneira mais simplificada e fácil de usar para conduzir transações blockchain.
3. Nosso experimento
O papel do Paymaster é extrair a complexidade do mecanismo de taxa de gás enquanto fornece uma alternativa à tarifa. Nossos experimentos fazem isso aceitando taxas de gasolina pagas off-line pelos usuários de seus cartões Visa e pagando uma quantia equivalente on-chain em nome dos usuários. A experiência da taxa de gás do lado do usuário é tão simples quanto um pagamento normal com cartão de crédito. Os usuários podem optar por usar esse pagador ao enviar operações do usuário. As operações do usuário são semelhantes às interações regulares do blockchain, elas especificam as operações que o usuário deseja realizar no blockchain. Mas, ao contrário das transações, as operações do usuário não precisam ser assinadas por contas externas e podem ser verificadas e executadas diretamente por contas de contratos inteligentes.
A configuração que implantamos para permitir o recurso de pagamento de gás off-chain gira em torno do Pagador Verificador. O Verifying Paymaster é um contrato inteligente que delega todas as verificações e fontes de informações necessárias para componentes fora da cadeia. O contrato inteligente do pagador on-chain pode usar os dados e aprovações fornecidos por esse componente off-chain para autorizar e pagar as taxas de gás. A maneira de transmitir de forma confiável essas informações do serviço off-chain para o contrato do paymaster é por meio da criptografia de chave pública: o serviço web off-chain usa a chave para gerar uma assinatura digital e a envia com as informações. O contrato inteligente Paymaster pode, por sua vez, verificar a assinatura usando a chave pública correspondente, verificando assim a autenticidade da mensagem. Em nossos experimentos, usamos a amostra de contrato inteligente Verifying Paymaster fornecida pela equipe principal do ERC-4337.
(Figura 5: Fluxo técnico das transações com cartões Paymaster e Visa)
Conforme mostrado na Figura 5, em nossa implementação, quando um usuário pretende iniciar uma operação de blockchain, a carteira primeiro gera uma solicitação de operação do usuário, que inclui a operação que está tentando realizar (ou seja, dados de chamada) e o custo máximo de processamento do operação (ou seja, parâmetros relacionados às taxas de gás). Mais especificamente, o orçamento máximo de computação para uma operação é determinado pelo parâmetro que especifica o limite de gás, e o custo de cada unidade de computação é determinado pela taxa de gás.
Em vez de enviar a solicitação de operação do usuário para o blockchain imediatamente, a carteira primeiro envia a operação do usuário junto com as credenciais do cartão Visa para o serviço da web do paymaster (etapa 2 na Figura 5). O serviço da web usará as informações da taxa de gás para calcular o custo apropriado para cobrar do usuário em moeda fiduciária e, com base nas credenciais do cartão Visa fornecidas, o emissor do cartão pode optar por autorizar o pagamento com o cartão Visa. Para a solução de aceitação de pagamentos para serviços web, utilizamos o próprio Cybersource da Visa. A Cybersource fornece aos desenvolvedores os SDKs e APIs necessários para permitir que os comerciantes recebam pagamentos digitais.
Em nosso experimento, após o pagamento ser processado pela Cybersource, o serviço da web gera uma assinatura digital para os dados relevantes na Operação do Usuário, incluindo dados de chamada e informações de taxa de gás (etapa 3). Também determina o período de tempo para o qual a assinatura é válida. Especificar uma janela de tempo é importante porque o valor do ETH e outros tokens nativos flutuam no Ethereum e em outras cadeias EVM. Sem precauções, os usuários podem aproveitar a falta de sincronia entre as duas partes do paymaster, pagar off-chain em moeda fiduciária quando os custos de ETH forem baixos, usar assinaturas quando os custos de ETH forem altos e deixar o contrato do paymaster cobrir o custo diferença. O serviço da web envia a assinatura digital de volta para a carteira. Além disso, quaisquer alterações feitas pela carteira nos parâmetros relevantes da Operação do Usuário resultarão em uma incompatibilidade com a assinatura digital, e o contrato inteligente do Pagador Verificador detectará esse desvio.
A carteira recebe a assinatura digital e a janela de tempo do serviço da web e anexa essas informações (juntamente com o endereço na cadeia do contrato do pagador) como o parâmetro do pagador da Operação do Usuário. Agora, quando todas as partes da operação do usuário estiverem concluídas, a carteira poderá assiná-la e enviá-la para o blockchain (etapa 4). No blockchain, como parte do processo de processamento da Operação do Usuário definido pelo padrão ERC-4337, o contrato do pagador receberá os dados da Operação do Usuário, que devem incluir uma assinatura digital do web service do pagador. Se houver algum erro nos dados fornecidos (assinatura errada, janela de tempo inválida, etc.), o contrato do pagador informará o erro e a taxa de gás não será paga. Se a assinatura de verificação estiver correta, significa que o serviço web recebeu o pagamento do cartão Visa para viabilizar o custo de processamento desta Operação do Usuário. O contrato Paymaster não relatará erros e processará o custo, a Operação do Usuário também será executada (etapa 5).
(Figura 6: Um trecho de código — Verificando a verificação da assinatura digital do Paymaster)
Quando construímos nossos experimentos, usamos a biblioteca userop.js do Stackup para construir, assinar e enviar operações do usuário. Para publicar essas operações do usuário no blockchain e ter funções complementares, como estimar taxas de combustível, usamos o Stackup's Bundler como nosso provedor. Para fins de teste, implantamos nosso Pagador de Verificação na rede de teste Ethereum Goerli e conseguimos enviar operações de usuário com sucesso usando pagamento de gás off-chain.
4. Reduza o atrito no blockchain
A complexidade das transações blockchain é um obstáculo significativo para muitos usuários, apresentando uma curva de aprendizado extremamente desafiadora e aumentando o atrito do usuário. No entanto, nossos experimentos visam fornecer uma abordagem promissora para enfrentar substancialmente esses desafios. Ao utilizar o conceito inovador de paymaster, combinado com a abstração de contas e o padrão ERC-4337, exploramos a possibilidade de um processo que pode redefinir as transações de blockchain.
A abstração da conta permite que os desenvolvedores projetem novos processos que ajudem a reduzir o atrito na troca de valores de todos os tipos. Nossos experimentos mostram que os desenvolvedores podem implementar essa solução usando a infraestrutura de pagamento existente. Comerciantes ou aplicativos descentralizados (dApps) podem executar suas próprias soluções de pagamento para ajudar a melhorar a experiência do cliente aceitando cartões Visa para pagamentos de gás. Como alternativa, os provedores de serviços de carteira e paymaster existentes poderiam oferecer pagamento de gás baseado em cartão Visa como uma opção geral, com outras opções de serviço de pagamento adicionais. A concretização dessa solução potencial ajuda a estabelecer as bases para uma abordagem mais acessível e fácil de usar para transações digitais.
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Solução Experimental Visa: Pagamento de taxas de gás na rede via cartão Visa
Autor: Mert Ozbay & Mustafa Bedawala & Catherine Gu, Visa; Tradução: Jinse Finance xiaozou
A tecnologia Blockchain teve ampla adoção nos últimos anos e, embora tenha o potencial de moldar o futuro dos fluxos de dinheiro, as transações blockchain também apresentam um nível mais alto de complexidade não encontrado nos métodos de pagamento tradicionais. As transações Blockchain usam uma rede descentralizada onde vários participantes da rede verificam e registram cada transação. As transações Blockchain envolvem carteiras autocustodiais, chaves privadas, taxas de gás - todos os elementos que não se aplicam aos métodos de pagamento tradicionais. Para fazer transações usando um blockchain como o Ethereum, os consumidores devem manter um saldo de uma certa quantia do token nativo do blockchain (como ETH) para pagar pelo uso da rede, conhecido como “taxas de gás”. E se enviar uma transação blockchain usando uma carteira auto-hospedada fosse tão fácil para um usuário quanto pagar uma xícara de café com cartão de crédito? A experiência do usuário no blockchain ainda não alcançou a mesma facilidade de uso para carteiras autocustodiais. Por exemplo, enquanto o Ethereum oferece suporte a pagamentos push, ele não oferece suporte nativo a pagamentos pull, como pagamentos automáticos. Para resolver isso, no artigo do ano passado "Pagamentos automáticos para carteiras auto-hospedadas", exploramos e demonstramos como usar a abstração de conta para configurar pagamentos pull para carteiras auto-hospedadas.
A Visa é excelente em facilitar transações envolvendo diferentes moedas. Por exemplo, o usuário pode viajar para outro país sem se preocupar com a necessidade de preparar moeda estrangeira com antecedência, pois o mesmo cartão Visa permite fazer compras no país e no exterior. No entanto, tal simplicidade não existe no mundo criptográfico. Os consumidores que fazem transações no Ethereum encontram-se constantemente gerenciando seus saldos de ETH para pagar taxas de gás, uma tarefa onerosa que os distrai da importante atividade de blockchain. Depois de comparar a complexidade das transações blockchain com a simplicidade das transações de pagamento fiat suportadas pela rede Visa, fica claro que as transações blockchain precisam ser melhoradas. A questão que permanece é: como podemos ajudar a fechar essa lacuna e tornar as transações de blockchain mais fáceis e convenientes?
(Figura 1: Rede Visa)
Reconhecendo esse desafio, exploramos uma opção para simplificar as transações de blockchain, permitindo que os usuários paguem pelo gás na cadeia diretamente em moeda fiduciária por meio de pagamento com cartão. Nesse caso, os usuários podem não precisar mais manter um token nativo de uma blockchain específica apenas para pagar as taxas de gás. Essa solução potencial alavancaria o padrão ERC-4337 da ethereum e os contratos de pagamento para permitir que os usuários paguem pelo gás diretamente com um cartão Visa. Acreditamos que essa abordagem inovadora e flexível pode ajudar a simplificar o ponto de entrada para novos usuários de criptografia e aprimorar a experiência dos usuários existentes. Neste artigo, nos aprofundamos nos desafios existentes das transações blockchain, destacamos a necessidade de abordagens mais flexíveis e apresentamos nossos experimentos.
1. Pergunta
Um dos principais obstáculos no mundo criptográfico é o complexo processo de pagamento por transações ou operações de blockchain. Toda operação, seja uma simples transferência de token ou uma interação mais complexa com um contrato inteligente, incorre em um custo chamado "gás". As taxas de gás representam a quantidade de computação necessária para realizar uma operação. No caso do Ethereum, as taxas de gás devem ser pagas usando o token nativo do blockchain, ETH.
Embora stablecoins como USDC possam ser usadas para transações, os usuários ainda precisam manter um certo saldo de ETH separadamente para pagar as taxas de gás Ethereum. Isso geralmente leva os usuários a métodos complexos e às vezes caros. Alguns dependem de serviços de depósito para converter moeda fiduciária em tokens nativos como ETH, enquanto outros compram ETH em trocas criptográficas centralizadas e as transferem para suas carteiras. No entanto, ambas as estratégias exigem etapas adicionais e carecem da simplicidade e imediatismo com as quais os usuários estão acostumados nas transações financeiras tradicionais. Além disso, esses métodos expõem os usuários a flutuações nas taxas de câmbio das criptomoedas, pois precisam comprar ETH continuamente, mesmo que diferentes criptomoedas ou stablecoins sejam usadas nas transações de pagamento.
(Figura 2: Processo de Depósito: Obtenha Tokens para Carteira de Autocustódia)
Por exemplo, Alex é um usuário que deseja participar de um projeto de finanças descentralizadas (DeFi) que exige que ela crie novos tokens. Para fazer isso, ela decidiu trocar sua moeda fiduciária por ETH usando um serviço de depósito. Alex planejou e comprou cuidadosamente uma certa quantidade de ETH com base na taxa de gás atual e no custo esperado do processo de mineração. No entanto, as taxas de gás na rede Ethereum podem flutuar rapidamente. Se durante o período de cunhagem de Alex as taxas caírem significativamente, ela pagará muito combustível e acabará com um saldo de ETH que não pretendia comprar. Por outro lado, se a taxa de combustível de Alex aumentar inesperadamente depois que ela obtiver ETH, ela pode não ter fundos suficientes para cobrir o aumento da taxa, resultando em um pagamento insuficiente. Essa imprevisibilidade e a necessidade de estimar e gerenciar os custos de gás adicionam complexidade e inconveniência para usuários como Alex. A Figura 2 ilustra o processo de depósito para um usuário comprar criptomoeda por meio de um provedor de serviços de depósito.
(Figura 3: Obtenha tokens por meio de trocas centralizadas)
Além disso, para um usuário como Alex, a aquisição de um token nativo como o ETH geralmente requer a movimentação de ativos de uma exchange centralizada. Isso envolve depositar fiat em uma bolsa, comprar os tokens necessários e transferi-los para uma carteira pessoal para obter ETH suficiente para cobrir a taxa de gás. No entanto, essa abordagem também corre o risco de pagar a mais ou a menos devido à volatilidade do valor do ETH e das taxas de gás. Além disso, pode ser um desafio intransponível para aqueles indivíduos que são menos experientes em tecnologia e desejam se envolver em transações de blockchain. Para aqueles que não estão familiarizados com as exchanges de criptomoedas e as complexidades de comprar e conectar tokens, esse processo é uma barreira à entrada no mundo criptográfico. É tão complicado e hostil quanto trocar dinheiro em moedas diferentes ao viajar em países diferentes. A Figura 3 ilustra o processo de transição para um usuário comprar criptomoeda por meio de uma troca de criptomoedas e transferi-la para uma carteira.
2. Solução
Nossas equipes de Crypto Protocols, Visa Innovation Center e Visa Research conduziram um hackathon interno, onde aproveitamos a oportunidade para explorar paymasters sob o padrão ERC-4337. O resultado desse esforço colaborativo é uma proposta de fluxo de solução que demonstra como permitir que os usuários paguem o combustível on-chain em fiduciário por meio de um sistema de arquivo de gerenciamento de cartão. Esta proposta de solução aproveita o padrão ERC-4337 da Ethereum e o contrato de paymaster para permitir que os titulares de cartões Visa paguem suas taxas de gás diretamente. Acreditamos que essa abordagem inovadora e adaptável pode ajudar a simplificar o processo de integração para novos usuários criptográficos e melhorar a experiência dos usuários atuais.
(Figura 4: Interação simplificada do usuário com implantação do Paymaster)
Nesta proposta de solução, novamente colocamos o paymaster no centro do processo. Paymaster é um tipo especial de conta de contrato inteligente que pode patrocinar as taxas de gás de contas de contrato de usuário (pode ser considerado um contrato inteligente centrado no usuário). Nossa solução proposta libera os usuários da necessidade de manter tokens de blockchain nativos ou tokens de ponte constantemente apenas para pagar taxas de gás. Do ponto de vista do usuário, a solução é atraente devido à sua simplicidade e facilidade de adoção, conforme mostra a Figura 4. Por exemplo, vamos pegar Alex de novo, ela tem uma carteira de auto-custódia. De acordo com nossa solução proposta, Alex poderia usar seu cartão Visa para pagar a gasolina e participar de um projeto DeFi que exige que ela crie novos tokens. Dessa forma, a Visa ajuda a lidar com o complexo processo nos bastidores, permitindo que Alex opte por pagar a gasolina com seu cartão Visa sem complicações. Essa solução traz simplicidade e uma melhor experiência para usuários como Alex, que procuram uma maneira mais simplificada e fácil de usar para conduzir transações blockchain.
3. Nosso experimento
O papel do Paymaster é extrair a complexidade do mecanismo de taxa de gás enquanto fornece uma alternativa à tarifa. Nossos experimentos fazem isso aceitando taxas de gasolina pagas off-line pelos usuários de seus cartões Visa e pagando uma quantia equivalente on-chain em nome dos usuários. A experiência da taxa de gás do lado do usuário é tão simples quanto um pagamento normal com cartão de crédito. Os usuários podem optar por usar esse pagador ao enviar operações do usuário. As operações do usuário são semelhantes às interações regulares do blockchain, elas especificam as operações que o usuário deseja realizar no blockchain. Mas, ao contrário das transações, as operações do usuário não precisam ser assinadas por contas externas e podem ser verificadas e executadas diretamente por contas de contratos inteligentes.
A configuração que implantamos para permitir o recurso de pagamento de gás off-chain gira em torno do Pagador Verificador. O Verifying Paymaster é um contrato inteligente que delega todas as verificações e fontes de informações necessárias para componentes fora da cadeia. O contrato inteligente do pagador on-chain pode usar os dados e aprovações fornecidos por esse componente off-chain para autorizar e pagar as taxas de gás. A maneira de transmitir de forma confiável essas informações do serviço off-chain para o contrato do paymaster é por meio da criptografia de chave pública: o serviço web off-chain usa a chave para gerar uma assinatura digital e a envia com as informações. O contrato inteligente Paymaster pode, por sua vez, verificar a assinatura usando a chave pública correspondente, verificando assim a autenticidade da mensagem. Em nossos experimentos, usamos a amostra de contrato inteligente Verifying Paymaster fornecida pela equipe principal do ERC-4337.
(Figura 5: Fluxo técnico das transações com cartões Paymaster e Visa)
Conforme mostrado na Figura 5, em nossa implementação, quando um usuário pretende iniciar uma operação de blockchain, a carteira primeiro gera uma solicitação de operação do usuário, que inclui a operação que está tentando realizar (ou seja, dados de chamada) e o custo máximo de processamento do operação (ou seja, parâmetros relacionados às taxas de gás). Mais especificamente, o orçamento máximo de computação para uma operação é determinado pelo parâmetro que especifica o limite de gás, e o custo de cada unidade de computação é determinado pela taxa de gás.
Em vez de enviar a solicitação de operação do usuário para o blockchain imediatamente, a carteira primeiro envia a operação do usuário junto com as credenciais do cartão Visa para o serviço da web do paymaster (etapa 2 na Figura 5). O serviço da web usará as informações da taxa de gás para calcular o custo apropriado para cobrar do usuário em moeda fiduciária e, com base nas credenciais do cartão Visa fornecidas, o emissor do cartão pode optar por autorizar o pagamento com o cartão Visa. Para a solução de aceitação de pagamentos para serviços web, utilizamos o próprio Cybersource da Visa. A Cybersource fornece aos desenvolvedores os SDKs e APIs necessários para permitir que os comerciantes recebam pagamentos digitais.
Em nosso experimento, após o pagamento ser processado pela Cybersource, o serviço da web gera uma assinatura digital para os dados relevantes na Operação do Usuário, incluindo dados de chamada e informações de taxa de gás (etapa 3). Também determina o período de tempo para o qual a assinatura é válida. Especificar uma janela de tempo é importante porque o valor do ETH e outros tokens nativos flutuam no Ethereum e em outras cadeias EVM. Sem precauções, os usuários podem aproveitar a falta de sincronia entre as duas partes do paymaster, pagar off-chain em moeda fiduciária quando os custos de ETH forem baixos, usar assinaturas quando os custos de ETH forem altos e deixar o contrato do paymaster cobrir o custo diferença. O serviço da web envia a assinatura digital de volta para a carteira. Além disso, quaisquer alterações feitas pela carteira nos parâmetros relevantes da Operação do Usuário resultarão em uma incompatibilidade com a assinatura digital, e o contrato inteligente do Pagador Verificador detectará esse desvio.
A carteira recebe a assinatura digital e a janela de tempo do serviço da web e anexa essas informações (juntamente com o endereço na cadeia do contrato do pagador) como o parâmetro do pagador da Operação do Usuário. Agora, quando todas as partes da operação do usuário estiverem concluídas, a carteira poderá assiná-la e enviá-la para o blockchain (etapa 4). No blockchain, como parte do processo de processamento da Operação do Usuário definido pelo padrão ERC-4337, o contrato do pagador receberá os dados da Operação do Usuário, que devem incluir uma assinatura digital do web service do pagador. Se houver algum erro nos dados fornecidos (assinatura errada, janela de tempo inválida, etc.), o contrato do pagador informará o erro e a taxa de gás não será paga. Se a assinatura de verificação estiver correta, significa que o serviço web recebeu o pagamento do cartão Visa para viabilizar o custo de processamento desta Operação do Usuário. O contrato Paymaster não relatará erros e processará o custo, a Operação do Usuário também será executada (etapa 5).
(Figura 6: Um trecho de código — Verificando a verificação da assinatura digital do Paymaster)
Quando construímos nossos experimentos, usamos a biblioteca userop.js do Stackup para construir, assinar e enviar operações do usuário. Para publicar essas operações do usuário no blockchain e ter funções complementares, como estimar taxas de combustível, usamos o Stackup's Bundler como nosso provedor. Para fins de teste, implantamos nosso Pagador de Verificação na rede de teste Ethereum Goerli e conseguimos enviar operações de usuário com sucesso usando pagamento de gás off-chain.
4. Reduza o atrito no blockchain
A complexidade das transações blockchain é um obstáculo significativo para muitos usuários, apresentando uma curva de aprendizado extremamente desafiadora e aumentando o atrito do usuário. No entanto, nossos experimentos visam fornecer uma abordagem promissora para enfrentar substancialmente esses desafios. Ao utilizar o conceito inovador de paymaster, combinado com a abstração de contas e o padrão ERC-4337, exploramos a possibilidade de um processo que pode redefinir as transações de blockchain.
A abstração da conta permite que os desenvolvedores projetem novos processos que ajudem a reduzir o atrito na troca de valores de todos os tipos. Nossos experimentos mostram que os desenvolvedores podem implementar essa solução usando a infraestrutura de pagamento existente. Comerciantes ou aplicativos descentralizados (dApps) podem executar suas próprias soluções de pagamento para ajudar a melhorar a experiência do cliente aceitando cartões Visa para pagamentos de gás. Como alternativa, os provedores de serviços de carteira e paymaster existentes poderiam oferecer pagamento de gás baseado em cartão Visa como uma opção geral, com outras opções de serviço de pagamento adicionais. A concretização dessa solução potencial ajuda a estabelecer as bases para uma abordagem mais acessível e fácil de usar para transações digitais.