Saltar al contenido principal

Una publicación etiquetados con "ERC-4804"

Ver Todas las Etiquetas

Dos Vías para un Ethereum más Amigable: Cuentas Inteligentes ERC‑4337 + ERC‑4804 URLs Web3

· 9 min de lectura
Dora Noda
Software Engineer

TL;DR

Ethereum acaba de obtener dos primitivas poderosas que llevan la experiencia de usuario más allá de las frases semilla y las dapps marcables, hacia “experiencias en cadena clicables”.

  • ERC-4337 trae abstracción de cuentas al Ethereum actual sin cambios en el protocolo base. Esto hace que funciones como cuentas de contrato inteligente, patrocinio de gas, llamadas agrupadas y autenticación al estilo de passkey sean nativas de las carteras.
  • ERC-4804 introduce URLs web3:// — enlaces legibles por humanos que se resuelven directamente en llamadas de lectura a contratos y pueden incluso renderizar HTML o SVG en cadena, todo sin un servidor web tradicional como intermediario. Piensa en ello como “HTTP para el EVM”.

Cuando se usan juntos, ERC-4337 maneja las acciones, mientras que ERC-4804 maneja las direcciones. Esta combinación permite compartir un enlace que extrae verificablemente su interfaz de usuario de un contrato inteligente. Cuando el usuario está listo para actuar, el flujo pasa a una cuenta inteligente que puede patrocinar el gas y agrupar varios pasos en un solo clic sin fisuras.


Por Qué Importa Ahora

No es solo un futuro teórico; estas tecnologías están en vivo y ganando tracción significativa. ERC-4337 ya está escalado y probado en producción. El contrato canónico EntryPoint se desplegó en la mainnet de Ethereum el 1 de marzo de 2023 y desde entonces ha impulsado decenas de millones de cuentas de contrato inteligente y procesado más de 100 millones de operaciones de usuario.

Simultáneamente, el protocolo base está convergiendo con estas ideas. La actualización Pectra, lanzada en mayo de 2025, incluyó EIP-7702, que permite que las cuentas externas estándar (EOA) se comporten temporalmente como cuentas inteligentes. Esto complementa a ERC-4337 al facilitar la transición para usuarios existentes, en lugar de reemplazar el estándar.

En el frente de direccionamiento, web3:// ya está formalizado. ERC-4804 especifica exactamente cómo una URL se traduce en una llamada EVM, y web3 ha sido listado por IANA como un esquema URI provisional. Las herramientas y pasarelas necesarias para hacer prácticas estas URLs ya están disponibles, convirtiendo datos en cadena en recursos compartibles y enlazables.


Introducción: ERC-4337 en una Página

En su esencia, ERC-4337 introduce una vía de transacción paralela a Ethereum, construida para flexibilidad. En lugar de transacciones tradicionales, los usuarios envían objetos UserOperation a un mempool alternativo. Estos objetos describen lo que la cuenta quiere hacer. Nodos especializados llamados “Bundlers” recogen estas operaciones y las ejecutan a través de un contrato global EntryPoint.

Esto habilita tres componentes clave:

  1. Cuentas de Contrato Inteligente (SCAs): Estas cuentas contienen su propia lógica. Definen qué hace válida una transacción, permitiendo esquemas de firma personalizados (como passkeys o multisig), claves de sesión para juegos, límites de gasto y mecanismos de recuperación social. La cuenta, no la red, impone las reglas.
  2. Paymasters: Estos contratos especiales pueden patrocinar las tarifas de gas para los usuarios o permitirles pagar con tokens ERC‑20. Esta es la clave para desbloquear una incorporación real de “sin ETH en la cartera” y crear experiencias de un solo clic al agrupar múltiples llamadas en una única operación.
  3. Seguridad DoS y Reglas: El mempool público de ERC‑4337 está protegido por reglas de validación off‑chain estandarizadas (definidas en ERC‑7562) que evitan que los Bundlers desperdicien recursos en operaciones destinadas a fallar. Si bien pueden existir mempools alternativos para casos de uso especializados, estas reglas compartidas mantienen el ecosistema coherente y seguro.

