Solución Experimental Visa: Pago de tarifas de gas en la cadena a través de tarjeta Visa

Autor: Mert Ozbay & Mustafa Bedawala & Catherine Gu, Visa; Traducción: Jinse Finance xiaozou

La tecnología de cadena de bloques ha experimentado una adopción generalizada en los últimos años y, si bien tiene el potencial de dar forma al futuro de los flujos de dinero, las transacciones de cadena de bloques también introducen un mayor nivel de complejidad que no se encuentra en los métodos de pago tradicionales. Las transacciones de Blockchain utilizan una red descentralizada donde múltiples participantes en la red verifican y registran cada transacción. Las transacciones de Blockchain involucran billeteras de autocustodia, claves privadas, tarifas de gas, todos los elementos que no se aplican a los métodos de pago tradicionales. Para realizar transacciones utilizando una cadena de bloques como Ethereum, los consumidores deben mantener un saldo de una cierta cantidad del token nativo de la cadena de bloques (como ETH) para pagar el uso de la red, lo que se conoce como "tarifas de gas". ¿Qué pasaría si enviar una transacción de blockchain utilizando una billetera autohospedada fuera tan fácil para un usuario como pagar una taza de café con una tarjeta de crédito? La experiencia del usuario en blockchain aún no ha logrado la misma facilidad de uso para las billeteras con custodia propia. Por ejemplo, mientras que Ethereum admite pagos de inserción, no admite de forma nativa pagos de extracción, como los pagos automáticos. Para abordar esto, en nuestro artículo del año pasado "Pagos automáticos para billeteras autohospedadas", exploramos y demostramos cómo usar la abstracción de la cuenta para configurar pagos de extracción para billeteras autohospedadas.

Visa sobresale en la facilitación de transacciones que involucran diferentes monedas. Por ejemplo, los usuarios pueden viajar a otro país sin preocuparse por tener que preparar divisas con anticipación, ya que la misma tarjeta Visa permite realizar compras tanto en el país como en el extranjero. Sin embargo, tal simplicidad no existe en el mundo criptográfico. Los consumidores que realizan transacciones en Ethereum se encuentran constantemente administrando sus saldos de ETH para pagar las tarifas de gasolina, una tarea onerosa que los distrae de la importante actividad de la cadena de bloques. Después de comparar la complejidad de las transacciones de blockchain con la simplicidad de las transacciones de pago fiduciario respaldadas por la red de Visa, está claro que las transacciones de blockchain necesitan mejoras. La pregunta que queda es: ¿cómo podemos ayudar a cerrar esta brecha y hacer que las transacciones de blockchain sean más fáciles y convenientes?

F2gZgn30J22trvyd2MOSZr5WMHrMPmg3lEtok3IB.png

(Figura 1: Red Visa)

Reconociendo este desafío, exploramos una opción para simplificar las transacciones de la cadena de bloques al permitir que los usuarios paguen el gas en la cadena directamente en moneda fiduciaria a través del pago con tarjeta. En este caso, es posible que los usuarios ya no necesiten tener un token nativo de blockchain en particular solo para pagar las tarifas de gas. Esta solución potencial aprovecharía el estándar ERC-4337 de ethereum y los contratos de pago para permitir a los usuarios pagar la gasolina directamente con una tarjeta Visa. Creemos que este enfoque innovador y flexible puede ayudar a simplificar el punto de entrada para los nuevos usuarios de criptografía y mejorar la experiencia de los usuarios existentes. En este artículo, profundizamos en los desafíos existentes de las transacciones de blockchain, destacamos la necesidad de enfoques más flexibles y presentamos nuestros experimentos.

1 pregunta

Uno de los principales obstáculos en el mundo de las criptomonedas es el complejo proceso de pago de transacciones u operaciones de blockchain. Cada operación, ya sea una simple transferencia de token o una interacción más compleja con un contrato inteligente, incurre en un costo llamado "gasolina". Las tarifas de gas representan la cantidad de cómputo requerida para realizar una operación. En el caso de Ethereum, las tarifas de gas deben pagarse utilizando el token nativo de blockchain, ETH.

