¿Es segura la abstracción de cuentas? Una guía para mitigar el riesgo

PrincipianteDec 12, 2023
Este artículo analiza las características conceptuales y los casos de uso de Account Abstraction (AA), utiliza ERC-4337 como ejemplo para ilustrar su práctica y explica los posibles riesgos y contramedidas.
¿Es segura la abstracción de cuentas? Una guía para mitigar el riesgo

Antes de la abstracción de cuentas, había dos tipos de cuentas en Ethereum: cuentas de propiedad externa (EOA) y contratos inteligentes. Una EOA es una cuenta de usuario típica que tiene una clave privada. Este es también el único tipo de cuenta que puede iniciar una transacción. Por ejemplo, un usuario debe tener ETH para enviar una transacción. Crear transacciones por lotes es difícil y no existen opciones de recuperación si un usuario pierde su clave privada. La abstracción de cuenta (AA) se creó para resolver estos problemas. ¿Pero es una solución libre de riesgos? Esta guía cubre los conceptos básicos de AA antes de detallar sus riesgos y cómo mitigarlos.

En esta guía:

  • ¿Cuáles son las características clave de la abstracción de cuentas?
  • Casos de uso de abstracción de cuentas
  • Implementaciones de abstracción de cuentas.
  • ¿Riesgo de abstracción de cuenta versus recompensa?
  • Preguntas frecuentes

¿Cuáles son las características clave de la abstracción de cuentas?

La abstracción de cuentas es una tecnología que permite que los contratos inteligentes inicialicen transacciones por sí mismos. Permite a los usuarios crear cuentas representadas por contratos inteligentes. Esta tecnología también habilita varias características que mejoran la interacción de los usuarios con la cadena.

  • Un usuario puede pagar las tarifas del gas con tokens
  • Las aplicaciones pueden patrocinar gas para las transacciones de los usuarios
  • Existen mecanismos flexibles para asegurar la cuenta.
  • Los puentes y los dex entre cadenas pueden funcionar sin moneda nativa.

Casos de uso de abstracción de cuentas

  • Transacciones gratuitas: los proyectos pueden pagar las tarifas de transacción de los usuarios.
  • Transacciones entre cadenas no nativas: una posibilidad de conectar un token ERC20 a otra cadena y pagar con él las transacciones, lo que significa que no habrá necesidad de financiar adicionalmente la cuenta con moneda nativa.
  • Funciones adicionales de seguridad de la billetera : en caso de riesgo de seguridad, todas las operaciones en la cuenta se pueden pausar y luego se puede restaurar el acceso con las claves de respaldo.
  • Recuperación de cuenta: por ejemplo, se puede utilizar un conjunto de claves para recuperar la clave.
  • Límites de transacciones: se puede crear una cuenta que podrá gastar una suma específica de ETH por mes.
  • Suscripciones: Habilitar suscripciones de la misma manera que funcionan con las tarjetas de crédito tradicionales.

Implementaciones de abstracción de cuentas.

Ha habido diferentes propuestas sobre cómo implementar AA en la red Ethereum. Algunos de ellos implican cambios significativos en el protocolo de Ethereum, lo que complica su implementación. La implementación más destacada es ERC-4337, que no implica ningún cambio en la capa de consenso. El estándar replica el mempool de transacciones en una escala de nivel superior. Los contratos inteligentes ERC-4337 se implementaron en la red Ethereum en marzo de 2023.

ERC-4337 utiliza contratos inteligentes denominados billeteras en lugar de EOA. Esta billetera de contrato inteligente puede controlarse no solo mediante una clave privada sino también mediante un mecanismo complejo arbitrario que está codificado en el contrato.

En lugar de transacciones, los usuarios envían UserOperations. Una UserOperation contiene instrucciones para ejecutar, verificación de firmas y otros datos. Al igual que con las transacciones, un usuario especifica una prima para que Bundler priorice su operación.

Los mineros o agrupadores agrupan operaciones en transacciones de paquetes que luego se incluyen en la red Ethereum.


Implementación AA: HashEx

Entre otros datos, UserOperation contiene el código para crear una billetera de contrato inteligente. Si un usuario no tiene una billetera, se crea para él.

Si un usuario quiere pagar la transacción con un token ERC20 o incluso no quiere pagar ninguna transacción, especifica una dirección de contrato de pago en UserOperation. Un pagador es un servicio de terceros que pagará la transacción a cambio de tokens ERC20.

¿Cuáles son los riesgos y cómo mitigarlos?

Aunque la abstracción de cuentas se crea para mejorar la seguridad del usuario, existen algunos riesgos, especialmente en las primeras fases de adopción. El ecosistema Ethereum es conocido por errores en los contratos inteligentes que han provocado el robo de miles de millones de dólares por parte de usuarios malintencionados. A continuación se detallan algunos riesgos de AA y cómo se pueden evitar o mitigar.

