Al aprovechar una pila modular de cuentas de contratos inteligentes, los proveedores de billeteras y las dApps pueden escapar de la complejidad del mantenimiento técnico.
Escrito por: Rui
Compilado por: Shenchao TechFlow
Informe original en inglés publicado en septiembre de 2023

El cambio de cuentas de propiedad externa (EOA) a cuentas de contrato inteligentes (SCA) está en auge y cuenta con el apoyo de muchos entusiastas, incluido el propio Vitalik. A pesar del entusiasmo, la adopción de la SCA no ha sido tan generalizada como la de la EOA. Los problemas clave incluyen los desafíos del mercado bajista, las preocupaciones sobre la migración, los problemas de firmas, los gastos generales de gas y, lo más importante, los desafíos de ingeniería.
Una de las ventajas más importantes de la abstracción de cuentas (AA) es la capacidad de personalizar la funcionalidad mediante código. Sin embargo, un desafío de ingeniería importante es la no interoperabilidad de la funcionalidad AA, y esta fragmentación dificulta la integración y abre la puerta a la dependencia del proveedor. Además, garantizar la seguridad al actualizar y combinar funciones simultáneamente puede resultar complejo.
La abstracción de cuentas modulares surgió como un subconjunto del movimiento AA más amplio, un enfoque innovador para desacoplar las cuentas inteligentes de su funcionalidad personalizada. El objetivo es crear una estructura modular para desarrollar carteras seguras, perfectamente integradas y con diversas funcionalidades. En el futuro, puede implementar una “tienda de aplicaciones” de cuenta de contrato inteligente gratuita para que las billeteras y las dApps ya no se centren en la creación de funciones, sino en la experiencia del usuario.

La EOA tradicional presenta muchos desafíos, como frases iniciales, gas, cadenas cruzadas y transacciones múltiples. Nunca tuvimos la intención de introducir complejidad, pero la realidad es que blockchain no es un juego fácil para las masas.
La abstracción de cuentas aprovecha las cuentas de contratos inteligentes, lo que permite la verificación y ejecución programables, lo que permite a los usuarios aprobar una serie de transacciones a la vez, en lugar de tener que firmar y transmitir cada transacción, y habilitar más funciones. Aporta beneficios a la experiencia del usuario (p. ej., abstracción de gas y claves de sesión), costo (p. ej., transacciones por lotes) y seguridad (p. ej., recuperación social, firma múltiple). Actualmente, existen dos formas de implementar la abstracción de cuentas:
El tema de la abstracción de cuentas (AA) se ha debatido desde 2015 y ERC4337 lo destacó este año. Sin embargo, la cantidad de cuentas de contratos inteligentes implementadas sigue siendo mucho menor que la de EOA.

Profundicemos en este dilema:
Impacto del mercado bajista: Aunque AA introdujo beneficios como el inicio de sesión fluido y la abstracción de gas, las personas que actualmente experimentan el mercado bajista están compuestas principalmente por usuarios educados de EOA en lugar de usuarios nuevos, por lo que no es bueno para las dApps y las billeteras. No incentivos. Aun así, algunas aplicaciones líderes todavía están adoptando gradualmente AA, como Cyberconnect, que generó alrededor de 360.000 UserOps (transacciones AA) en solo un mes al presentar su sistema AA y su solución sin gas.
Barreras de migración: Para carteras y aplicaciones que han acumulado usuarios y activos, migrar activos de forma segura y conveniente sigue siendo un desafío. Sin embargo, iniciativas como EIP-7377 permiten a las EOA iniciar transacciones de migración únicas.
Problema de firma: El contrato inteligente en sí no puede firmar el mensaje de forma natural porque no tiene una clave privada como EOA. Esfuerzos como ERC1271 hacen posible dicha firma, pero la firma de mensajes no funciona hasta la primera transacción, lo que plantea un desafío para las billeteras que utilizan implementaciones contrafactuales. ERC-6492 propuesto por Ambire es un sucesor compatible con versiones anteriores de ERC-1271 y puede resolver los problemas anteriores.
Gastos generales: La implementación, simulación y ejecución de SCA genera costos más altos que el EOA estándar. Esto se convierte en una barrera para la adopción. Sin embargo, se han realizado algunas pruebas, como desvincular la creación de cuentas de las acciones del usuario y considerar eliminar las sales de cuentas y las comprobaciones de existencia, para reducir estos costos.
Dilema de ingeniería: El equipo de ERC-4337 ha establecido un repositorio de eth-infinitiism para proporcionar a los desarrolladores implementaciones básicas. Sin embargo, a medida que avanzamos hacia funcionalidades más granulares o específicas en diferentes casos de uso, la integración y decodificación se vuelve un desafío.
En este artículo, profundizaremos en el quinto tema: los desafíos de ingeniería.