Aunque las monedas estables como USDC se pueden usar para transacciones, los usuarios aún deben mantener un cierto saldo de ETH por separado para pagar las tarifas de gas de Ethereum. Esto a menudo lleva a los usuarios a métodos complejos y, a veces, costosos. Algunos confían en los servicios de depósito para convertir fiat en tokens nativos como ETH, mientras que otros compran ETH en intercambios de cifrado centralizados y lo transfieren a sus billeteras. Sin embargo, ambas estrategias requieren pasos adicionales y carecen de la sencillez e inmediatez a la que los usuarios están acostumbrados en las transacciones financieras tradicionales. Además, estos métodos exponen a los usuarios a fluctuaciones en los tipos de cambio de las criptomonedas, ya que necesitan comprar ETH continuamente, incluso si se utilizan diferentes criptomonedas o monedas estables en las transacciones de pago.

G7nrI186Pae32V3iX0J2F3gyDSqUHFzzfZDyDizJ.png

(Figura 2: Proceso de depósito: obtener tokens para la billetera de autocustodia)

Por ejemplo, Alex es un usuario que quiere participar en un proyecto de finanzas descentralizadas (DeFi) que requiere que acuñe nuevos tokens. Para hacer esto, decidió cambiar su moneda fiduciaria por ETH mediante un servicio de depósito. Alex planeó y compró cuidadosamente una cierta cantidad de ETH en función de la tarifa de gas actual y el costo esperado del proceso de minería. Sin embargo, las tarifas de gas en la red Ethereum pueden fluctuar rápidamente. Si durante el período de acuñación de Alex, las tarifas caen significativamente, pagará demasiada gasolina y terminará con un saldo de ETH que no tenía la intención de comprar. Por el contrario, si la tarifa de gasolina de Alex aumenta inesperadamente después de recibir ETH, es posible que no tenga fondos suficientes para cubrir el aumento de la tarifa, lo que resulta en un pago insuficiente. Esta imprevisibilidad y el requisito de estimar y administrar los costos del gas agregan complejidad e inconvenientes para usuarios como Alex. La Figura 2 ilustra el proceso de depósito para que un usuario compre criptomonedas a través de un proveedor de servicios de depósito.

rArY43a6eJIB1YruE9yJdSXAwCCD1ifI1ZGbqunt.png

(Figura 3: Obtener tokens a través de intercambios centralizados)

Además, para un usuario como Alex, adquirir un token nativo como ETH a menudo requiere mover activos desde un intercambio centralizado. Esto implica depositar fiat en un intercambio, comprar los tokens necesarios y transferirlos a una billetera personal para obtener suficiente ETH para cubrir la tarifa del gas. Sin embargo, este enfoque también corre el riesgo de pagar de más o de menos debido a la volatilidad del valor ETH y las tarifas de gas. Además, puede ser un desafío insuperable para aquellas personas que son menos expertas en tecnología y desean participar en transacciones de blockchain. Para aquellos que no están familiarizados con los intercambios de criptomonedas y las complejidades de comprar y unir tokens, este proceso es una barrera de entrada al mundo de las criptomonedas. Es tan engorroso y desagradable como cambiar dinero en efectivo a diferentes monedas cuando se viaja a diferentes países. La Figura 3 ilustra el proceso puente para que un usuario compre criptomonedas a través de un intercambio de criptomonedas y las transfiera a una billetera.

2. Solución

Nuestros equipos de Crypto Protocols, Visa Innovation Center y Visa Research realizaron un hackathon interno en el que aprovechamos la oportunidad para explorar los pagadores bajo el estándar ERC-4337. El resultado de este esfuerzo colaborativo es una propuesta de flujo de solución que demuestra cómo permitir que los usuarios paguen la gasolina en la cadena en fiat a través de un sistema de archivos de administración de tarjetas. Esta propuesta de solución aprovecha el estándar ERC-4337 y el contrato de pago maestro de Ethereum para permitir que los titulares de tarjetas Visa paguen sus tarifas de gas directamente. Creemos que este enfoque innovador y adaptable puede ayudar a simplificar el proceso de incorporación para los nuevos usuarios de criptomonedas y mejorar la experiencia de los usuarios actuales.

D4q11Ty8mbKMxP3QFRi9LCdZboPlxavJh0q2gfoq.png

(Figura 4: Interacción de usuario simplificada con la implementación de Paymaster)