Riesgo de errores en la implementación del estándar.

Como cualquier tecnología nueva, la abstracción de cuentas corre el riesgo de que su primera implementación contenga errores. Los contratos inteligentes de ERC-4337 fueron auditados por OpenZeppelin, una empresa líder en seguridad blockchain.

Mitigación: la solución es utilizar la verificación formal, un proceso que implica el uso de métodos matemáticos para demostrar la exactitud de los contratos inteligentes. El proceso de verificación formal de los contratos ERC4337 está en curso pero aún no ha finalizado.

Errores por incompatibilidades con algunos contratos inteligentes

No todos los contratos inteligentes son compatibles con carteras de abstracción de cuentas. Por ejemplo, los contratos inteligentes que utilizan el campo tx.origin para verificar la billetera que envió la transacción obtendrán un valor inesperado. Otra incompatibilidad ocurre con los contratos inteligentes que utilizan firmas EOA: no están respaldados por billeteras AA.

En dichos contratos, es posible que ciertas funcionalidades cruciales no funcionen correctamente. En el peor de los casos, los fondos de los usuarios pueden bloquearse.

Mitigación: para reducir los riesgos, un usuario que utiliza una billetera de abstracción de cuenta debe verificar si el protocolo con el que interactúa es compatible con la tecnología.

Código de terceros para billeteras

El estándar está diseñado para que se pueda crear una billetera de contrato inteligente dentro de la primera operación de usuario a través de una fábrica de contratos inteligentes. Sin embargo, existe el riesgo de que el contrato inteligente de implementación de la billetera contenga errores. Es de vital importancia utilizar únicamente fábricas de billeteras que hayan sido auditadas y probadas minuciosamente por las principales empresas de seguridad de blockchain.

Mitigación: utilice únicamente servicios confiables para crear billeteras y asegúrese de que el código de la billetera sea auditado al menos por una empresa confiable de seguridad blockchain.

Código de terceros para pagadores

Si un usuario o un proyecto utiliza pagadores, depende de un tercero para pagar las transacciones. Puede haber errores en la implementación del pagador y un pagador malicioso puede robar los fondos de los usuarios.

Cabe señalar que el servicio de pago elegido también puede verse afectado por usuarios malintencionados que pueden encontrar formas de engañar al pagador para que pague sus transacciones.

Mitigación: las billeteras solo utilizan pagadores de proveedores confiables y garantizan que el código de los pagadores haya sido auditado antes de usarlos.

Mejores prácticas

La abstracción de cuentas en la cadena de bloques Ethereum es un concepto relativamente nuevo. Como tal, las mejores prácticas y los marcos de desarrollo para su utilización aún están en proceso de establecimiento. Hay muy pocos ejemplos de uso de la abstracción de cuentas de los que los desarrolladores puedan aprender.

Mitigación: Las mejores prácticas eventualmente se desarrollarán luego de la difusión del estándar. Para los desarrolladores, es fundamental compartir experiencias utilizando la nueva tecnología, especialmente en las primeras etapas de adopción.

Modo borrador de la norma.

ERC-4337 todavía está en modo borrador, aunque los contratos ya se han implementado en Mainnet. Existe la posibilidad de que el estándar cambie. Cabe señalar que se supone que dichos cambios afectarán a detalles más pequeños y no afectarán a los contratos inteligentes ya implementados.

Mitigación: los desarrolladores deben estar atentos a cómo se desarrolla el estándar y actualizar el código de sus proyectos de acuerdo con los cambios del estándar, si se producen.

Centralización

Aunque ERC-4337 está diseñado para que todos puedan iniciar un paquete, al menos en la etapa inicial, el ecosistema de abstracción de cuentas está bastante centralizado ya que hay pocas implementaciones de Bundlers listas para producción.

Mitigación: para evitar riesgos de que un error en una implementación de Bundler afecte la red de abstracción de cuentas, se deben utilizar al menos un par de implementaciones de Bundler. Muchas implementaciones de Bundler están actualmente en desarrollo y pronto muchas de ellas estarán listas para producción.

¿Riesgo de abstracción de cuenta versus recompensa?

La abstracción de cuentas es una tecnología potencialmente excelente que puede generar una mayor adopción de Ethereum. Al mismo tiempo, es uno de los avances que pueden hacer que blockchain sea más segura. Aún así, como ocurre con cualquier nueva incorporación a la tecnología blockchain en sus primeras etapas, los usuarios deben estar más atentos. Revisar e investigar AA es la mejor opción para todos aquellos que estén dispuestos a adoptar esta tecnología.

Descargo de responsabilidad:

  1. Este artículo está reimpreso de [Beincrypto]. Todos los derechos de autor pertenecen al autor original [Gleb Zykov]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

