WEB3DEV Español

Cover image for Abstracción de cuentas: Mejorando las cuentas de los Contratos Inteligentes
Hector
Hector

Posted on

Abstracción de cuentas: Mejorando las cuentas de los Contratos Inteligentes

El EIP4337

Este artículo es una traducción de Jamaltheatlantean, hecha por Héctor Botero. Puedes encontrar el artículo original aquí.
Sería genial escucharte en nuestro Discord, puedes contarnos tus ideas, comentarios, sugerencias y dejarnos saber lo que necesitas.
Si prefieres puedes escribirnos a @web3dev_eshttps://twitter.com/web3dev_es en Twitter.

La Abstracción de Cuentas (o Account Abstraction) en palabras simples, es la última propuesta de mejoras de Ethereum (Ethereum Improvement Proposal), usada para crear una interfaz abstracta para interactuar con el blockchain.

Si, es la propuesta más reciente del blockchain de Ethereum que apunta a que el almacenamiento de activos digitales sea menos una tarea, como lo es ahora mismo, y más como una cuenta bancaria usada día a día.

Profundicemos en los detalles

¿Qué es un EIP?

Un EIP, es decir Ethereum Improvement Proposal, son formas en la cual la gente propone, debate y adopta cambios que definen las Funciones Centrales de Ethereum.

Existen diferentes tipos de EIPs para cambios de protocolos de bajo nivel en la actualidad.

¿Qué es el EIP4337?

El EIP4337 fue propuesto en 2021 e introdujo un objeto de pseudo transacción llamado ‘UserOperation’: una estructura que describe una transacción a ser enviada en nombre de un usuario.

Estas operaciones de un usuario van a un ‘alt mempool’ donde serán almacenadas como transacciones sin confirmar.

Los nodos de Ethereum ahora actúan como un Bundler (recolector), tomarán las operaciones del usuario del mempool y las juntarán en una sola transacción llamada ‘Bundle transaction’ o transacción agrupada.

Una vez que el bundle transaction es creada, es enviada en un contrato inteligente global ‘singleton’, conocido como ‘EntryPoint’.

¿Te perdí? Mala mía.

Vamos a desviarnos un momento: un contrato inteligente singleton es un tipo de contrato que solo tiene una instancia desplegada en la blockchain. Esto quiere decir que solo puede haber una de ellas.

El bundler (conocido anteriormente como el minero) invoca la función en el entry point/singleton del contrato inteligente, llamado ‘handleOps’ (Handle Operations, manejo de operaciones).

Esta función recibe la transacción del bundle e invoca otra función llamada ‘validateUserOp’ (Validate User Operation).

Nota: cuando este EIP es adoptado, cada contrato inteligente tendría que incluir esta función.

validateUserOp verifica la firma de la operación y paga la tarifa si la cuenta considera la operación como válida antes de continuar la ejecución de la operación.

Una función de ejecución entonces realiza la operación real que es enviada por el contrato EntryPoint.

Si, esta es otra función que los contratos inteligentes ahora tienen que implementar.

Actualmente en Ethereum, las cuentas son Cuentas de propiedad Externas (Externally Owned Accounts, EOAs), las cuales son controladas por claves privadas o, Cuentas de Contratos Inteligentes (Smart Contracts Accounts, SCAs) las cuales son auto ejecutables, ya que esta es la naturaleza de todos los contratos inteligentes.

La Abstracción de Cuentas es una forma de crear una interfaz unificada para ambos, los EOA y los Contratos Inteligentes, los cuales apuntan a simplificar el proceso de interactuar con el blockchain de Ethereum y reducir el riesgo de error y confusión.

Si te estás preguntando, ‘¿Interfaz Unificada?

Bueno, piénsalo de esta forma. El Account Abstraction unirá la funcionalidad de ambas, EOAs y SCAs para crear una nueva forma de crear, verificar y ejecutar transacciones.

Image description

Esta interfaz unificada sirve como puente entre la red de ethereum y el usuario, haciendo que las interacciones con la blockchain de Ethereum sean más amigables.

“Vamos a un punto en el futuro en donde usar una cuenta de Ethereum, será tan simple como usar una cuenta bancaria” -Kristof Gazco, co-autor del Ethereum Improvement Proposal (EIP) sobre el Account Abstraction.

¿Cómo funcionará esto?

La Abstracción de Cuentas moverá la validez de las condiciones de una transacción, como el pago de gas, verificación de la firma y protección de repetición, fuera del nivel de protocolo básico, conocido como la capa consenso y en el nivel del contrato EVM, o la capa de ejecución.
¿Volví a perder a alguien? Bueno, no pasa nada, eso fue para mis amigos más técnicos, aquí hay una mejor explicación:

En la actual implementación de la red de Ethereum, el proceso de la validación de la transacción es manejado por la capa del consenso, la cual, es la capa responsable en determinar la validez de las transacciones y de la gobernanza del blockchain.

Esto quiere decir que cada nodo en la red, realiza la misma revisión de validación para cada transacción, lo cual puede ser computacionalmente caro y ralentiza la red.

Con este nuevo pedido EIP, la validación de las transacciones en la red, serán movidas de la capa consenso a la capa de ejecución, la cual es responsable de ejecutar los contratos inteligentes de la red.

Por este cambio, la validación será ahora realizada por el contrato inteligente asociado a la transacción, en cambio de hacerlo en cada nodo en la red y así, toma menos carga de los nodos los cuales, previamente tenían que realizar todas estas transacciones como mineros.

Moviendo el proceso de validación a la capa de ejecución, el Account Abstraction simplificará el proceso la creación de la transacción removiendo la necesidad de algunos pasos de la validación como la verificación de la firma, pago de gas y protección de repetición.

Ahora, estos pasos serán manejados por el contrato inteligente, el cual será responsable de validar que la transacción sea autorizada y sea correctamente formateada.

¿Qué es posible con el Account Abstraction?

Las cuentas de contratos inteligentes aprovechan el uso del Account Abstraction para proporcionar funcionalidades avanzadas y una interfaz más fácil de usar, para administrar los activos digitales.

  1. Con el Account Abstraction, las cuentas de contratos inteligentes son capaces de abstraer la complejidad de manejar el modelo de cuenta de Ethereum, incluyendo las claves privadas y las transacciones de las tarifas. Con el Account Abstraction, las cuentas de los contratos inteligentes pueden proveer una interfaz simple y fácil de usar para manejar los activos digitales, sin que se requiera que los usuarios manejen las claves privadas.

  2. El Account Abstraction permite que las cuentas de los contratos inteligentes interactúen con los contratos inteligentes de forma más eficiente y segura que con el EOA. Esto es porque el Account Abstraction les permite usar su propia lógica y sus códigos para manejar las transacciones, en vez de depender del usuario para generar y firmar la transacción usando las claves privadas para interactuar con los contratos inteligentes.

  3. Por último, el Account Abstraction le permite a las cuentas de los contratos inteligentes, proveer funcionalidades avanzadas como el soporte multifirmas, sistemas de votación o instrumentos financieros complejos. Todo esto porque pueden usar su propio código y lógica para ejecutar las transacciones, en vez de depender en el usuario para manejar y firmar cada transacción manualmente.

El Account Abstraction provee la base para un nuevo tipo de cuentas, permitiéndoles abstraer la alta complejidad de manejar una cuenta modelo de Ethereum, interactuar con contratos inteligentes de forma más eficiente y segura, y proveer funcionalidad.

¿Qué hay para nosotros, los desarrolladores?

Bueno, debido a este nuevo cambio de protocolo, los desarrolladores podrán ser capaces de crear contratos inteligentes más flexibles y poderosos para el blockchain de Ethereum. Esto es porque toda la ejecución lógica ahora estará codeada fuertemente en los contratos inteligentes directamente, para quitarle ese trabajo a los nodos.

Los bundlers ya vienen.

Actualmente, un contrato inteligente solo puede interactuar con un EOA y esto limita la funcionalidad. Con el Account Abstraction, serán capaces de interactuar con otros contratos inteligentes directamente, lo cual llevará a la creación de nuevas y poderosas aplicaciones descentralizadas en la red de Ethereum, y los podremos construir!

Así que, como desarrollador, prepárate para aprender a cómo implementar estas nuevas funciones en el código de tu contrato inteligente ya que será un requisito para todos los contratos que interactúan con el EVM.

Conclusión

En conclusión, el Account Abstraction no solo redefinirá el futuro de cómo los Contratos Inteligentes y las Cuentas de Contratos Inteligentes se comunican entre sí, si no también el futuro del Blockchain Ethereum y cómo maneja las transacciones.

Con el nuevo EIP4337, los nodos de la red de Ethereum gastarán menos recursos y tiempo validando transacciones y, en cambio, juntarlos y procesarlos de una vez, el cual es un cambio significativo, en comparación a cómo las cosas son manejadas ahora.

Gracias por tu tiempo.

Si te gustó esto o lo encontraste informativo, deja un like, un comentario, cualquier cosa, o contáctame en cualquiera de mis redes para contratar, o para tener una buena conversación haz click aquí.

Discussion (0)