Hace unas semanas hablábamos sobre la EIP-3074, joder que bien pintaba. Pero fijate, lo dijimos, había cosas malas que afectaba a la seguridad de las cuentas.
Y al final, en contra de lo esperado se ha decidido que EIP-3074 no formará parte del pack de implementaciones a introducir en PECTRA, la nueva actualización de Ethereum que esperamos para Q1 2025. Y en su lugar tendremos EIP-7702.
Y de eso hablamos hoy. Pero antes, por si no lo estás ya, deberías leerte el artículo sobre EIP-3074, al menos la parte inicial dónde se habla de los tipos de cuenta en Ethereum. Y te recuerdo Account Abstraction mola mucho.
⚡ EIP-7702 ⚡
Esta EIP propone una serie de cambios que permitirían habilitar Account Abstraction. Se introduce un nuevo tipo de transacción llamado “user operation” que no sería autorizada con una firma. Es un contrato quien lo hace.
Cuando se envía un “user operation” a la red, primero se envía a la smart contrat wallet asociada. Este valida la operación basándose en su propia lógica de verificación. Si la validación tiene éxito, la wallet envía una transacción regular al destino.
Este proceso permite una mayor flexibilidad en cómo se validan las transacciones. Por ejemplo, la smart contrat wallet podría requerir múltiples firmas antes de ejecutar una transacción, o podría utilizar datos fuera de la cadena (como una prueba de autenticación biométrica) para validar una transacción. ¿O incluso oráculos?
⚡ EIP-7702 ⚡ también introduce el concepto de "contratos patrocinadores" o "paymasters". Es decir determinados contratos pagará el GAS por ti. Ya me imagino algún DEX lanzando Swaps gratis a modo “la hora feliz”.
El impacto de ⚡ EIP-7702 ⚡
Para los desarrolladores va a traer más flexibilidad cuando se diseñen wallets. Se podrían implementar cosas como verificación personalizada, habilitar características como la autenticación multifactor, límites de gasto y mecanismos de recuperación de emergencia.
Para los usuarios, EIP-7702 promete una experiencia en Ethereum más fluida y segura. Los monederos inteligentes pueden ofrecer mejores características de seguridad, como protección contra ataques de phishing y la capacidad de recuperar fondos si se pierden las claves privadas.
La puesta en marcha de ⚡ EIP-7702 ⚡
El mayor problema de ⚡ EIP-7702 ⚡, por bueno que sea, es que añade complejidad a las wallets de Ethereum. Se ha de modificar la estructura existente de Ethereum que podría acabar con problemas de compatibilidad.
Un problema relevante, y más para Ethereum es que los contratos inteligentes son más consumidores de recursos, y por tanto pagan más GAS. Esto lo comentamos en el artículo de ⛽ Gas en Ethereum ⛽.
Y esto ya se sabe si por ejemplo usas Ambire Wallet, dónde una transacción en Ethereum es mucho más caro que en una wallet no AA. Mira la siguiente tabla:
Si solo vas a hacer una TX, usa mejor Metamask. Pero como Ambire permite agrupar transacciones si empiezas a juntar una tras otra tendrás cierto ahorro. Pero tengo claro que no es la norma de los usuarios hacer 10tx a la vez.
Así que para implementar ⚡ EIP-7702 ⚡ los desarrolladores van a tener que lidiar con el ⛽ GAS ⛽. Y otra cosa, todas las wallets se van a tener que actualizar a este nuevo estándar.
Te pongo una imagen que no vas a entender:
Es coña, se entiende bien. Básicamente todo lo azul sería lo nuevo que introduce ⚡ EIP-7702 ⚡. Para acabar hay un hilo en X.com muy interesante que nos da mucha perspectiva sobre el desarrollo de los acontecimientos:
EIP-4337 fue lanzado en Marzo de 2023. Aquí un post donde ya lo citábamos. Ojito que este EIP viene de 2016. Permitió hacer que los contratos actuaran como cuentas.
Esta EIP ha tenido mucha adopción, como podemos ver en DUNE. A día de hoy hay casi 5 millones de cuentas que han hecho casi 20 millones de transacciones. La mayor presencia de estas wallets y operaciones está en Polygon.
El problema radica en que las cuentas normales de Ethereum las EOA, siguen siendo las más usadas. La adopción no es que sea muy plena. Y es que además para controlar una Smart Wallet necesitas una vieja EOA. Mayormente por un problema: <No hay manera de convertir tu vieja cuenta de Ethereum en una Smart Wallet.>
Y con estas llegamos a ❤ EIP-3074 💔. Que mola. Pero no mucho. Permite que deleguemos la propiedad de nuestra vieja cuenta de Ethereum a un contrato de Ethereum, o lo que es lo mismo, una Smart Wallet.
Pero claro, si el contrato es malo, bye bye a tu cuenta. Y no hay vuelta atrás. Es simplemente por la forma en la que ❤ EIP-3074 💔 opera. Nada más. Además si por alguna razón usas tu wallet estándar la delegación no funciona. Y tendrias que volver a autorizar (cosas del nonce).
Y llegamos a EIP-5003 que nos dice que mientras ❤ EIP-3074 💔 es temporal, pues EIP-5003 es definitiva. Pero ojo, ❤ EIP-3074 💔 + EIP-5003 no es muy compatible con EIP-4337, Mal apaño.
Vitalik se pone manos a la obra: Propone ⚡ EIP-7702 ⚡. Hace modificaciones en la ❤ EIP-3074 💔 que la hace más compatible con EIP-4337. Pero mucho más.
Una vez que este cambio se implemente, tu wallet EOA existente podrá ejecutar cualquier código de contrato inteligente. Con una EIP adicional, las EOAs podrán actualizarse permanentemente para ejecutar código específico. Con el tiempo, esto podría cambiar completamente la forma en que todos interactuamos con las aplicaciones web3.
Y es por eso que la imagen de la cabecera que más me gustaba era la fusión de Goku y Vegeta:
La mezcla de EIPs dará lugar a un Ethereum mucho más potente, ágil y operativo en todos los aspectos. Y se hará en Pectra, la próxima actualización de Ethereum programada para dentro de muy poco, y de la que te voy a hablar en breve.
Siempre que salven el problema del GAS. ¿Qué opinas?
Ultra interesante todas estas modificaciones! Tardaremos en verlo implementado, pero algún día estará en el día a día!!
Lo veo como hoy en día trabajamos con nuestra cuenta bancaria, usamos el Bizum, fraccionamos los pagos, solicitamos préstamos... :D
Con tantos estándares AA cambiando cada tantos meses, yo no me animo todavía a usarlo de forma mayoritaria. Le daré un tiempo a qué las AA Wallets se optimicen, depuren errores y compitan un poco. Ya después elegiré alguna.
Debo decir que todo esto del AA va exageradamente lento, pero si es para que ganen la mejor idea/estándar y va a mejorar nuestra seguridad, lo soporto.