En esta propuesta de solución, colocamos nuevamente a paymaster en el centro del proceso. Paymaster es un tipo especial de cuenta de contrato inteligente que puede patrocinar las tarifas de gas de las cuentas de contrato de usuario (se puede considerar como un contrato inteligente centrado en el usuario). Nuestra solución propuesta libera a los usuarios de la necesidad de tener tokens de blockchain nativos o tokens de puente constante solo para pagar las tarifas de gas. Desde la perspectiva del usuario, la solución es atractiva debido a su simplicidad y facilidad de adopción, como se muestra en la Figura 4. Por ejemplo, tomemos a Alex nuevamente, ella tiene una billetera de custodia propia. Según nuestra solución propuesta, Alex podría usar su tarjeta Visa para pagar la gasolina y participar en un proyecto DeFi que requiere que acuñe nuevos tokens. De esta manera, Visa ayuda a manejar el complejo proceso tras bambalinas, lo que le permite a Alex elegir pagar la gasolina con su tarjeta Visa sin problemas. Esta solución brinda simplicidad y una mejor experiencia para usuarios como Alex, que buscan una forma más ágil y fácil de usar para realizar transacciones de blockchain.

3. Nuestro experimento

El papel de Paymaster es extraer la complejidad del mecanismo de tarifas de gas al tiempo que proporciona una alternativa a la tarifa. Nuestros experimentos hacen esto aceptando tarifas de gas pagadas fuera de línea por los usuarios con sus tarjetas Visa y pagando una cantidad equivalente en la cadena en nombre de los usuarios. La experiencia de la tarifa de gas del lado del usuario es tan simple como un pago normal con tarjeta de crédito. Los usuarios pueden optar por utilizar dicho pagador al enviar operaciones de usuario. Las operaciones de usuario son similares a las interacciones regulares de la cadena de bloques, especifican las operaciones que el usuario desea realizar en la cadena de bloques. Pero a diferencia de las transacciones, las operaciones de usuario no necesitan ser firmadas por cuentas externas y pueden ser verificadas y ejecutadas directamente por cuentas de contratos inteligentes.

La configuración que implementamos para habilitar la capacidad de pago de gas fuera de la cadena se centra en Verifying Paymaster. La verificación de Paymaster es un contrato inteligente que delega todos los controles y fuentes de información necesarios a componentes fuera de la cadena. El contrato inteligente de pagador en cadena puede usar los datos y las aprobaciones proporcionados por este componente fuera de la cadena para autorizar y pagar tarifas de gas. La forma de transmitir de forma fiable esta información desde el servicio fuera de la cadena al contrato de paymaster es a través de la criptografía de clave pública: el servicio web fuera de la cadena utiliza la clave para generar una firma digital y la envía con la información. El contrato inteligente de Paymaster puede a su vez verificar la firma utilizando la clave pública correspondiente, verificando así la autenticidad del mensaje. En nuestros experimentos, utilizamos la muestra de contrato inteligente de verificación de Paymaster proporcionada por el equipo central de ERC-4337.

Bk6CIPVfoAuvCZGzNYade08sknGUa4xTbFxtPVzL.png

(Figura 5: Flujo técnico de transacciones utilizando tarjetas Paymaster y Visa)

Como se muestra en la Figura 5, en nuestra implementación, cuando un usuario tiene la intención de iniciar una operación de cadena de bloques, la billetera primero genera una solicitud de operación de usuario, que incluye la operación que está tratando de realizar (es decir, los datos de la llamada) y el costo máximo de procesamiento de la información de operación (es decir, parámetros relacionados con las tarifas de gas). Más específicamente, el presupuesto máximo de cómputo para una operación está determinado por el parámetro que especifica el límite de gas, y el costo de cada unidad de cómputo está determinado por la tarifa de gas.

En lugar de enviar la solicitud de Operación de usuario a la cadena de bloques de inmediato, la billetera primero envía la Operación de usuario junto con las credenciales de la tarjeta Visa al servicio web de pago (paso 2 en la Figura 5). El servicio web utilizará la información de la tarifa de gasolina para calcular el costo apropiado para cobrar al usuario en moneda fiduciaria y, según las credenciales de la tarjeta Visa proporcionadas, el emisor de la tarjeta puede optar por autorizar el pago con la tarjeta Visa. Para la solución de aceptación de pagos para servicios web, utilizamos Cybersource de Visa. Cybersource proporciona a los desarrolladores los SDK y las API necesarios para permitir que los comerciantes reciban pagos digitales.

