Por Mustafa Bedawala, Mert Ozbay y Catherine Gu; Visa A pesar del progreso continuo, la cadena de bloques actualmente lucha por proporcionar el mismo nivel de flexibilidad y experiencia de usuario que los principales ecosistemas de pago digital. Sin embargo, las tecnologías emergentes pueden mejorar la experiencia de pago al realizar transacciones con monedas digitales. En "Pagos automatizados para billeteras autohospedadas", profundizamos en el uso de tecnología de punta para pagos automatizados aprovechando el concepto de abstracción de cuenta (AA) en cadenas de bloques públicas. ¹Nuestra exploración de AA y una experiencia mejorada de pago criptográfico continúa con una mirada a cómo el paradigma AA actual en Ethereum ofrece soluciones creativas para manejar las tarifas de transacción: los usuarios pueden usar monedas estables, otros tokens ERC-20 para pagar las tarifas de transacción de Ethereum, o no no paga nada? Encontrar soluciones innovadoras para permitir una experiencia de comercio e incorporación criptográfica sin fricciones es fundamental hasta que las monedas digitales obtengan una adopción generalizada.
Una descripción técnica de ERC-4337, el estándar actual para implementaciones de AA en Ethereum, tiene como objetivo comprender mejor ERC-4337. Discutimos el despliegue experimental de Visa de dos conjuntos de contratos Paymaster para mostrar cómo las tarifas de gas en la cadena de bloques se pueden rediseñar para mejorar la comodidad del usuario.
Abstracción de cuenta y ERC-4337
Para comprender mejor la propuesta de valor de la abstracción de cuentas, repasemos brevemente los dos tipos de cuentas que existen actualmente en Ethereum: cuentas de propiedad externa (EOA) y cuentas de contrato (CA), comúnmente denominadas cuentas de usuario y CA, respectivamente. . EOA, controlado por una clave privada, permite a los usuarios enviar transacciones. **Sin embargo, carecen de la programabilidad de los contratos inteligentes, lo que los hace más rígidos. Por el contrario, las CA poseen un código ejecutable pero no pueden iniciar transacciones de forma independiente. Las transacciones siempre deben originarse en la cuenta del usuario y contener la firma del usuario, ya sea una simple transferencia de tokens o una operación compleja realizada a través de muchos contratos inteligentes.
**El concepto de abstracción de cuenta (AA) está diseñado para aprovechar la capacidad de programación de las CA en beneficio de los usuarios finales. **Al escribir contratos inteligentes, es una práctica común definir un propietario para controlar el comportamiento del contrato. Las billeteras autohospedadas creadas como contratos inteligentes pueden proporcionar a los usuarios más funciones que las billeteras basadas en EOA. Esto se logra mediante la introducción de un nuevo estándar ethereum llamado ERC-4337, propuesto por miembros de la comunidad ethereum, incluido el fundador de ethereum Vitalik Buterin. ² ERC-4337 permite al propietario poseer directamente la cuenta de contrato inteligente sin la firma EOA. Si bien es posible que el propietario no firme el EOA en el sentido tradicional, su propiedad del contrato inteligente aún requiere un proceso de autenticación seguro para garantizar que controle y administre adecuadamente la cuenta del contrato inteligente. A su vez, esta cuenta de contrato inteligente puede manejar tareas como autenticación multifactor, pagos recurrentes y reglas y políticas personalizadas definidas por los usuarios finales.
ERC-4337 es el último desarrollo de AA, propuesto originalmente en 2021 como Propuesta de mejora de Ethereum (EIP)-4337. Pasó por el proceso Ethereum Request for Comments (ERC), que establece estándares para aplicaciones en la red Ethereum. La diferencia entre EIP y ERC es su alcance y requisitos de adopción. ERC define cómo deben ejecutarse los contratos inteligentes e interactuar entre sí a nivel de aplicación. No requieren la adopción por parte de todos los participantes, como las EIP principales (Propuestas de mejora de Ethereum), que se implementan a nivel de protocolo y requieren un consenso más amplio dentro de la comunidad. La transición de EIP-4337 a ERC-4337 marca que la propuesta ha cumplido con los estándares requeridos para las aplicaciones de Ethereum y ahora es oficialmente parte del ecosistema de Ethereum. A partir de marzo de 2023, los componentes principales de ERC-4337 se implementaron en la red principal de Ethereum. A diferencia de los EIP de abstracción de cuentas anteriores, ERC-4337 no requiere modificaciones en la capa de consenso del protocolo blockchain para habilitar la abstracción de cuentas en la red Ethereum. ² Este desarrollo permite a los participantes de la red blockchain explorar y experimentar de inmediato con nuevas experiencias de usuario sin esperar actualizaciones importantes de la red. Vale la pena señalar que una de las ventajas de ERC-4337 es que es compatible con cualquier cadena de bloques que utilice la máquina virtual Ethereum, lo que proporciona a AA un estándar más allá del propio Ethereum.
Transacciones transversales ERC-4337
**En una transacción típica de EOA, los usuarios interactúan con sus monederos autohospedados para crear, firmar y enviar transacciones al mempool público. La carga útil de la transacción generada y firmada con la clave privada del usuario se propaga a través de los nodos a un mempool de igual a igual (P2P). Los validadores o entidades especializadas (llamadas constructoras) seleccionan transacciones adecuadas y rentables de un mempool público para ejecutarlas e incorporarlas a la cadena de bloques. **
Figura 1: Flujo de transacción típico de Ethereum
ERC-4337 introduce un proceso de transacción alternativo al método EOA tradicional al agregar un nuevo paso antes de que la transacción llegue a la dirección EOA del proxy. Los usuarios envían sus intenciones como UserOperations, que luego se propagan a través de un mempool dedicado de UserOperations. Este mempool único es monitoreado por el empaquetador, que actúa como un EOA proxy, enviando UserOperations al mempool público en forma de transacciones EOA típicas que la red puede manejar. Estas transacciones luego siguen el mismo flujo que las transacciones regulares, ya sea uniéndose al grupo de miembros público o yendo directamente a los constructores.
Presentamos paso a paso el proceso de extremo a extremo de una transacción ERC-4337, desde la generación de UserOperation hasta la ejecución. Antes de sumergirse, es imperativo definir el concepto de cajero, que juega un papel vital en este proceso y está en el corazón de nuestra propia exploración. Paymaster es una cuenta de contrato inteligente opcional que puede patrocinar tarifas de transacción para cuentas de contrato (contratos inteligentes centrados en el usuario). Paymasters evalúa si la UserOperation se acepta durante la fase de validación e implementa cualquier lógica de tarifa requerida durante la fase de ejecución. Al hacer esto, pueden patrocinar tarifas de transacción para los usuarios y permitir que los usuarios paguen la gasolina utilizando tokens ERC-20, como las monedas estables de USD.
Figura 2: proceso de transacción ERC-4337
**1. El usuario genera UserOperations a través de la billetera de contrato inteligente que cumple con el estándar ERC-4337. ** UserOperations encapsula la intención del usuario de interactuar con la cadena de bloques, que el usuario firma para la autenticación. Una vez generadas, las UserOperations se comprometen con el Mempool de UserOperation dedicado, un almacenamiento dedicado a UserOperations separado del mempool de transacciones estándar de Ethereum.
**2. Los empaquetadores son una clase especializada de actores que monitorean el Mempool de UserOperation, ejecutan simulaciones y ensamblan una serie de UserOperations en un solo paquete de transacciones. ** Los empaquetadores son responsables de recopilar UserOperations y enviarlas al contrato de EntryPoint, optimizando el uso de gas y maximizando las ganancias utilizando la lógica de pago primero.
**3. El contrato de EntryPoint recibe un paquete de UserOperations. **Actúa como coordinador central para administrar UserOperations en el flujo de transacciones ERC-4337.
** 4. Si se especifica UserOperation, el contrato EntryPoint interactuará con el contrato Paymaster. **Como se mencionó anteriormente, Paymasters puede patrocinar tarifas de transacción para cuentas de contrato. EntryPoint verifica que el pagador tenga depósitos suficientes o que la cuenta del contrato tenga fondos suficientes para pagar el gas. Durante la ejecución, si Paymaster está involucrado, puede implementar una lógica de tarifa personalizada, que demostramos en la siguiente sección.
** 5. Luego, el contrato EntryPoint llama a la cuenta del contrato y, si es necesario, al cajero para verificar la firma en UserOperation. **Una cuenta de contrato es una cuenta de usuario que interactúa perfectamente con el contrato de EntryPoint para facilitar la ejecución de transacciones. Una vez que la verificación es exitosa, EntryPoint transfiere los datos relevantes de cada UserOperation a Contract Account e inicia el proceso de ejecución.
Abstracción de cuentas y aplicación práctica
**A medida que la tecnología blockchain continúa explorando aplicaciones del mundo real, las billeteras autohospedadas se están convirtiendo en una opción popular para que los usuarios mantengan y realicen transacciones con sus monedas digitales. **Desde el inicio de Ethereum, se han realizado transacciones en aproximadamente 180 millones de direcciones únicas, incluidas cuentas de todo tipo y cuentas múltiples que pertenecen a la misma persona o grupo de personas. ³Sin embargo, cada mes, solo vemos millones de interacciones en la cadena iniciadas por personas reales, con una actividad diaria en la cadena en la red principal de Ethereum de aproximadamente 1 millón de transacciones por día. ⁴ En comparación, Visa procesó 258 mil millones de transacciones en 2022, un promedio de 707 millones de transacciones por día, y actualmente hay 4,1 mil millones de tarjetas vinculadas a Visa en circulación en todo el mundo. ⁵ ¿Podrían las cadenas de bloques disfrutar de niveles de adopción comparables si admitieran la misma variedad de experiencias de pago con la misma facilidad de uso? Los posibles pasos en esta dirección incluyen retirar las tarifas de gas para los usuarios o permitirles pagar tarifas de transacción en tokens ERC-20.
Use ERC-4337 Paymaster para pagar con tokens ERC-20
Figura 3: Paymaster facilita el pago de tarifas de transacción utilizando tokens ERC-20
Para realizar transacciones en la cadena de bloques Ethereum hoy, los usuarios deben obtener ETH para pagar las tarifas de gas; de manera similar, para realizar transacciones en la cadena de bloques Polygon, los usuarios deben obtener el token nativo MATIC. ¿Existe alguna solución que elimine la necesidad de acumular diferentes rangos de tokens nativos de blockchain solo con el fin de pagar la gasolina? La situación es similar al valor de la red central de pagos transfronterizos de Visa, donde los viajeros pueden gastar en su moneda local sin adquirirla primero. En esta versión del contrato de Paymaster, el contrato puede actuar como un servicio de conversión de moneda intermediario. El servicio puede recopilar moneda digital de los usuarios y luego convertirla en un token nativo según el tipo de cambio vigente para pagar la gasolina en nombre del usuario. Además, esto se puede hacer con financiamiento instantáneo, lo que significa que los usuarios solo necesitan financiar los costos de gas en el momento de la transacción sin ningún requisito de financiamiento inicial, para optimizar la gestión de su flujo de efectivo.
Gastos de transacción del patrocinador para usuarios que utilizan ERC-4337 Paymaster
Figura 4: Paymaster patrocina tarifas de transacción para los usuarios
Las transacciones P2P en Web 2.0 hoy en día son gratuitas para los consumidores en muchos países, lo que plantea una pregunta inmediata: ¿por qué los consumidores deberían pagar por las transacciones P2P en la cadena de bloques? Abstracción de cuenta proporciona una solución que permite a los usuarios eludir estas tarifas si un tercero (como un proveedor de billetera fintech) está dispuesto a cubrirlas. En este caso, el proveedor de la billetera o dApp puede actuar como cajero, pagando tarifas de gasolina por el usuario y reduciendo significativamente la fricción. El concepto ERC-4337 Paymaster puede incentivar la adopción de los usuarios al permitirles realizar transacciones a través de su plataforma de billetera de forma gratuita.
Más allá de eso, **las cuentas de contratos inteligentes pueden simplificar la administración de billeteras y proporcionar una alternativa a la verificación de firmas, lo que permite la autenticación de múltiples factores para una mayor seguridad y recuperación de fondos en billeteras con custodia propia. ****Además, simplifican el uso de dApps al permitir permisos temporales para tareas específicas con límites personalizables, como autorizar a dApps a procesar pagos de extracción recurrentes de cuentas de usuario, hasta una cierta cantidad. **Estos ejemplos son solo ejemplos de cómo los contratos inteligentes pueden ayudar a los usuarios que no son nativos de las criptomonedas a interactuar con la tecnología blockchain más fácilmente mientras mantienen sus cuentas seguras.
Nuestros experimentos con ERC-4337 Paymaster
Use ERC-4337 Paymaster para pagar con tokens ERC-20
Figura 5: Paymaster facilita el pago de tarifas de transacción utilizando tokens ERC-20 (fragmento de código)
Con nuestro primer contrato de Visa Paymaster, estamos explorando si los usuarios pueden pagar tarifas de transacción con tokens alternativos, como monedas estables de USD o incluso monedas digitales del banco central en el futuro. En este caso, Paymaster paga las tarifas de transacción de ETH al recibir el equivalente de un token ERC-20 genérico pagado por el usuario. Para la implementación, utilizamos el código de inicio proporcionado por la Fundación Ethereum y el equipo central ERC-4337⁶. Este contrato de ejemplo contiene la lógica de gestión de Paymaster y su token ERC-20 personalizado. Para este contrato, presentamos una lista blanca y una función para actualizar la tasa de conversión de token a ETH. Esto nos permite simular mejor las condiciones de la vida real donde el tipo de cambio entre ETH y tokens es dinámico. Nuestra configuración de prueba involucró la implementación de una billetera de contrato inteligente y el envío de acciones de usuario. Actualmente, las opciones de billetera compatibles con ERC-4337 son limitadas, decidimos usar la billetera Trampoline creada por la Fundación Ethereum y el equipo central de ERC-4337. ⁷ Para enviar nuestras acciones de usuario a Goerli Testnet, usamos el Bundler público de Blocknative. ⁸ Para una operación de usuario exitosa, el contrato de Visa Paymaster primero debe verificar si el usuario tiene fondos suficientes en ERC-20 para pagar la tarifa del gas. Después de la confirmación, los usuarios pagan tarifas de transacción con este token ERC-20 genérico. Puede encontrar nuestro contrato implementado, ⁹ y la UserOperation manejada aquí.
Gastos de transacción del patrocinador para usuarios que utilizan ERC-4337 Paymaster
Figura 6: Paymaster patrocina tarifas de transacción para los usuarios (fragmento de código)
De acuerdo con el segundo caso de uso que mencionamos, nuestro otro contrato de Visa Paymaster patrocina completamente las tarifas de transacción. Una vez más, nuestra implementación se basa en el código inicial¹¹ proporcionado por la Fundación Ethereum y el equipo central de ERC-4337. Origination Code patrocina cada transacción pro bono. Agregamos una lista blanca para permitir que solo los usuarios autorizados interactúen con el contrato de Visa Paymaster. Puede encontrar nuestro contrato de implementación aquí. ¹² Nuestra implementación de prueba pudo patrocinar con éxito las tarifas de transacción de acción del usuario para los usuarios incluidos en la lista blanca. Puede ver una UserOperation exitosa aquí. ¹³
El caso de uso de Paymaster va mucho más allá de lo que hemos destacado en este artículo. Al abstraer la lógica básica de procesamiento de blockchain, son posibles muchas experiencias de usuario innovadoras. Para el desarrollo de ERC-4337 actualmente en curso, vemos varios enfoques posibles que podrían aprovechar nuestros experimentos descritos anteriormente. Por ejemplo, en lugar de requerir un nuevo token ERC-20 personalizado integrado en el contrato inteligente de Paymaster, sería más fácil integrar Paymaster con un token ERC-20 existente como USDC. Este enfoque requiere el uso de una fuente externa para determinar el precio del token y verificar que el contrato de Paymaster haya aprobado el cobro al usuario por el token especificado. Un enfoque es implementar un servicio de Oracle fuera de la cadena que pueda proporcionar la información necesaria, como los precios de los tokens y las firmas que el contrato de Paymaster puede verificar.
Alternativamente, todo el proceso se puede manejar en cadena con la ayuda de un contrato de Oracle para los datos necesarios. Si bien este enfoque brinda una mejor garantía de que los cajeros reciben una compensación adecuada, también es más difícil de implementar. Algunas restricciones de ERC-4337 dificultan que Paymasters consulte los oráculos en cadena durante la verificación de Paymaster, y los Bundlers a menudo rechazarán las operaciones de usuario que necesitan hacerlo. Para habilitar este proceso, es necesario establecer un mempool alternativo con una lista de Paymasters de confianza, a la que el Bundler puede optar. Estos Paymasters de confianza pueden llamar a los contratos de Oracle, y las operaciones de usuario que utilizan estos Paymasters se extraerán del grupo de memoria de respaldo.
Mirando hacia el futuro
** Interactuar con una cadena de bloques usando una billetera digital puede ser una experiencia desafiante, y muchos creen que garantizar la facilidad de uso es un paso fundamental para impulsar una adopción más amplia. ERC-4337 presenta posibilidades futuras interesantes para mejorar la experiencia de pago del usuario en cadena a través de billeteras de contrato inteligente con custodia propia, lo que a su vez podría cambiar la forma en que los usuarios gastan monedas digitales y activos digitales. **
La comunidad Ethereum está al comienzo de este nuevo viaje cuando se trata de ERC-4337. Hay muchos planes para proporcionar la infraestructura en la que se pueden construir transmisiones impulsadas por AA, algunas de las cuales usamos en nuestras pruebas y mencionamos en este artículo, pero aún hay un margen considerable para el crecimiento. Al igual que con cualquier campo abierto, existen enfoques competitivos y compensaciones, como las opciones de descentralización que ofrecen los Bundlers públicos frente a la personalización de los Bundlers privados, la seguridad sin confianza de Paymaster completamente en cadena frente a la implementación de algunos componentes en comparación con la rentabilidad; y la multitud de esquemas de firma alternativos que pueden usar las billeteras, entre otras cosas. Estas diferentes opciones de diseño pueden dar como resultado un amplio conjunto de opciones para brindarles a los usuarios futuras experiencias de pago digital.
Innovación en pagos para todos, en todas partes
Como líder mundial en soluciones de pago, Visa siempre está buscando innovaciones que satisfagan las necesidades del mundo real. Continuaremos investigando el potencial de los contratos inteligentes y el posible futuro del dinero programable y los pagos programables. En este documento, profundizamos en cómo AA en Ethereum implementado por ERC-4337 puede habilitar nuevos casos de uso interesantes en la cadena de bloques. Brindamos un recorrido completo de una transacción ERC-4337 y explicamos en qué se diferencia de las transacciones estándar de Ethereum para resaltar la mecánica subyacente.
Nuestros experimentos en ERC-4337 se centran en dos casos de uso distintos al implementar contratos de Paymaster para aprender y evaluar su utilidad potencial para resolver problemas del mundo real y mejorar significativamente la experiencia del cliente a través de interacciones en cadena. Para las empresas que trabajan en esta frontera, nuestros equipos de productos, investigación e ingeniería estarán encantados de analizar ideas para pagos programables.
Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
Visa: replanteamiento de las criptotransacciones a partir de la abstracción de cuentas
Por Mustafa Bedawala, Mert Ozbay y Catherine Gu; Visa A pesar del progreso continuo, la cadena de bloques actualmente lucha por proporcionar el mismo nivel de flexibilidad y experiencia de usuario que los principales ecosistemas de pago digital. Sin embargo, las tecnologías emergentes pueden mejorar la experiencia de pago al realizar transacciones con monedas digitales. En "Pagos automatizados para billeteras autohospedadas", profundizamos en el uso de tecnología de punta para pagos automatizados aprovechando el concepto de abstracción de cuenta (AA) en cadenas de bloques públicas. ¹Nuestra exploración de AA y una experiencia mejorada de pago criptográfico continúa con una mirada a cómo el paradigma AA actual en Ethereum ofrece soluciones creativas para manejar las tarifas de transacción: los usuarios pueden usar monedas estables, otros tokens ERC-20 para pagar las tarifas de transacción de Ethereum, o no no paga nada? Encontrar soluciones innovadoras para permitir una experiencia de comercio e incorporación criptográfica sin fricciones es fundamental hasta que las monedas digitales obtengan una adopción generalizada.
Una descripción técnica de ERC-4337, el estándar actual para implementaciones de AA en Ethereum, tiene como objetivo comprender mejor ERC-4337. Discutimos el despliegue experimental de Visa de dos conjuntos de contratos Paymaster para mostrar cómo las tarifas de gas en la cadena de bloques se pueden rediseñar para mejorar la comodidad del usuario.
Abstracción de cuenta y ERC-4337
Para comprender mejor la propuesta de valor de la abstracción de cuentas, repasemos brevemente los dos tipos de cuentas que existen actualmente en Ethereum: cuentas de propiedad externa (EOA) y cuentas de contrato (CA), comúnmente denominadas cuentas de usuario y CA, respectivamente. . EOA, controlado por una clave privada, permite a los usuarios enviar transacciones. **Sin embargo, carecen de la programabilidad de los contratos inteligentes, lo que los hace más rígidos. Por el contrario, las CA poseen un código ejecutable pero no pueden iniciar transacciones de forma independiente. Las transacciones siempre deben originarse en la cuenta del usuario y contener la firma del usuario, ya sea una simple transferencia de tokens o una operación compleja realizada a través de muchos contratos inteligentes.
**El concepto de abstracción de cuenta (AA) está diseñado para aprovechar la capacidad de programación de las CA en beneficio de los usuarios finales. **Al escribir contratos inteligentes, es una práctica común definir un propietario para controlar el comportamiento del contrato. Las billeteras autohospedadas creadas como contratos inteligentes pueden proporcionar a los usuarios más funciones que las billeteras basadas en EOA. Esto se logra mediante la introducción de un nuevo estándar ethereum llamado ERC-4337, propuesto por miembros de la comunidad ethereum, incluido el fundador de ethereum Vitalik Buterin. ² ERC-4337 permite al propietario poseer directamente la cuenta de contrato inteligente sin la firma EOA. Si bien es posible que el propietario no firme el EOA en el sentido tradicional, su propiedad del contrato inteligente aún requiere un proceso de autenticación seguro para garantizar que controle y administre adecuadamente la cuenta del contrato inteligente. A su vez, esta cuenta de contrato inteligente puede manejar tareas como autenticación multifactor, pagos recurrentes y reglas y políticas personalizadas definidas por los usuarios finales.
ERC-4337 es el último desarrollo de AA, propuesto originalmente en 2021 como Propuesta de mejora de Ethereum (EIP)-4337. Pasó por el proceso Ethereum Request for Comments (ERC), que establece estándares para aplicaciones en la red Ethereum. La diferencia entre EIP y ERC es su alcance y requisitos de adopción. ERC define cómo deben ejecutarse los contratos inteligentes e interactuar entre sí a nivel de aplicación. No requieren la adopción por parte de todos los participantes, como las EIP principales (Propuestas de mejora de Ethereum), que se implementan a nivel de protocolo y requieren un consenso más amplio dentro de la comunidad. La transición de EIP-4337 a ERC-4337 marca que la propuesta ha cumplido con los estándares requeridos para las aplicaciones de Ethereum y ahora es oficialmente parte del ecosistema de Ethereum. A partir de marzo de 2023, los componentes principales de ERC-4337 se implementaron en la red principal de Ethereum. A diferencia de los EIP de abstracción de cuentas anteriores, ERC-4337 no requiere modificaciones en la capa de consenso del protocolo blockchain para habilitar la abstracción de cuentas en la red Ethereum. ² Este desarrollo permite a los participantes de la red blockchain explorar y experimentar de inmediato con nuevas experiencias de usuario sin esperar actualizaciones importantes de la red. Vale la pena señalar que una de las ventajas de ERC-4337 es que es compatible con cualquier cadena de bloques que utilice la máquina virtual Ethereum, lo que proporciona a AA un estándar más allá del propio Ethereum.
Transacciones transversales ERC-4337
**En una transacción típica de EOA, los usuarios interactúan con sus monederos autohospedados para crear, firmar y enviar transacciones al mempool público. La carga útil de la transacción generada y firmada con la clave privada del usuario se propaga a través de los nodos a un mempool de igual a igual (P2P). Los validadores o entidades especializadas (llamadas constructoras) seleccionan transacciones adecuadas y rentables de un mempool público para ejecutarlas e incorporarlas a la cadena de bloques. **
Figura 1: Flujo de transacción típico de Ethereum
ERC-4337 introduce un proceso de transacción alternativo al método EOA tradicional al agregar un nuevo paso antes de que la transacción llegue a la dirección EOA del proxy. Los usuarios envían sus intenciones como UserOperations, que luego se propagan a través de un mempool dedicado de UserOperations. Este mempool único es monitoreado por el empaquetador, que actúa como un EOA proxy, enviando UserOperations al mempool público en forma de transacciones EOA típicas que la red puede manejar. Estas transacciones luego siguen el mismo flujo que las transacciones regulares, ya sea uniéndose al grupo de miembros público o yendo directamente a los constructores.
Presentamos paso a paso el proceso de extremo a extremo de una transacción ERC-4337, desde la generación de UserOperation hasta la ejecución. Antes de sumergirse, es imperativo definir el concepto de cajero, que juega un papel vital en este proceso y está en el corazón de nuestra propia exploración. Paymaster es una cuenta de contrato inteligente opcional que puede patrocinar tarifas de transacción para cuentas de contrato (contratos inteligentes centrados en el usuario). Paymasters evalúa si la UserOperation se acepta durante la fase de validación e implementa cualquier lógica de tarifa requerida durante la fase de ejecución. Al hacer esto, pueden patrocinar tarifas de transacción para los usuarios y permitir que los usuarios paguen la gasolina utilizando tokens ERC-20, como las monedas estables de USD.
Figura 2: proceso de transacción ERC-4337
**1. El usuario genera UserOperations a través de la billetera de contrato inteligente que cumple con el estándar ERC-4337. ** UserOperations encapsula la intención del usuario de interactuar con la cadena de bloques, que el usuario firma para la autenticación. Una vez generadas, las UserOperations se comprometen con el Mempool de UserOperation dedicado, un almacenamiento dedicado a UserOperations separado del mempool de transacciones estándar de Ethereum.
**2. Los empaquetadores son una clase especializada de actores que monitorean el Mempool de UserOperation, ejecutan simulaciones y ensamblan una serie de UserOperations en un solo paquete de transacciones. ** Los empaquetadores son responsables de recopilar UserOperations y enviarlas al contrato de EntryPoint, optimizando el uso de gas y maximizando las ganancias utilizando la lógica de pago primero.
**3. El contrato de EntryPoint recibe un paquete de UserOperations. **Actúa como coordinador central para administrar UserOperations en el flujo de transacciones ERC-4337.
** 4. Si se especifica UserOperation, el contrato EntryPoint interactuará con el contrato Paymaster. **Como se mencionó anteriormente, Paymasters puede patrocinar tarifas de transacción para cuentas de contrato. EntryPoint verifica que el pagador tenga depósitos suficientes o que la cuenta del contrato tenga fondos suficientes para pagar el gas. Durante la ejecución, si Paymaster está involucrado, puede implementar una lógica de tarifa personalizada, que demostramos en la siguiente sección.
** 5. Luego, el contrato EntryPoint llama a la cuenta del contrato y, si es necesario, al cajero para verificar la firma en UserOperation. **Una cuenta de contrato es una cuenta de usuario que interactúa perfectamente con el contrato de EntryPoint para facilitar la ejecución de transacciones. Una vez que la verificación es exitosa, EntryPoint transfiere los datos relevantes de cada UserOperation a Contract Account e inicia el proceso de ejecución.
Abstracción de cuentas y aplicación práctica
**A medida que la tecnología blockchain continúa explorando aplicaciones del mundo real, las billeteras autohospedadas se están convirtiendo en una opción popular para que los usuarios mantengan y realicen transacciones con sus monedas digitales. **Desde el inicio de Ethereum, se han realizado transacciones en aproximadamente 180 millones de direcciones únicas, incluidas cuentas de todo tipo y cuentas múltiples que pertenecen a la misma persona o grupo de personas. ³Sin embargo, cada mes, solo vemos millones de interacciones en la cadena iniciadas por personas reales, con una actividad diaria en la cadena en la red principal de Ethereum de aproximadamente 1 millón de transacciones por día. ⁴ En comparación, Visa procesó 258 mil millones de transacciones en 2022, un promedio de 707 millones de transacciones por día, y actualmente hay 4,1 mil millones de tarjetas vinculadas a Visa en circulación en todo el mundo. ⁵ ¿Podrían las cadenas de bloques disfrutar de niveles de adopción comparables si admitieran la misma variedad de experiencias de pago con la misma facilidad de uso? Los posibles pasos en esta dirección incluyen retirar las tarifas de gas para los usuarios o permitirles pagar tarifas de transacción en tokens ERC-20.
Use ERC-4337 Paymaster para pagar con tokens ERC-20
Figura 3: Paymaster facilita el pago de tarifas de transacción utilizando tokens ERC-20
Para realizar transacciones en la cadena de bloques Ethereum hoy, los usuarios deben obtener ETH para pagar las tarifas de gas; de manera similar, para realizar transacciones en la cadena de bloques Polygon, los usuarios deben obtener el token nativo MATIC. ¿Existe alguna solución que elimine la necesidad de acumular diferentes rangos de tokens nativos de blockchain solo con el fin de pagar la gasolina? La situación es similar al valor de la red central de pagos transfronterizos de Visa, donde los viajeros pueden gastar en su moneda local sin adquirirla primero. En esta versión del contrato de Paymaster, el contrato puede actuar como un servicio de conversión de moneda intermediario. El servicio puede recopilar moneda digital de los usuarios y luego convertirla en un token nativo según el tipo de cambio vigente para pagar la gasolina en nombre del usuario. Además, esto se puede hacer con financiamiento instantáneo, lo que significa que los usuarios solo necesitan financiar los costos de gas en el momento de la transacción sin ningún requisito de financiamiento inicial, para optimizar la gestión de su flujo de efectivo.
Gastos de transacción del patrocinador para usuarios que utilizan ERC-4337 Paymaster
Figura 4: Paymaster patrocina tarifas de transacción para los usuarios
Las transacciones P2P en Web 2.0 hoy en día son gratuitas para los consumidores en muchos países, lo que plantea una pregunta inmediata: ¿por qué los consumidores deberían pagar por las transacciones P2P en la cadena de bloques? Abstracción de cuenta proporciona una solución que permite a los usuarios eludir estas tarifas si un tercero (como un proveedor de billetera fintech) está dispuesto a cubrirlas. En este caso, el proveedor de la billetera o dApp puede actuar como cajero, pagando tarifas de gasolina por el usuario y reduciendo significativamente la fricción. El concepto ERC-4337 Paymaster puede incentivar la adopción de los usuarios al permitirles realizar transacciones a través de su plataforma de billetera de forma gratuita.
Más allá de eso, **las cuentas de contratos inteligentes pueden simplificar la administración de billeteras y proporcionar una alternativa a la verificación de firmas, lo que permite la autenticación de múltiples factores para una mayor seguridad y recuperación de fondos en billeteras con custodia propia. ****Además, simplifican el uso de dApps al permitir permisos temporales para tareas específicas con límites personalizables, como autorizar a dApps a procesar pagos de extracción recurrentes de cuentas de usuario, hasta una cierta cantidad. **Estos ejemplos son solo ejemplos de cómo los contratos inteligentes pueden ayudar a los usuarios que no son nativos de las criptomonedas a interactuar con la tecnología blockchain más fácilmente mientras mantienen sus cuentas seguras.
Nuestros experimentos con ERC-4337 Paymaster
Use ERC-4337 Paymaster para pagar con tokens ERC-20
Figura 5: Paymaster facilita el pago de tarifas de transacción utilizando tokens ERC-20 (fragmento de código)
Con nuestro primer contrato de Visa Paymaster, estamos explorando si los usuarios pueden pagar tarifas de transacción con tokens alternativos, como monedas estables de USD o incluso monedas digitales del banco central en el futuro. En este caso, Paymaster paga las tarifas de transacción de ETH al recibir el equivalente de un token ERC-20 genérico pagado por el usuario. Para la implementación, utilizamos el código de inicio proporcionado por la Fundación Ethereum y el equipo central ERC-4337⁶. Este contrato de ejemplo contiene la lógica de gestión de Paymaster y su token ERC-20 personalizado. Para este contrato, presentamos una lista blanca y una función para actualizar la tasa de conversión de token a ETH. Esto nos permite simular mejor las condiciones de la vida real donde el tipo de cambio entre ETH y tokens es dinámico. Nuestra configuración de prueba involucró la implementación de una billetera de contrato inteligente y el envío de acciones de usuario. Actualmente, las opciones de billetera compatibles con ERC-4337 son limitadas, decidimos usar la billetera Trampoline creada por la Fundación Ethereum y el equipo central de ERC-4337. ⁷ Para enviar nuestras acciones de usuario a Goerli Testnet, usamos el Bundler público de Blocknative. ⁸ Para una operación de usuario exitosa, el contrato de Visa Paymaster primero debe verificar si el usuario tiene fondos suficientes en ERC-20 para pagar la tarifa del gas. Después de la confirmación, los usuarios pagan tarifas de transacción con este token ERC-20 genérico. Puede encontrar nuestro contrato implementado, ⁹ y la UserOperation manejada aquí.
Gastos de transacción del patrocinador para usuarios que utilizan ERC-4337 Paymaster
Figura 6: Paymaster patrocina tarifas de transacción para los usuarios (fragmento de código)
De acuerdo con el segundo caso de uso que mencionamos, nuestro otro contrato de Visa Paymaster patrocina completamente las tarifas de transacción. Una vez más, nuestra implementación se basa en el código inicial¹¹ proporcionado por la Fundación Ethereum y el equipo central de ERC-4337. Origination Code patrocina cada transacción pro bono. Agregamos una lista blanca para permitir que solo los usuarios autorizados interactúen con el contrato de Visa Paymaster. Puede encontrar nuestro contrato de implementación aquí. ¹² Nuestra implementación de prueba pudo patrocinar con éxito las tarifas de transacción de acción del usuario para los usuarios incluidos en la lista blanca. Puede ver una UserOperation exitosa aquí. ¹³
El caso de uso de Paymaster va mucho más allá de lo que hemos destacado en este artículo. Al abstraer la lógica básica de procesamiento de blockchain, son posibles muchas experiencias de usuario innovadoras. Para el desarrollo de ERC-4337 actualmente en curso, vemos varios enfoques posibles que podrían aprovechar nuestros experimentos descritos anteriormente. Por ejemplo, en lugar de requerir un nuevo token ERC-20 personalizado integrado en el contrato inteligente de Paymaster, sería más fácil integrar Paymaster con un token ERC-20 existente como USDC. Este enfoque requiere el uso de una fuente externa para determinar el precio del token y verificar que el contrato de Paymaster haya aprobado el cobro al usuario por el token especificado. Un enfoque es implementar un servicio de Oracle fuera de la cadena que pueda proporcionar la información necesaria, como los precios de los tokens y las firmas que el contrato de Paymaster puede verificar.
Alternativamente, todo el proceso se puede manejar en cadena con la ayuda de un contrato de Oracle para los datos necesarios. Si bien este enfoque brinda una mejor garantía de que los cajeros reciben una compensación adecuada, también es más difícil de implementar. Algunas restricciones de ERC-4337 dificultan que Paymasters consulte los oráculos en cadena durante la verificación de Paymaster, y los Bundlers a menudo rechazarán las operaciones de usuario que necesitan hacerlo. Para habilitar este proceso, es necesario establecer un mempool alternativo con una lista de Paymasters de confianza, a la que el Bundler puede optar. Estos Paymasters de confianza pueden llamar a los contratos de Oracle, y las operaciones de usuario que utilizan estos Paymasters se extraerán del grupo de memoria de respaldo.
Mirando hacia el futuro
** Interactuar con una cadena de bloques usando una billetera digital puede ser una experiencia desafiante, y muchos creen que garantizar la facilidad de uso es un paso fundamental para impulsar una adopción más amplia. ERC-4337 presenta posibilidades futuras interesantes para mejorar la experiencia de pago del usuario en cadena a través de billeteras de contrato inteligente con custodia propia, lo que a su vez podría cambiar la forma en que los usuarios gastan monedas digitales y activos digitales. **
La comunidad Ethereum está al comienzo de este nuevo viaje cuando se trata de ERC-4337. Hay muchos planes para proporcionar la infraestructura en la que se pueden construir transmisiones impulsadas por AA, algunas de las cuales usamos en nuestras pruebas y mencionamos en este artículo, pero aún hay un margen considerable para el crecimiento. Al igual que con cualquier campo abierto, existen enfoques competitivos y compensaciones, como las opciones de descentralización que ofrecen los Bundlers públicos frente a la personalización de los Bundlers privados, la seguridad sin confianza de Paymaster completamente en cadena frente a la implementación de algunos componentes en comparación con la rentabilidad; y la multitud de esquemas de firma alternativos que pueden usar las billeteras, entre otras cosas. Estas diferentes opciones de diseño pueden dar como resultado un amplio conjunto de opciones para brindarles a los usuarios futuras experiencias de pago digital.
Innovación en pagos para todos, en todas partes
Como líder mundial en soluciones de pago, Visa siempre está buscando innovaciones que satisfagan las necesidades del mundo real. Continuaremos investigando el potencial de los contratos inteligentes y el posible futuro del dinero programable y los pagos programables. En este documento, profundizamos en cómo AA en Ethereum implementado por ERC-4337 puede habilitar nuevos casos de uso interesantes en la cadena de bloques. Brindamos un recorrido completo de una transacción ERC-4337 y explicamos en qué se diferencia de las transacciones estándar de Ethereum para resaltar la mecánica subyacente.
Nuestros experimentos en ERC-4337 se centran en dos casos de uso distintos al implementar contratos de Paymaster para aprender y evaluar su utilidad potencial para resolver problemas del mundo real y mejorar significativamente la experiencia del cliente a través de interacciones en cadena. Para las empresas que trabajan en esta frontera, nuestros equipos de productos, investigación e ingeniería estarán encantados de analizar ideas para pagos programables.