Autor original: Visa, Andrew Beams, Catherine Gu

Compilação original: PANews, Jordânia

À medida que a adoção do blockchain continua a aumentar, aumenta também a necessidade de experiências de usuário superiores e produtos que suportem casos de uso do mundo real. A Visa já oferece aos clientes (especialmente aos clientes jovens) deduções automáticas convenientes e pagamentos automáticos regulares, mas ainda parece difícil implementar esta função numa blockchain como a Ethereum. Ethereum é a rede blockchain com o maior volume de pagamentos e, para alguns tipos de carteiras digitais on-chain, a retirada regular e automática de pagamentos de contas de usuários ainda é um “grande projeto”.

A este respeito, a Visa propôs o conceito de Abstração de Conta (AccountAbstraction) e utilizou-o para explorar como usar contratos inteligentes para implementar pagamentos programáveis ​​automatizados e para demonstrar como escrever contratos inteligentes para carteiras auto-hospedadas que suportam retirada automática de fundos .

Cenários de casos de uso

Considere um cenário: suponha que hoje seja 25 de fevereiro e Alice esteja saindo de férias nos Alpes. Ela retornará no dia 10 de março, mas deverá pagar a hipoteca, as contas de TV a cabo e as contas de serviços públicos antes do dia 5 de cada mês. é que ela não tem dinheiro suficiente para pagar antes de tirar as férias, mas terá dinheiro suficiente quando receber seu salário em 1º de março. Agora surge a pergunta: como Alice pode aproveitar suas férias sem atrasar seus pagamentos?

Sim, a resposta é: dedução automática. Na verdade, se Alice tiver conta em banco, a dedução automática é um processo muito simples. Ela só precisa associar sua conta de débito ao cartão Visa. No entanto, no blockchain, realizar tal operação não é tão simples. No entanto, como uma nova tecnologia, vale a pena explorar soluções de contratos inteligentes de blockchain para os cenários acima.

Antes de ir direto ao ponto, vamos primeiro entender o conceito de conta Ethereum. Atualmente, existem dois tipos de contas na rede Ethereum:

1. Contas de propriedade externa, geralmente chamadas de “contas de usuário”

2. Contas de contrato (ContractAccounts), muitas vezes chamadas de "contratos inteligentes"

As contas de usuário controladas por chaves privadas podem enviar transações, e os contratos inteligentes exigem código associado para serem executados, mas os contratos inteligentes não podem "iniciar transações por conta própria" porque as transações devem sempre se originar da conta do usuário e ser assinadas pelo usuário. Essas transações incluem: Zona Ethereum. Uma simples transferência de tokens entre contas de usuários no blockchain pode desencadear uma série de transações mais complexas que realizam muitas ações diferentes por meio de contratos inteligentes.

Então, como implementar pagamentos automatizados na blockchain Ethereum?

Vamos revisar a situação de Alice.

Suponha que Alice tenha uma conta de usuário no blockchain Ethereum e deposite seu salário na conta e o use para pagar sua hipoteca, conta de cabo e contas de serviços públicos. Hoje, para pagar sua conta, uma transação deve ser iniciada para transferir tokens de sua “conta de propriedade externa” para a conta de usuário do beneficiário.

Para elaborar, a "conta de propriedade externa" de Alice tem uma chave/chave privada que só ela conhece, e só ela pode usar essa chave privada para gerar uma assinatura do Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA), que é válida para a criação de transações cruciais. Porém, se Alice sair de férias, quem irá gerar essa assinatura e criar a transação de pagamento da taxa?

Atualmente existe uma solução para Alice usar uma carteira de custódia, que permite que terceiros controlem a chave privada de Alice. Em outras palavras, Alice confia em terceiros para proteger seus fundos e quando ela deseja negociar ou enviar fundos para uma conta designada, a vantagem disso é que Alice pode usar o custodiante de fundos para gerar as assinaturas necessárias para criar transações automáticas programadas. pagamentos, mas a desvantagem é que ela precisa confiar totalmente nesse terceiro.

E daí se Alice não quiser usar uma carteira de custódia porque está preocupada com o risco, mas em vez disso usar uma carteira de autocustódia e agendar pagamentos automáticos? A seguir, vamos apresentar outro conceito - Abstração de Conta (AccountAbstraction).

O que é abstração de conta?

A abstração de conta é uma proposta que tenta mesclar contas de usuário e contratos inteligentes em um novo tipo de conta Ethereum, fazendo com que as contas de usuário se comportem como contratos inteligentes. No futuro, a abstração de contas nos permitirá projetar uma solução simples para pagamentos automatizados e ter maior flexibilidade na verificação de transações on-chain, tais como:

1. Contas de vários proprietários podem ser habilitadas por meio de verificação de múltiplas assinaturas.

2. Permitir o uso de assinaturas pós-quânticas para verificar transações.

3. Permitir uma chamada conta pública onde qualquer pessoa possa realizar transações, eliminando completamente a verificação de assinatura.

Em essência, a abstração da conta permite a validade programável para verificar e confirmar qualquer transação blockchain. As transações baseadas no protocolo Ethereum não precisam ser inteiramente baseadas em condições de validade codificadas, mas algumas condições podem ser escritas de forma “personalizada”. no contrato inteligente da conta.

Além disso, a abstração de conta suporta pagamentos automáticos, pois é possível configurar regras de validação que não incluem mais verificação de assinatura.

Contas delegáveis ​​– usando abstração de conta para implementar funções de pagamento automático na cadeia Ethereum

A solução de pagamentos automatizados Ethereum da Visa é aproveitar a abstração da conta e criar um novo tipo de contrato de conta – uma conta delegada. A ideia principal é estender as regras de validade programáveis ​​das transações para incluir listas de permissões pré-aprovadas. Simplificando, a abstração de conta pode delegar operações de pagamento automático iniciadas por contas de usuários a contratos inteligentes de pagamento automático pré-aprovados.

Primeiro, os comerciantes precisam implantar contratos inteligentes de pagamento automático. Quando um usuário com uma conta delegada visita o site de um comerciante, ele verá uma solicitação para aprovar um pagamento automático – semelhante ao que a Visa aceita para faturas. Neste momento, o usuário poderá verificar que o contrato de pagamento automático realizará operações em nome do usuário, e os parâmetros podem ser definidos de acordo com a necessidade do usuário, como o usuário só pode ser cobrado uma vez por mês, e a cobrança não pode exceder o valor máximo definido, etc. O melhor de tudo é que, por se tratar de um contrato inteligente, os usuários podem ter certeza de que o contrato de pagamento automatizado não será executado de outra forma.

Se o usuário concordar em aprovar pagamentos automáticos, a carteira adicionará o endereço do contrato de pagamento automático à lista de contratos permitidos para a conta delegável do usuário.

Em seguida, o comerciante aciona o pagamento chamando a função de cobrança do contrato de pagamento automático. O contrato de pagamento automático acionará a conta do usuário para iniciar uma transação de pagamento push. Esta transação será válida porque foi adicionada à lista permitida antecipadamente.

Além de pagamentos recorrentes, a solução também pode atender a diferentes aplicações no mundo real. A solução de contas confiadas à Visa pode até ser expandida para serviços como recuperação de contas de terceiros no futuro.

Implementando abstração de conta na StarkNet

Como o Ethereum ainda não oferece suporte à abstração de contas, a Visa implementou uma solução de conta delegada no StarkNet, um blockchain de camada 2 construído sobre o blockchain Ethereum para aumentar o rendimento das transações, bem como outros recursos para melhorar os recursos subjacentes da camada de liquidação do Blockchain, desenvolvidos por inicialização de criptografia StarkWare. O modelo de conta da StarkNet é o que a Visa atualmente chama de abstração de conta. A conta abstrata verifica se a transação vem de um determinado endereço.

Para contas concretas, se alguém enviar um token para a conta do usuário, o contrato do token é interagido e o contrato do token verifica se a identidade (chave) usada para assinar a transação para esta transferência está registrada como o proprietário atual do token. Para contas abstratas, se alguém enviar um token para sua conta, você também interagirá com o contrato de token, que verificará se a identidade (contrato) utilizada para fazer essa transferência está registrada como o atual proprietário do token. Para contas abstratas, o que importa é quem (endereço) está executando a transação, e não como (assinatura) a transação é executada.

Com o modelo de conta StarkNet, a Visa é capaz de implementar uma solução de conta delegada que permite pagamentos automatizados para carteiras auto-hospedadas.

para concluir

Como uma das maiores redes de pagamentos do mundo, a Visa está explorando ativamente soluções inovadoras de contratos inteligentes para promover pagamentos e moedas programáveis.

Os pagamentos automatizados são um dos principais recursos que faltam à infraestrutura blockchain existente, mas aproveitar o conceito de abstração de conta poderia fornecer carteiras auto-hospedadas com recursos de pagamentos recorrentes automatizados e até mesmo trazer outras aplicações do mundo real além dos pagamentos automatizados para a cadeia blockchain, assim. criando uma melhor experiência do usuário para canais de pagamento tradicionais e canais de pagamento emergentes.