Ir al contenido principal

Última actualización de la página: 25 de enero de 2024

Abstracción de Cuenta

Los usuarios interactúan con Ethereum usando

. Esta es la única forma de empezar una transacción o generar un contrato inteligente. Esto limita cómo los usuarios pueden interactuar con Ethereum. Por ejemplo, dificulta la creación de transacciones en lote y requiere que los usuarios siempre mantengan un saldo en ETH para costear el gas.

La abstracción de cuentas es una forma de rosolver estos problemas, que permite a los usuarios programar flexiblemente con mayor seguridad y mejores experiencias de usuario en sus cuentas. Esto puede suceder actualizando las cuentas de propiedad externa (o EOA)(opens in a new tab) para que puedan ser controladas por contratos inteligentes, o por la actualización de los contratos inteligentes(opens in a new tab) para que puedan iniciar transacciones. Ambas opciones requieren cambios en el protocolo de Ethereum. Existe también una tercera vía que implica añadir un segundo sistema de transacciones independiente(opens in a new tab) para ejecutarlo en paralelo con el protocolo existente. De cualquier forma, el resultado será acceder a Ethereum con carteras de contrato inteligente, ya sea de forma nativa como parte del protocolo existente o por una red de transacciones complementaria.

Las billeteras de contrato inteligente desbloquean múltiples beneficios para los usuarios, incluyendo:

  • Definir reglas propias de seguridad flexibles.
  • Recuperar su cuenta si se pierden las claves.
  • Compartir la seguridad de su cuenta entre dispositivos y personas de confianza.
  • pagar por el gas de alguien más, o que alguien pague el suyo
  • Hacer transacciones en lote (p. ej., aprobar y ejecutar un intercambio de una vez).
  • Más oportunidades de que DApps y desarrolladores de carteras innoven en las experiencias de usuario.

Estos beneficios no son respaldados nativamente hoy, porque solo las cuentas de propiedad externa (

) pueden empezar transacciones. Las EOAs son simplemente pares de claves público-privadas. Funcionan de la siguiente forma:

  • Si tiene la clave privada, puede hacer lo que quiera siempre respetando el marco normativo de la Máquina Virtual de Ethereum (EVM).
  • Si no tiene la clave privada, no puede hacer nada.

Si pierde sus claves, no pueden recuperarse y las claves robadas dan a los ladrones acceso instantáneo a todos los fondos de una cuenta.

Las carteras de contrato inteligente son la solución a este problema, aunque hoy en día es difícil programarlas, porque al fin y al cabo cualquier lógica implementada tendrá que trasladarse a un conjunto de transacciones EOA antes de que Ethereum las procese. La abstracción de cuenta permite que los contratos inteligentes inicien transacciones por sí solos, para que cualquier lógica que el usuario desee implementar pueda codificarse dentro de la misma cartera de contrato inteligente y ejecutarse en Ethereum.

En última instancia, la abstracción de la cuenta respalda a las carteras de contrato inteligente, simplificando su construir y protegiendo su uso. Con la abstracción de cuenta, los usuarios pueden disfrutar de todos los beneficios de Ethereum sin tener que conocer ni preocuparse por los detalles tecnológicos.

Más allá de las fases semilla

Las cuentas de la actualidad son seguras porque usan claves privadas que son calculadas a partir de fases semilla. Cualquier persona que tenga acceso a una fase semilla puede fácilmente descubrir la clave privada que protege una cuenta y acceder a todos los activos que protege. Si se pierden una clave privada y una frase semilla, nunca podrá recuperarlas y los activos que controlaban se congelarán para siempre. Es complejo proteger estas frases semilla, incluso para los usuarios más expertos; la estafa de la frase semilla es una de las formas más comunes de fraude electrónico.

La abstracción de cuenta solucionará este problema al usar un contrato inteligente para retener los activos y autorizar transacciones. Estos contratos inteligentes pueden entonces decorarse con lógica personalizada para hacerlos todo lo seguros y adaptados al usuario que sea posible. A fin de cuentas, igual usará claves privadas para controlar el acceso a su cuenta, pero con redes de seguridad que la simplifiquen y la vuelvan más seguras de gestionar.

Por ejemplo, se pueden añadir claves de copia de seguridad a la cartera por si las pierde o accidentalmente expone su clave principal. Llegado el caso, podría reemplazarlas por una clave nueva y segura, con el permiso de las claves de copa de seguridad. Podrá asegurar ambas claves de diferentes formas, o confiarlas a diferentes garantes de confianza. Lo cual dificultará que un ladrón obtenga acceso completo a sus fondos. Del mismo modo, puede añadir reglas a la cartera para reducir el impacto si su clave principal es vulnerable, por ejemplo, puede permitir que transacciones de bajo valor se comprueben con una sola firma, mientras que las transacciones de mayor valor requieran la aprobación de múltiples firmantes autenticados. Hay otras maneras en las que las carteras de contrato inteligente pueden ayudarle a frustrar robos, por ejemplo, tener una lista blanca puede servir para bloquear cada transacción, a menos que esté en una dirección de confianza o comprobada por muchas de sus claves previamente aprobadas.

