En el panorama en constante evolución de blockchain y las aplicaciones descentralizadas, se presta cada vez más atención al concepto de intención definida por el usuario en lugar de transacciones puras. Esto libera a los usuarios de tener que preocuparse por navegar por el proceso cada vez más complejo de DeFi y desbloquea una serie de casos de uso adicionales que recién ahora se están concebiendo.
Dado que las aplicaciones individuales ya utilizan sus propias estructuras de intención diferentes e incompatibles, tiene sentido crear un estándar de intención común que pueda ser compartido y comprendido por todos los usuarios, aplicaciones, software de billetera, solucionadores, buscadores, etc.
Para ayudar a la componibilidad y reducir la barrera de entrada, proponemos ERC-7521, un estándar que respalda la intención común de las billeteras de contratos inteligentes.
¿Cuál es la intención del usuario?
Dado que este campo es tan nuevo, la definición de intención actualmente es un poco confusa. Desde un concepto general, el término se usa generalmente para referirse a la expresión de un usuario de un resultado o estado final deseado en la cadena. A los efectos de esta especificación, una intención se define como un conjunto de acciones y expectativas establecidas por un usuario. Estas operaciones y expectativas pueden combinarse con aquellas de otras intenciones en un esfuerzo por satisfacer los mejores intereses comunes de todas las partes involucradas.
Una serie de operaciones en cadena que satisfacen a todas las partes involucradas se denomina solución. Los solucionadores especializados (similares a los paquetes en ERC-4337) competirán para encontrar la solución que brinde la mayor satisfacción a los usuarios. Esto se puede lograr, por ejemplo, encontrando la mejor y más eficiente ruta dentro de la cadena, aprovechando las fuentes de liquidez fuera de la cadena, combinando las intenciones de diferentes usuarios para explotar necesidades comunes, etc., incluso incluyendo sus propias intenciones.
Agregar la intención del usuario a la abstracción de la cuenta
La clave para permitir la intención universal es utilizar cuentas abstractas basadas en contratos inteligentes. De manera similar a ERC-4337, las intenciones se firman como mensajes y luego se verifican en cadena mediante transacciones separadas. Estos mensajes firmados luego se propagan en su propio grupo de memoria.
El objetivo de esta especificación no es crear un marco para que las billeteras de contratos inteligentes se integren y admitan automáticamente la amplia gama de posibilidades definidas por la propia intención firmada. Por lo tanto, el marco también debe permitir un proceso de actualización y extensión de código fluido y sin permisos a medida que surgen nuevos casos de uso previstos.
Estándares de entrada única y de intención ilimitada
Para ayudar a facilitar este proceso de actualización y expansión fluido y permitido, se modeló el contrato EntryPoint en ERC-4337, pero también se dividió en dos partes distintas. La primera parte, denominada punto de entrada, es el punto de entrada principal para enviar soluciones de intenciones y es responsable de validar las firmas de intenciones y ejecutar la lógica de procesamiento de intenciones de alto nivel.
El contenido específico de la lógica de procesamiento de intenciones se define en un contrato separado, llamado estándar de intenciones, que se especifica en la propia intención firmada. Los puntos de entrada llaman a estos contratos para manejar una intención. Es el estándar de intención que define cómo se manejan los datos de intención adjuntos y la ejecución, así como las reglas básicas fuera de la cadena relacionadas con los vectores de ataque de denegación de servicio inherentes a la intención, como cómo se entregan los mensajes a los resolutores y los mecanismos de protección contra ataques DoS. vectores inherentes a la intención.
Estos estándares de intención deben establecerse de forma autónoma e independiente de esta norma. Esperamos que a medida que el panorama de intenciones madure, surjan nichos optimizados y casos de uso emergentes, surjan nuevos estándares de intención con capacidades adicionales. La adopción y el respaldo de estos estándares estarán impulsados por el consenso social entre los desarrolladores de billeteras y los solucionadores de intenciones, así como por la demanda de los usuarios finales.
Para garantizar que nuestro ERC propuesto tenga una funcionalidad significativa en sus primeras etapas, hemos desarrollado un estándar de intención basado en activos para admitir la mayoría de los casos de uso actuales de blockchain. Refinaremos este estándar (y este ERC) en un entorno público para adaptarlo a las necesidades del ecosistema.
Estructura de intención vaga pero poderosa
La intención del usuario contiene datos primarios que se pueden dividir en dos partes:
Datos de verificación necesarios utilizados por el contrato de Punto de Entrada para verificar los mensajes con el remitente antes de ejecutarlos.
Datos adicionales específicos del estándar de intención especificados por la intención.
Los datos estándar de intención pueden ser cualquier cosa, pero siempre se dividen en partes separadas llamadas segmentos de intención.
El contrato de Punto de Entrada no entiende explícitamente qué son los datos, pero sí reconoce la división en segmentos. El contrato de punto de entrada llama al contrato estándar de intención para procesar un segmento a la vez y exige que los segmentos de intención siempre se procesen en el orden especificado. Sin embargo, los puntos de entrada permiten procesar otras intenciones entre segmentos de ejecución.
Estos segmentos de intención suelen consistir en acciones que el usuario desea gestionar o comprobar si se cumplen determinadas condiciones. Además, un segmento puede pasar datos al siguiente segmento durante el procesamiento. Estos datos se denominan datos de contexto de intención y son útiles para validar los cambios que ocurrieron entre segmentos y evitar la necesidad de volver a calcular datos útiles. Nuevamente, el uso completo de estos datos está determinado por la especificación del Estándar de Intención.
Combina intenciones para lograr la máxima satisfacción
Durante el procesamiento de la intención, la intención puede generar insatisfacción con cualquier tipo de condición, ya sea un saldo bajo inesperado o cualquier condición que los criterios de la intención podrían buscar para evaluar como falsa. Cuando esto sucede, se revierte toda la transacción, incluido el procesamiento de intenciones no relacionadas que puedan haber ocurrido anteriormente.
Solo cuando un conjunto de intenciones se envía y procesa en un orden que satisfaga a todas las partes, se consideran gastadas y se permite que el estado resultante persista en la cadena. Son estas combinaciones de intenciones las que forman la solución y se pasan al contrato de Punto de Entrada para su procesamiento.
Sin embargo, simplemente enviar una lista de intenciones no es suficiente porque los segmentos para diferentes intenciones se pueden organizar en diferentes órdenes. Por lo tanto, una solución también especifica cómo se deben ordenar los diferentes fragmentos de intención durante el procesamiento (cómo se deben intercalar los diferentes fragmentos de intención).
Parte del proceso de resolución generalmente implica que el solucionador formule una intención para ayudar a satisfacer un conjunto de otras intenciones, lo que les permite maximizar la satisfacción del usuario y al mismo tiempo generar algunas ganancias.
Conclusión: mejorar las interacciones blockchain impulsadas por la intención
El objetivo de la especificación es definir un marco básico para carteras de contratos inteligentes para que puedan conectarse y desbloquear poderosas expresiones de intención para los usuarios, incluso cuando el panorama continúa evolucionando. Definir intenciones como una colección de segmentos de intenciones más pequeños proporciona una excelente experiencia para el usuario y reduce la cantidad de veces que el usuario necesita firmar. La segmentación de intenciones y los datos de fondo compartidos también ayudan a desbloquear potentes capacidades sin utilizar grandes cantidades de gas. Los intents pueden confiar en que todos sus segmentos se procesarán secuencialmente sin inspección manual.
La intención universal del usuario abre un mundo completamente nuevo que recién ahora está comenzando a explorarse. Desde simples intercambios de tokens sin gas hasta intents condicionales más complejos que automatizan procesos como transferir fondos de billeteras frías a billeteras calientes o realizar compras diarias de monedas a través de un único mensaje firmado, ¡las posibilidades para los intents son enormes! Nuestra especificación del estándar de intención basado en activos es la primera de muchas iteraciones que permitirán a la comunidad aprovechar este nuevo marco.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Explicación detallada del borrador ERC-7521: agregar la intención del usuario a la billetera abstracta de la cuenta
Autor original: Stephen Monn
Compilación original: Deep Chao TechFlow
En el panorama en constante evolución de blockchain y las aplicaciones descentralizadas, se presta cada vez más atención al concepto de intención definida por el usuario en lugar de transacciones puras. Esto libera a los usuarios de tener que preocuparse por navegar por el proceso cada vez más complejo de DeFi y desbloquea una serie de casos de uso adicionales que recién ahora se están concebiendo.
Dado que las aplicaciones individuales ya utilizan sus propias estructuras de intención diferentes e incompatibles, tiene sentido crear un estándar de intención común que pueda ser compartido y comprendido por todos los usuarios, aplicaciones, software de billetera, solucionadores, buscadores, etc.
Para ayudar a la componibilidad y reducir la barrera de entrada, proponemos ERC-7521, un estándar que respalda la intención común de las billeteras de contratos inteligentes.
¿Cuál es la intención del usuario?
Dado que este campo es tan nuevo, la definición de intención actualmente es un poco confusa. Desde un concepto general, el término se usa generalmente para referirse a la expresión de un usuario de un resultado o estado final deseado en la cadena. A los efectos de esta especificación, una intención se define como un conjunto de acciones y expectativas establecidas por un usuario. Estas operaciones y expectativas pueden combinarse con aquellas de otras intenciones en un esfuerzo por satisfacer los mejores intereses comunes de todas las partes involucradas.
Una serie de operaciones en cadena que satisfacen a todas las partes involucradas se denomina solución. Los solucionadores especializados (similares a los paquetes en ERC-4337) competirán para encontrar la solución que brinde la mayor satisfacción a los usuarios. Esto se puede lograr, por ejemplo, encontrando la mejor y más eficiente ruta dentro de la cadena, aprovechando las fuentes de liquidez fuera de la cadena, combinando las intenciones de diferentes usuarios para explotar necesidades comunes, etc., incluso incluyendo sus propias intenciones.
Agregar la intención del usuario a la abstracción de la cuenta
La clave para permitir la intención universal es utilizar cuentas abstractas basadas en contratos inteligentes. De manera similar a ERC-4337, las intenciones se firman como mensajes y luego se verifican en cadena mediante transacciones separadas. Estos mensajes firmados luego se propagan en su propio grupo de memoria.
El objetivo de esta especificación no es crear un marco para que las billeteras de contratos inteligentes se integren y admitan automáticamente la amplia gama de posibilidades definidas por la propia intención firmada. Por lo tanto, el marco también debe permitir un proceso de actualización y extensión de código fluido y sin permisos a medida que surgen nuevos casos de uso previstos.
Estándares de entrada única y de intención ilimitada
Para ayudar a facilitar este proceso de actualización y expansión fluido y permitido, se modeló el contrato EntryPoint en ERC-4337, pero también se dividió en dos partes distintas. La primera parte, denominada punto de entrada, es el punto de entrada principal para enviar soluciones de intenciones y es responsable de validar las firmas de intenciones y ejecutar la lógica de procesamiento de intenciones de alto nivel.
El contenido específico de la lógica de procesamiento de intenciones se define en un contrato separado, llamado estándar de intenciones, que se especifica en la propia intención firmada. Los puntos de entrada llaman a estos contratos para manejar una intención. Es el estándar de intención que define cómo se manejan los datos de intención adjuntos y la ejecución, así como las reglas básicas fuera de la cadena relacionadas con los vectores de ataque de denegación de servicio inherentes a la intención, como cómo se entregan los mensajes a los resolutores y los mecanismos de protección contra ataques DoS. vectores inherentes a la intención.
Estos estándares de intención deben establecerse de forma autónoma e independiente de esta norma. Esperamos que a medida que el panorama de intenciones madure, surjan nichos optimizados y casos de uso emergentes, surjan nuevos estándares de intención con capacidades adicionales. La adopción y el respaldo de estos estándares estarán impulsados por el consenso social entre los desarrolladores de billeteras y los solucionadores de intenciones, así como por la demanda de los usuarios finales.
Para garantizar que nuestro ERC propuesto tenga una funcionalidad significativa en sus primeras etapas, hemos desarrollado un estándar de intención basado en activos para admitir la mayoría de los casos de uso actuales de blockchain. Refinaremos este estándar (y este ERC) en un entorno público para adaptarlo a las necesidades del ecosistema.
Estructura de intención vaga pero poderosa
La intención del usuario contiene datos primarios que se pueden dividir en dos partes:
Los datos estándar de intención pueden ser cualquier cosa, pero siempre se dividen en partes separadas llamadas segmentos de intención.
El contrato de Punto de Entrada no entiende explícitamente qué son los datos, pero sí reconoce la división en segmentos. El contrato de punto de entrada llama al contrato estándar de intención para procesar un segmento a la vez y exige que los segmentos de intención siempre se procesen en el orden especificado. Sin embargo, los puntos de entrada permiten procesar otras intenciones entre segmentos de ejecución.
Estos segmentos de intención suelen consistir en acciones que el usuario desea gestionar o comprobar si se cumplen determinadas condiciones. Además, un segmento puede pasar datos al siguiente segmento durante el procesamiento. Estos datos se denominan datos de contexto de intención y son útiles para validar los cambios que ocurrieron entre segmentos y evitar la necesidad de volver a calcular datos útiles. Nuevamente, el uso completo de estos datos está determinado por la especificación del Estándar de Intención.
Combina intenciones para lograr la máxima satisfacción
Durante el procesamiento de la intención, la intención puede generar insatisfacción con cualquier tipo de condición, ya sea un saldo bajo inesperado o cualquier condición que los criterios de la intención podrían buscar para evaluar como falsa. Cuando esto sucede, se revierte toda la transacción, incluido el procesamiento de intenciones no relacionadas que puedan haber ocurrido anteriormente.
Solo cuando un conjunto de intenciones se envía y procesa en un orden que satisfaga a todas las partes, se consideran gastadas y se permite que el estado resultante persista en la cadena. Son estas combinaciones de intenciones las que forman la solución y se pasan al contrato de Punto de Entrada para su procesamiento.
Sin embargo, simplemente enviar una lista de intenciones no es suficiente porque los segmentos para diferentes intenciones se pueden organizar en diferentes órdenes. Por lo tanto, una solución también especifica cómo se deben ordenar los diferentes fragmentos de intención durante el procesamiento (cómo se deben intercalar los diferentes fragmentos de intención).
Parte del proceso de resolución generalmente implica que el solucionador formule una intención para ayudar a satisfacer un conjunto de otras intenciones, lo que les permite maximizar la satisfacción del usuario y al mismo tiempo generar algunas ganancias.
Conclusión: mejorar las interacciones blockchain impulsadas por la intención
El objetivo de la especificación es definir un marco básico para carteras de contratos inteligentes para que puedan conectarse y desbloquear poderosas expresiones de intención para los usuarios, incluso cuando el panorama continúa evolucionando. Definir intenciones como una colección de segmentos de intenciones más pequeños proporciona una excelente experiencia para el usuario y reduce la cantidad de veces que el usuario necesita firmar. La segmentación de intenciones y los datos de fondo compartidos también ayudan a desbloquear potentes capacidades sin utilizar grandes cantidades de gas. Los intents pueden confiar en que todos sus segmentos se procesarán secuencialmente sin inspección manual.
La intención universal del usuario abre un mundo completamente nuevo que recién ahora está comenzando a explorarse. Desde simples intercambios de tokens sin gas hasta intents condicionales más complejos que automatizan procesos como transferir fondos de billeteras frías a billeteras calientes o realizar compras diarias de monedas a través de un único mensaje firmado, ¡las posibilidades para los intents son enormes! Nuestra especificación del estándar de intención basado en activos es la primera de muchas iteraciones que permitirán a la comunidad aprovechar este nuevo marco.