Una explicación más detallada de los desafíos de ingeniería es la siguiente:
Para abordar estos problemas, necesitamos contratos actualizables para garantizar actualizaciones seguras y eficientes, núcleos reutilizables para mejorar la eficiencia general del desarrollo e interfaces estandarizadas para garantizar que las cuentas de contrato puedan realizar una transición sin problemas entre diferentes interfaces.
Estos términos convergen en un concepto común: construir una arquitectura modular de abstracción de cuentas (Modular AA).
Modular AA es un nicho dentro del movimiento AA más amplio que prevé la modularización de cuentas inteligentes para adaptar los servicios a los usuarios y permitir a los desarrolladores mejorar la funcionalidad sin problemas con restricciones mínimas.
Sin embargo, establecer y promover nuevos estándares es un gran desafío en cualquier industria. Pueden surgir muchas soluciones diferentes en las etapas iniciales antes de que todos acepten la solución principal. Sin embargo, es alentador que tanto el SDK 4337, los desarrolladores de billeteras, los equipos de infraestructura y los diseñadores de protocolos estén trabajando juntos para acelerar este proceso.
Llamadas externas y llamadas delegadas:

Aunque la llamada delegada es similar a la llamada, en lugar de ejecutar el contrato de destino en su propio contexto, ejecuta el contrato de destino en el estado actual del contrato de llamada. Esto significa que cualquier cambio de estado realizado por el contrato de destino se aplicará al almacenamiento del contrato de llamada.

Para implementar una estructura componible y actualizable se requiere un conocimiento básico llamado “contrato de agencia”.

Safe es una infraestructura modular líder de cuentas inteligentes diseñada para brindar seguridad y flexibilidad probadas en batalla, lo que permite a los desarrolladores crear diversas aplicaciones y billeteras. Vale la pena señalar que muchos equipos se basan en Safe o se inspiran en él. Biconomy lanza su cuenta ampliando la firma múltiple nativa 4337 y 1/1 en Safe. Con más de 164.000 contratos implementados y más de 30.700 millones de dólares en valor bloqueado, Safe es sin duda la mejor opción en este espacio.
Estructura de Caja Fuerte
La cuenta segura es un contrato proxy porque llama delegada a un contrato singleton. La cuenta segura contiene el propietario, el umbral y la dirección de implementación, que se configuran como variables para el agente, definiendo así su estado.
El singleton sirve a la cuenta Safe e integra y define diferentes integraciones, incluidos complementos, enlaces, controladores de funciones y validadores de firmas.
Los módulos son muy poderosos. Como tipo modular, los complementos pueden definir diferentes funciones, como flujos de pago, mecanismos de recuperación y claves de sesión, y servir como un puente entre cadenas entre Web2 y Web3 mediante la obtención de datos fuera de la cadena. Otros módulos, como los ganchos, actúan como protectores de seguridad y los controladores de funciones responden a cualquier instrucción.
¿Qué sucede cuando adoptamos Safe?
Cada vez que se introduce un nuevo complemento, es necesario implementar un nuevo singleton. Los usuarios conservan la autonomía para actualizar Safe a la versión singleton deseada para satisfacer sus preferencias y requisitos.
La naturaleza modular de los complementos permite a los desarrolladores crear funciones de forma independiente. Luego, pueden seleccionar y combinar estos complementos según sus propios casos de uso, lo que facilita un enfoque altamente personalizable.

Acerca de ERC2535 y Diamond Agent
ERC2535 estandariza Diamond Agent, un sistema de contrato inteligente modular que se puede actualizar/ampliar después de la implementación y casi no tiene límite de tamaño. Hasta ahora, muchos equipos se han inspirado en él, como los experimentos de Kernel y Soul Wallet de Zerodev.
**¿Qué es la estructura Diamante? **
**¿Qué sucede cuando adoptamos Diamond? **
Existen muchas similitudes entre las arquitecturas Safe y Diamond, ya que ambas dependen de contratos proxy como núcleo y hacen referencia a contratos lógicos para la capacidad de actualización y la modularidad.
Sin embargo, la principal diferencia radica en el manejo de contratos lógicos. Aquí hay instrucciones más detalladas:
El “Método de Cuenta Inteligente Segura” y el “Método Diamante” son ejemplos de diferentes estructuras que involucran agentes y módulos. Cómo equilibrar la flexibilidad y la seguridad es fundamental, y es probable que ambos enfoques se complementen en el futuro.
Ampliemos nuestra discusión presentando el estándar propuesto por el equipo de Alchemy, ERC6900, que se inspiró en Diamond y se adaptó específicamente para ERC-4337. Resuelve el desafío de la modularidad en las cuentas inteligentes al proporcionar una interfaz común y coordinar el trabajo entre los desarrolladores de complementos y billeteras.
Cuando se trata del proceso de transacción de AA, hay tres procesos principales: Verificación, Ejecución y Hook. Como comentamos anteriormente, estos pasos se pueden gestionar llamando al módulo mediante una cuenta proxy. Aunque diferentes proyectos pueden usar nombres diferentes, es importante capturar una lógica subyacente similar.