Ejemplos de seguridad lógica que puede construirse en una billetera de contrato inteligente:

  • Autorización multifirma: puede compartir credenciales de autorización entre múltiples personas o dispositivos de confianza. Posteriormente, puede configurarse el contrato para que las transacciones de más de un valor predeterminado requieran la autorización de cierta proporción (p. ej., 3/5) de las partes de confianza. Por ejemplo, las transacciones de alto valor podrían requerir la aprobación tanto de un dispositivo móvil como de una cartera de hardware, o las firmas de cuentas distribuidas a familiares de confianza.
  • Congelación de cuenta: si se pierde un dispositivo o está expuesto, la cuenta puede bloquearse desde otro dispositivo autorizado, protegiendo así los activos del usuario.
  • Recuperación de la cuenta: ¿Ha perdido un dispositivo u olvidado una contraseña? En la actualidad, esto significa que sus activos podrían congelarse para siempre. Con una cartera de contrato inteligente, se pueden establecer algunas cuentas previamente autorizadas que autoricen nuevos dispositivos y restablezcan el acceso.
  • Establecer limites de transacción: especificar umbrales diarios dependiendo de cuánto valor se pueda transferir desde la cuenta en un día/mes/año. Esto significa que si un intruso acede a su cuenta, no podrá sacar todo de una vez y usted tendrá ocasiones de congelar y restablecer el acceso.
  • Crear listas blancas: solo permite realizar transacciones a ciertas direcciones que se sepa que son seguras con certeza. Esto significa que incluso en caso de que le robaran su clave privada, el intruso no podría enviar fondos a las cuentas destinatarias que no estén en la lista blanca. Para modificar estas listas blancas se requerirían múltiples firmas, de modo que el intruso no pudiera añadir su propia dirección a la lista, a menos que tuviese acceso a varias de sus claves de copias de seguridad.

Mejor experiencia de usuario

La abstracción de cuenta permite una mejor experiencia global de usuario así como una seguridad mejorada, porque añade la compatibilidad con carteras de contrato inteligente dentro del protocolo. La razón más importante de esto es que proveerá a desarrolladores de contratos inteligentes, billeteras y aplicaciones, mayor libertad para innovar en la experiencia de usuario en formas que aún no logramos anticipar. Algunas mejoras obvias que traerá la abstracción de cuenta incluyen la agrupación de transacciones para aumentar la velocidad y la eficiencia. Por ejemplo, un simple intercambio debería ser una sencilla operación, pero hoy requiere la firma de múltiples transacciones para aprobar el uso de tókenes individuales antes del intercambio. La abstracción de cuenta elimina esa fricción al permitir las transacciones agrupadas. Además, las transacciones agrupadas podrían aprobar el valor exacto de los tókenes requeridos para cada transacción y anular las aprobaciones una vez completada la transacción, proporcionando seguridad adicional.

La gestión del gas también se mejora mucho con la abstracción de cuenta. Las aplicaciones, no solo pueden ofrecer el pago de las tarifas de gas de sus usuarios, las tarifas de gas también pueden pagarse con otros tókenes además de ETH, lo que libera a los usuarios de tener que mantener un balance de ETH para transacciones de fondos. Esto funcionaría intercambiando los tókenes de los usuarios por ETH dentro del contrato y luego usando ETH para pagar el gas.

Las sesiones de confianza también pueden transformar potencialmente la experiencia del usuario, especialmente para aplicaciones como juegos, donde se necesitan aprobar grandes cantidades de transacciones pequeñas en poco tiempo. La aprobación individual de cada transacción rompería la experiencia de juego, pero la aprobación permanente es insegura. Una billetera de contrato inteligente podría aprobar ciertas transacciones por un tiempo fijo, hasta valores específicos o solo para ciertas direcciones.

También es interesante considerar cómo las compras podrían cambiar con la abstracción de cuenta. Hoy, cada transacción debe aprobarse y ejecutarse desde una cartera prefinanciada con la cantidad suficiente de tókenes correctos. Con la abstracción de cuenta, la experiencia podría ser más parecida a la compra familiar en línea, donde un usuario podría llenar una «cesta» con artículos de un toque para comprarlo todo, con toda la lógica requerida cubierta por el contrato, no por el usuario.

Estos son solo algunos ejemplos de cómo las experiencias de usuario podrían pasar al siguiente nivel con la abstracción de cuenta, pero habrá muchos más que todavía no hemos imaginado. La abstracción de cuenta libera a los desarrolladores de las limitaciones de los EOA actuales, permitiéndoles aprovechar las ventajas de web2 a web3 sin sacrificar la custodia propia y además piratear creativamente nuevas experiencias de usuario.

¿Cómo se implementará la abstracción de cuenta?

Las carteras de contrato inteligente existen actualmente, pero es un desafío implementarlas debido a que la EVM no las admite. En cambio, se basan en proteger un código relativamente complejo con transacciones estándar de Ethereum. Ethereum puede cambiar esto al permitir que contratos inteligentes inicien transacciones, controlando la lógica necesaria en los contratos inteligentes de Ethereum en vez de fuera de la cadena. Al colocar la lógica en los contratos inteligentes se aumenta la descentralización de Ethereum, ya que elimina la necesidad de «repetidores» ejecutados por desarrolladores de carteras para traducir mensajes firmados por el usuario de transacciones regulares de Ethereum.

Progreso actual

Las billeteras de contrato inteligente ya están disponibles, pero existen más actualizaciones necesarias para hacerlas todo lo descentralizadas y sin permisos como sea posible. El EIP-4337 es una propuesta madura que no requiere ningún cambio en el protocolo de Ethereum, así que es posible que se pueda implementar prontamente. Sin embargo, las actualizaciones que alteran el protocolo de Ethereum no se encuentran en desarrollo activo en este momento, por lo que esos cambios pueden llevar bastante tiempo en enviarse. También es posible que la abstracción de cuenta se realice de forma suficientemente buena con el EIP-4337 y así no se requieran cambios de protocolo.

Más información

¿Le ha resultado útil este artículo?