En nuestro experimento, después de que Cybersource procesa el pago, el servicio web genera una firma digital para los datos relevantes en la Operación del usuario, incluidos los datos de llamadas y la información de tarifas de gas (paso 3). También determina el período de tiempo durante el cual la firma es válida. Es importante especificar una ventana de tiempo porque el valor de ETH y otros tokens nativos fluctúan en Ethereum y otras cadenas de EVM. Sin precauciones, los usuarios pueden aprovechar la falta de sincronización entre las dos partes del pagador, pagar fuera de la cadena en moneda fiduciaria cuando los costos de ETH son bajos, luego usar firmas cuando los costos de ETH son altos y dejar que el contrato del pagador cubra el costo. diferencia. El servicio web envía la firma digital de regreso a la billetera. Además de esto, cualquier cambio realizado por la billetera en los parámetros relevantes de la Operación del usuario dará como resultado una discrepancia con la firma digital, y el contrato inteligente Verifying Paymaster detectará esta desviación.

La billetera recibe la firma digital y la ventana de tiempo del servicio web y agrega esta información (junto con la dirección en la cadena del contrato de pago) como el parámetro de pago de la Operación del usuario. Ahora, cuando todas las partes de la operación del usuario estén completas, la billetera podrá firmarla y enviarla a la cadena de bloques (paso 4). En la cadena de bloques, como parte del proceso de procesamiento de la Operación del usuario definido por el estándar ERC-4337, el contrato del pagador recibirá los datos de la Operación del usuario, que deben incluir una firma digital del servicio web del pagador. Si hay algún error en los datos proporcionados (firma incorrecta, ventana de tiempo no válida, etc.), el contrato de paymaster informará del error y no se pagará la tarifa del gas. Si la firma de verificación es correcta, significa que el servicio web recibió el pago de la tarjeta Visa para habilitar el costo de procesamiento de esta Operación de Usuario. El contrato de Paymaster no reportará errores y procesará el costo, también se ejecutará la Operación de Usuario (paso 5).

Bk6CIPVfoAuvCZGzNYade08sknGUa4xTbFxtPVzL.png

(Figura 6: Un fragmento de código: verificación de la firma digital de Paymaster)

Cuando construimos nuestros experimentos, usamos la biblioteca userop.js de Stackup para construir, firmar y enviar operaciones de usuario. Para publicar estas operaciones de usuario en la cadena de bloques y tener funciones complementarias, como la estimación de tarifas de gas, utilizamos Stackup's Bundler como nuestro proveedor. Con fines de prueba, implementamos nuestro Pagador verificador en la red de prueba de Ethereum Goerli y pudimos enviar con éxito Operaciones de usuario mediante el pago de gas fuera de la cadena.

4. Reducir la fricción en la cadena de bloques

La complejidad de las transacciones de blockchain es un obstáculo importante para muchos usuarios, lo que presenta una curva de aprendizaje extremadamente desafiante y aumenta la fricción del usuario. Sin embargo, nuestros experimentos tienen como objetivo proporcionar un enfoque prometedor para abordar sustancialmente estos desafíos. Al utilizar el concepto innovador de paymaster, combinado con la abstracción de cuentas y el estándar ERC-4337, exploramos la posibilidad de un proceso que puede redefinir las transacciones de blockchain.

La abstracción de cuentas permite a los desarrolladores diseñar nuevos procesos que ayuden a reducir la fricción en el intercambio de valor de todo tipo. Nuestros experimentos muestran que los desarrolladores pueden implementar esta solución utilizando la infraestructura de pago existente. Los comerciantes o las aplicaciones descentralizadas (dApps) pueden ejecutar sus propias soluciones de pago para ayudar a mejorar la experiencia del cliente al aceptar tarjetas Visa para pagos de gasolina. Alternativamente, los proveedores de servicios de pago y monedero existentes podrían ofrecer el pago de gasolina basado en tarjeta Visa como una opción general, además de otras opciones de servicios de pago. Darse cuenta de esta solución potencial ayuda a sentar las bases para un enfoque más accesible y fácil de usar para las transacciones digitales.

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)