Separar módulos según una lógica diferente es crucial. Un enfoque estandarizado debería especificar cómo se deben escribir las funciones Hook, ejecución y verificación de cuentas de contratos inteligentes. Ya sea Safe o ERC6900, la estandarización ayuda a reducir la necesidad de esfuerzos de desarrollo únicos para una implementación o ecosistema específico y evita la dependencia de un proveedor.
Una solución que está en auge consiste en crear un lugar que permita a los usuarios descubrir módulos verificables, lo que podríamos llamar un “registro”. Este registro es similar a una “tienda de aplicaciones” y está diseñado para promover un mercado modular simplificado pero próspero.

Safe{Core} Protocol es un protocolo de cuenta de contrato inteligente interoperable y de código abierto diseñado para aumentar la accesibilidad para una variedad de proveedores y desarrolladores a través de estándares y reglas claramente definidos, manteniendo al mismo tiempo una seguridad sólida.

El proceso se desarrolla de la siguiente manera:
Aunque este modelo aún se encuentra en sus primeras etapas, tiene el potencial de establecer un estándar de manera descentralizada y colaborativa. Su registro permite a los desarrolladores registrar sus módulos, a los auditores verificar su seguridad, integrar billeteras y a los usuarios encontrar módulos fácilmente y verificar su información de certificación. Puede haber los siguientes usos en el futuro:
El concepto de “registro de módulos” proporciona oportunidades de ganancias para los desarrolladores de complementos y módulos. También podría allanar el camino para un “mercado de módulos”. Algunos de estos aspectos pueden ser supervisados por el equipo de Safe, mientras que otros pueden manifestarse como mercados descentralizados que invitan a todos a contribuir y proporcionar un seguimiento de auditoría transparente. Al adoptar este enfoque, podemos evitar la dependencia de proveedores y respaldar la expansión de EVM al brindar una mejor experiencia de usuario que atraiga a un público más amplio.
Aunque estos métodos garantizan la seguridad de los módulos individuales, la seguridad general de las cuentas de contratos inteligentes no es absolutamente confiable. Combinar módulos legítimos y demostrar que no tienen conflictos de almacenamiento puede ser un desafío, lo que subraya la importancia de las billeteras o la infraestructura AA para resolver tales problemas.
Al aprovechar una pila modular de cuentas de contratos inteligentes, los proveedores de billeteras y las dApps pueden escapar de la complejidad del mantenimiento técnico. Al mismo tiempo, los desarrolladores de módulos externos tienen la oportunidad de ofrecer servicios profesionales adaptados a las necesidades individuales. Sin embargo, los desafíos que deben abordarse incluyen lograr un equilibrio entre flexibilidad y seguridad, impulsar el avance de estándares modulares e implementar interfaces estandarizadas que permitan a los usuarios actualizar y modificar fácilmente sus Cuentas Inteligentes.
Sin embargo, las cuentas modulares de contratos inteligentes (SCA) son solo una pieza del rompecabezas de la adopción. Para aprovechar plenamente el potencial de SCA, también se requiere soporte de capa de protocolo de soluciones de segunda capa, así como una poderosa infraestructura de paquetes y grupos de memoria de igual a igual, mecanismos de firma SCA más rentables y factibles, sincronización SCA entre cadenas. y gestión, además de desarrollar interfaces fáciles de usar.
Visualizamos un futuro con una participación amplia, lo que plantea algunas preguntas interesantes: una vez que el proceso de pedidos de SCA se vuelva lo suficientemente rentable, ¿cómo entrarán al espacio los mecanismos tradicionales de valor extraíble minero (MEV), construirán paquetes y capturarán valor? Cuando la infraestructura madure, ¿cómo puede la abstracción de cuentas (AA) convertirse en la capa básica para las transacciones “basadas en la intención”? Estén atentos ya que esta área está en constante evolución.