¿Es segura la abstracción de cuentas? Una guía para mitigar el riesgo

PrincipianteDec 12, 2023
Este artículo analiza las características conceptuales y los casos de uso de Account Abstraction (AA), utiliza ERC-4337 como ejemplo para ilustrar su práctica y explica los posibles riesgos y contramedidas.
¿Es segura la abstracción de cuentas? Una guía para mitigar el riesgo

Antes de la abstracción de cuentas, había dos tipos de cuentas en Ethereum: cuentas de propiedad externa (EOA) y contratos inteligentes. Una EOA es una cuenta de usuario típica que tiene una clave privada. Este es también el único tipo de cuenta que puede iniciar una transacción. Por ejemplo, un usuario debe tener ETH para enviar una transacción. Crear transacciones por lotes es difícil y no existen opciones de recuperación si un usuario pierde su clave privada. La abstracción de cuenta (AA) se creó para resolver estos problemas. ¿Pero es una solución libre de riesgos? Esta guía cubre los conceptos básicos de AA antes de detallar sus riesgos y cómo mitigarlos.

En esta guía:

  • ¿Cuáles son las características clave de la abstracción de cuentas?
  • Casos de uso de abstracción de cuentas
  • Implementaciones de abstracción de cuentas.
  • ¿Riesgo de abstracción de cuenta versus recompensa?
  • Preguntas frecuentes

¿Cuáles son las características clave de la abstracción de cuentas?

La abstracción de cuentas es una tecnología que permite que los contratos inteligentes inicialicen transacciones por sí mismos. Permite a los usuarios crear cuentas representadas por contratos inteligentes. Esta tecnología también habilita varias características que mejoran la interacción de los usuarios con la cadena.

  • Un usuario puede pagar las tarifas del gas con tokens
  • Las aplicaciones pueden patrocinar gas para las transacciones de los usuarios
  • Existen mecanismos flexibles para asegurar la cuenta.
  • Los puentes y los dex entre cadenas pueden funcionar sin moneda nativa.

Casos de uso de abstracción de cuentas

  • Transacciones gratuitas: los proyectos pueden pagar las tarifas de transacción de los usuarios.
  • Transacciones entre cadenas no nativas: una posibilidad de conectar un token ERC20 a otra cadena y pagar con él las transacciones, lo que significa que no habrá necesidad de financiar adicionalmente la cuenta con moneda nativa.
  • Funciones adicionales de seguridad de la billetera : en caso de riesgo de seguridad, todas las operaciones en la cuenta se pueden pausar y luego se puede restaurar el acceso con las claves de respaldo.
  • Recuperación de cuenta: por ejemplo, se puede utilizar un conjunto de claves para recuperar la clave.
  • Límites de transacciones: se puede crear una cuenta que podrá gastar una suma específica de ETH por mes.
  • Suscripciones: Habilitar suscripciones de la misma manera que funcionan con las tarjetas de crédito tradicionales.

Implementaciones de abstracción de cuentas.

Ha habido diferentes propuestas sobre cómo implementar AA en la red Ethereum. Algunos de ellos implican cambios significativos en el protocolo de Ethereum, lo que complica su implementación. La implementación más destacada es ERC-4337, que no implica ningún cambio en la capa de consenso. El estándar replica el mempool de transacciones en una escala de nivel superior. Los contratos inteligentes ERC-4337 se implementaron en la red Ethereum en marzo de 2023.

ERC-4337 utiliza contratos inteligentes denominados billeteras en lugar de EOA. Esta billetera de contrato inteligente puede controlarse no solo mediante una clave privada sino también mediante un mecanismo complejo arbitrario que está codificado en el contrato.

En lugar de transacciones, los usuarios envían UserOperations. Una UserOperation contiene instrucciones para ejecutar, verificación de firmas y otros datos. Al igual que con las transacciones, un usuario especifica una prima para que Bundler priorice su operación.

Los mineros o agrupadores agrupan operaciones en transacciones de paquetes que luego se incluyen en la red Ethereum.


Implementación AA: HashEx

Entre otros datos, UserOperation contiene el código para crear una billetera de contrato inteligente. Si un usuario no tiene una billetera, se crea para él.

Si un usuario quiere pagar la transacción con un token ERC20 o incluso no quiere pagar ninguna transacción, especifica una dirección de contrato de pago en UserOperation. Un pagador es un servicio de terceros que pagará la transacción a cambio de tokens ERC20.

¿Cuáles son los riesgos y cómo mitigarlos?

Aunque la abstracción de cuentas se crea para mejorar la seguridad del usuario, existen algunos riesgos, especialmente en las primeras fases de adopción. El ecosistema Ethereum es conocido por errores en los contratos inteligentes que han provocado el robo de miles de millones de dólares por parte de usuarios malintencionados. A continuación se detallan algunos riesgos de AA y cómo se pueden evitar o mitigar.