Modelo mental: ERC‑4337 convierte las carteras en aplicaciones programables. En lugar de solo firmar transacciones crudas, los usuarios envían “intenciones” que el código de su cuenta valida y el contrato EntryPoint ejecuta — de forma segura y atómica.


Introducción: ERC-4804 en una Página

ERC‑4804 ofrece un mapeo simple y directo de una URL web3:// a una llamada solo de lectura en EVM. La gramática de la URL es intuitiva: web3://<nombre-o-dirección>[:chainId]/<método>/<arg0>?returns=(tipos). Los nombres pueden resolverse mediante sistemas como ENS, y los argumentos se tipan automáticamente según el ABI del contrato.

Algunos ejemplos:

  • web3://uniswap.eth/ llamaría al contrato en la dirección uniswap.eth con calldata vacío.
  • web3://.../balanceOf/vitalik.eth?returns=(uint256) codificaría en ABI una llamada a la función balanceOf con la dirección de Vitalik y devolvería un resultado JSON tipado correctamente.

Crucialmente, este estándar es actualmente para llamadas solo de lectura (equivalentes a funciones view de Solidity). Cualquier acción que cambie el estado sigue requiriendo una transacción — justo donde entran ERC‑4337 o EIP‑7702. Con web3 registrado como esquema URI provisional en IANA, el camino está abierto para soporte nativo en navegadores y clientes, aunque por ahora a menudo depende de extensiones o pasarelas.

Modelo mental: ERC‑4804 convierte recursos en cadena en objetos web enlazables. “Compartir esta vista de contrato como URL” se vuelve tan natural como compartir un enlace a un panel de control.


Juntos: “Experiencias En Cadena Clicables”

Combinar estos dos estándares desbloquea un patrón poderoso para construir aplicaciones descentralizadas hoy.

Primero, entregas una UI verificable vía web3://. En lugar de alojar tu frontend en un servidor centralizado como S3, puedes almacenar una interfaz HTML o SVG mínima directamente en cadena. Un enlace como web3://app.eth/render permite al cliente resolver la URL y renderizar la UI directamente desde el contrato, asegurando que el usuario vea exactamente lo que el código dicta.

Desde esa interfaz verificable, puedes disparar una acción de un solo clic vía ERC‑4337. Un botón “Mint” o “Subscribe” puede compilar una UserOperation que un paymaster patrocina. El usuario aprueba con una passkey o un simple prompt biométrico, y el contrato EntryPoint ejecuta una llamada agrupada que despliega su cuenta inteligente (si es su primera vez) y completa la acción deseada en un solo paso atómico.

Esto crea una transferencia profunda de enlace. La UI puede incrustar enlaces basados en intención que son manejados directamente por la cartera del usuario, eliminando la necesidad de enviarlos a un sitio externo que pueda no ser de confianza. El contenido es el contrato, y la acción es la cuenta.

Esto habilita:

  • Pruebas sin gas y onboarding “just works”: Los nuevos usuarios no necesitan adquirir ETH para comenzar. Tu aplicación puede patrocinar sus primeras interacciones, reduciendo drásticamente la fricción.
  • Estado compartible: Un enlace web3:// es una consulta al estado de la blockchain. Perfecto para dashboards, pruebas de propiedad o cualquier contenido que deba ser verificablemente a prueba de manipulaciones.
  • Flujos amigables para agentes: Los agentes de IA pueden obtener estado verificable vía URLs web3:// y enviar intenciones transaccionales a través de ERC‑4337 usando claves de sesión limitadas, todo sin scraping de pantalla frágil o manejo inseguro de claves privadas.

Notas de Diseño para Constructores

Al implementar estos estándares, hay algunas decisiones arquitectónicas a considerar. Para ERC‑4337, es aconsejable comenzar con plantillas mínimas de cuentas inteligentes y añadir capacidades mediante módulos guardados para mantener la lógica de validación central simple y segura. Tu política de paymaster debe ser robusta, con límites claros en el gas patrocinado y listas blancas de métodos aprobados para prevenir ataques de griefing.

Para ERC‑4804, prioriza enlaces legibles usando nombres ENS. Sé explícito con el chainId para evitar ambigüedades e incluye el parámetro returns=(…) para asegurar que los clientes reciban respuestas tipadas y predecibles. Aunque puedes renderizar UI completas, suele ser mejor mantener HTML/SVG en cadena al mínimo, usándolos como shells verificables que pueden obtener activos más pesados de almacenamiento descentralizado como IPFS.

Finalmente, recuerda que EIP‑7702 y ERC‑4337 trabajan juntos, no en contra. Con EIP‑7702 activo en la actualización Pectra, los usuarios de EOAs existentes pueden delegar acciones a lógica de contrato sin desplegar una cuenta inteligente completa. Las herramientas del ecosistema de abstracción de cuentas ya se están alineando para soportar esto, suavizando la ruta de migración para todos.


Seguridad, Realidad y Limitaciones

Aunque potentes, estos sistemas tienen compensaciones. El contrato EntryPoint es un punto de estrangulamiento central por diseño; simplifica el modelo de seguridad pero también concentra riesgo. Siempre utiliza versiones auditadas y canónicas. Las reglas de validación del mempool de ERC‑7562 son una convención social, no una regla impuesta on‑chain, así que no asumas que todo mempool alternativo ofrece la misma resistencia a censura o protección DoS.

Además, web3:// sigue madurando. Sigue siendo un estándar de solo lectura, y cualquier operación de escritura requiere una transacción. Si bien el protocolo es descentralizado, las pasarelas y clientes que resuelven estas URLs pueden ser puntos potenciales de falla o censura. La verdadera “desbloqueabilidad” dependerá de un soporte nativo amplio en clientes.


Un Plano Concreto

Imagina que quieres construir un club de membresía impulsado por NFT con una UI verificable y un proceso de unión de un solo clic. Así podrías implementarlo este trimestre:

  1. Compartir la UI: Distribuye un enlace como web3://club.eth/home. Cuando un usuario lo abre, su cliente resuelve la URL, llama al contrato y renderiza una UI en cadena que muestra la lista de miembros permitidos y el precio de mint.
  2. Unión de Un Solo Clic: El usuario pulsa un botón “Unirse”. Su cartera compila una UserOperation de ERC‑4337 patrocinada por tu paymaster. Esta única operación agrupa tres llamadas: desplegar la cuenta inteligente del usuario (si no la tiene), pagar la tarifa de mint y registrar sus datos de perfil.
  3. Recibo Verificable: Tras la confirmación de la transacción, al usuario se le muestra una vista de confirmación que es otro enlace web3://, como web3://club.eth/receipt/<tokenId>, creando un vínculo permanente en cadena a su prueba de membresía.

El Gran Panorama

Estos dos estándares señalan un cambio fundamental en cómo construimos sobre Ethereum. Las cuentas se están convirtiendo en software. ERC‑4337 y EIP‑7702 están transformando la “UX de la cartera” en un espacio para verdadera innovación de producto, yendo más allá de las lecciones sobre gestión de claves. Al mismo tiempo, los enlaces se están convirtiendo en consultas. ERC‑4804 devuelve la URL como un primitivo para direccionar hechos verificables en cadena, no solo los frontends que los proxy.

Juntos, acortan la brecha entre lo que los usuarios hacen clic y lo que los contratos ejecutan. Esa brecha antes estaba llena por servidores web centralizados y suposiciones de confianza. Ahora puede ser cubierta por rutas de código verificables y mempools abiertos y sin permisos.

Si construyes aplicaciones cripto de consumo, esta es tu oportunidad de hacer que el primer minuto del usuario sea encantador. Comparte un enlace, muestra la verdad, patrocina la primera acción y mantén a tus usuarios dentro de un bucle verificable. Las vías están aquí — ahora es momento de lanzar las experiencias.