Riesgo de errores en la implementación del estándar.

Como cualquier tecnología nueva, la abstracción de cuentas corre el riesgo de que su primera implementación contenga errores. Los contratos inteligentes de ERC-4337 fueron auditados por OpenZeppelin, una empresa líder en seguridad blockchain.

Mitigación: la solución es utilizar la verificación formal, un proceso que implica el uso de métodos matemáticos para demostrar la exactitud de los contratos inteligentes. El proceso de verificación formal de los contratos ERC4337 está en curso pero aún no ha finalizado.

Errores por incompatibilidades con algunos contratos inteligentes

No todos los contratos inteligentes son compatibles con carteras de abstracción de cuentas. Por ejemplo, los contratos inteligentes que utilizan el campo tx.origin para verificar la billetera que envió la transacción obtendrán un valor inesperado. Otra incompatibilidad ocurre con los contratos inteligentes que utilizan firmas EOA: no están respaldados por billeteras AA.

En dichos contratos, es posible que ciertas funcionalidades cruciales no funcionen correctamente. En el peor de los casos, los fondos de los usuarios pueden bloquearse.

Mitigación: para reducir los riesgos, un usuario que utiliza una billetera de abstracción de cuenta debe verificar si el protocolo con el que interactúa es compatible con la tecnología.

Código de terceros para billeteras

El estándar está diseñado para que se pueda crear una billetera de contrato inteligente dentro de la primera operación de usuario a través de una fábrica de contratos inteligentes. Sin embargo, existe el riesgo de que el contrato inteligente de implementación de la billetera contenga errores. Es de vital importancia utilizar únicamente fábricas de billeteras que hayan sido auditadas y probadas minuciosamente por las principales empresas de seguridad de blockchain.

Mitigación: utilice únicamente servicios confiables para crear billeteras y asegúrese de que el código de la billetera sea auditado al menos por una empresa confiable de seguridad blockchain.

Código de terceros para pagadores

Si un usuario o un proyecto utiliza pagadores, depende de un tercero para pagar las transacciones. Puede haber errores en la implementación del pagador y un pagador malicioso puede robar los fondos de los usuarios.

Cabe señalar que el servicio de pago elegido también puede verse afectado por usuarios malintencionados que pueden encontrar formas de engañar al pagador para que pague sus transacciones.

Mitigación: las billeteras solo utilizan pagadores de proveedores confiables y garantizan que el código de los pagadores haya sido auditado antes de usarlos.

Mejores prácticas

La abstracción de cuentas en la cadena de bloques Ethereum es un concepto relativamente nuevo. Como tal, las mejores prácticas y los marcos de desarrollo para su utilización aún están en proceso de establecimiento. Hay muy pocos ejemplos de uso de la abstracción de cuentas de los que los desarrolladores puedan aprender.

Mitigación: Las mejores prácticas eventualmente se desarrollarán luego de la difusión del estándar. Para los desarrolladores, es fundamental compartir experiencias utilizando la nueva tecnología, especialmente en las primeras etapas de adopción.

Modo borrador de la norma.

ERC-4337 todavía está en modo borrador, aunque los contratos ya se han implementado en Mainnet. Existe la posibilidad de que el estándar cambie. Cabe señalar que se supone que dichos cambios afectarán a detalles más pequeños y no afectarán a los contratos inteligentes ya implementados.

Mitigación: los desarrolladores deben estar atentos a cómo se desarrolla el estándar y actualizar el código de sus proyectos de acuerdo con los cambios del estándar, si se producen.

Centralización

Aunque ERC-4337 está diseñado para que todos puedan iniciar un paquete, al menos en la etapa inicial, el ecosistema de abstracción de cuentas está bastante centralizado ya que hay pocas implementaciones de Bundlers listas para producción.

Mitigación: para evitar riesgos de que un error en una implementación de Bundler afecte la red de abstracción de cuentas, se deben utilizar al menos un par de implementaciones de Bundler. Muchas implementaciones de Bundler están actualmente en desarrollo y pronto muchas de ellas estarán listas para producción.

¿Riesgo de abstracción de cuenta versus recompensa?

La abstracción de cuentas es una tecnología potencialmente excelente que puede generar una mayor adopción de Ethereum. Al mismo tiempo, es uno de los avances que pueden hacer que blockchain sea más segura. Aún así, como ocurre con cualquier nueva incorporación a la tecnología blockchain en sus primeras etapas, los usuarios deben estar más atentos. Revisar e investigar AA es la mejor opción para todos aquellos que estén dispuestos a adoptar esta tecnología.

Descargo de responsabilidad:

  1. Este artículo está reimpreso de [Beincrypto]. Todos los derechos de autor pertenecen al autor original [Gleb Zykov]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Empieza ahora
¡Regístrate y recibe un bono de
$100
!