Futuro posible del protocolo Ethereum (VI): prosperidad
En el diseño del protocolo de Ethereum, muchos "detalles" son cruciales para su éxito. Aproximadamente la mitad del contenido se refiere a diferentes tipos de mejoras de EVM, y el resto consiste en varios temas de nicho, de ahí el significado de "prosperidad".
Prosperidad: objetivo clave
Convertir EVM en un "estado final" de alto rendimiento y estabilidad
Introducir la abstracción de cuentas en el protocolo, permitiendo a todos los usuarios disfrutar de cuentas más seguras y convenientes.
Optimizar los costos de transacción, mejorar la escalabilidad y reducir el riesgo al mismo tiempo.
Explorar la criptografía avanzada, que mejora significativamente Ethereum a largo plazo.
mejora de EVM
¿Qué problema se resolvió?
Actualmente, el EVM es difícil de analizar de forma estática, lo que dificulta la creación de implementaciones eficientes, la verificación formal del código y la realización de futuras ampliaciones. Además, la eficiencia del EVM es baja, lo que dificulta la implementación de muchas formas de criptografía avanzada, a menos que se cuente con soporte explícito a través de precompilaciones.
¿Qué es y cómo funciona?
El primer paso en la hoja de ruta de mejora de EVM actual es el formato de objeto EVM (EOF), que se planea incluir en la próxima bifurcación dura. EOF es una serie de EIP que especifica una nueva versión de código EVM, con muchas características únicas, siendo la más notable:
El código ( es ejecutable, pero no se puede leer desde el EVM ) y los datos ( se pueden leer, pero no se pueden ejecutar entre la separación de ).
Prohibir saltos dinámicos, solo se permiten saltos estáticos
El código EVM ya no puede observar información relacionada con el combustible.
Se ha añadido un nuevo mecanismo de subrutina explícita.
Los contratos antiguos seguirán existiendo y se podrán crear, aunque eventualmente podrían ser gradualmente descontinuados los contratos antiguos ( e incluso podrían ser convertidos forzosamente a código EOF ). Los contratos nuevos se beneficiarán de la mejora de eficiencia que trae EOF, primero a través de un bytecode ligeramente reducido gracias a las características de subrutinas, y luego por las nuevas funcionalidades específicas de EOF o la reducción de los costos de gas.
Después de introducir EOF, las actualizaciones adicionales se vuelven más fáciles. Actualmente, el desarrollo más completo es la extensión aritmética del módulo EVM ( EVM-MAX ). EVM-MAX crea un conjunto de nuevas operaciones específicamente para la operación de módulo y las coloca en un nuevo espacio de memoria que no se puede acceder a través de otros códigos de operación, lo que hace posible el uso de optimizaciones como la multiplicación de Montgomery.
Una idea más reciente es combinar EVM-MAX con la característica de múltiples datos de una sola instrucción (SIMD), SIMD como un concepto en Ethereum ha existido durante mucho tiempo, propuesto por primera vez por Greg Colvin en el EIP-616. SIMD se puede utilizar para acelerar muchas formas de criptografía, incluyendo funciones hash, STARKs de 32 bits y criptografía basada en rejillas, la combinación de EVM-MAX y SIMD hace que estas dos escalabilidades orientadas al rendimiento sean una pareja natural.
Un diseño general de un conjunto de EIP comenzará con EIP-6690 y luego:
Permitir (i) cualquier número impar o (ii) cualquier potencia de 2 que no supere 2768 como módulo
Para cada código de operación EVM-MAX ( adición, sustracción, multiplicación ), añade una versión que ya no utiliza 3 números inmediatos x, y, z, sino que utiliza 7 números inmediatos: x_start, x_skip, y_start, y_skip, z_start, z_skip, count. En el código Python, estos códigos de operación funcionan de manera similar a:
for i in range(count):
mem[z_start + z_skip * count] = op(
mem[x_start + x_skip * count],
mem[y_start + y_skip * count]
)
En la implementación real, esto se procesará de manera paralela.
Puede agregar XOR, AND, OR, NOT y SHIFT(, incluyendo bucles y no bucles), al menos para módulos de potencias de 2. Al mismo tiempo, agregar ISZERO( enviará la salida al stack principal de EVM), lo que será lo suficientemente potente como para implementar criptografía de curva elíptica, criptografía de pequeño dominio( como Poseidon, Circle STARKs), funciones hash tradicionales( como SHA256, KECCAK, BLAKE) y criptografía basada en reticulados. Otras actualizaciones de EVM también pueden implementarse, pero hasta ahora han recibido menos atención.
El trabajo restante y las consideraciones
Actualmente, se planea incluir EOF en la próxima bifurcación dura. Aunque siempre existe la posibilidad de eliminarlo en el último momento - en bifurcaciones duras anteriores, algunas funciones han sido eliminadas temporalmente, hacerlo enfrentará grandes desafíos. Eliminar EOF significa que cualquier actualización futura del EVM deberá realizarse sin EOF, aunque es posible, puede ser más difícil.
El principal compromiso del EVM radica en la complejidad de L1 y la complejidad de la infraestructura. El EOF es una gran cantidad de código que necesita ser agregado a la implementación del EVM, y la verificación de código estático también es relativamente compleja. Sin embargo, a cambio, podemos simplificar los lenguajes de alto nivel, simplificar la implementación del EVM y otros beneficios. Se puede decir que la hoja de ruta que prioriza la mejora continua de Ethereum L1 debería incluir y construirse sobre el EOF.
Un trabajo importante que debe hacerse es implementar funciones similares a EVM-MAX más SIMD, y llevar a cabo pruebas de referencia sobre el consumo de gas de varias operaciones criptográficas.
¿Cómo interactuar con otras partes de la hoja de ruta?
L1 ajusta su EVM para que L2 también pueda realizar ajustes correspondientes más fácilmente, si ambos no se sincronizan, puede causar incompatibilidad, lo que traerá efectos adversos. Además, EVM-MAX y SIMD pueden reducir los costos de gas de muchos sistemas de prueba, lo que hace que L2 sea más eficiente. También facilita reemplazar más precompilados con código EVM que puede ejecutar las mismas tareas, lo que probablemente no afectará drásticamente la eficiencia.
abstracción de cuentas
¿Qué problema se resolvió?
Actualmente, las transacciones solo pueden ser validadas de una manera: firma ECDSA. Originalmente, la abstracción de cuentas estaba destinada a ir más allá de esto, permitiendo que la lógica de validación de cuentas sea cualquier código EVM. Esto puede habilitar una serie de aplicaciones:
Cambiar a criptografía post-cuántica
Rotar las claves antiguas ( se considera ampliamente una práctica de seguridad recomendada )
Billetera de múltiples firmas y billetera de recuperación social
Utilizar una clave para operaciones de bajo valor, utilizar otra clave ( o un conjunto de claves ) para operaciones de alto valor
Permitir que el protocolo de privacidad funcione sin intermediarios, reduciendo significativamente su complejidad y eliminando un punto de dependencia central clave.
Desde que se propuso la abstracción de cuentas en 2015, su objetivo también se ha ampliado para incluir una gran cantidad de "objetivos de conveniencia", por ejemplo, una cuenta que no tiene ETH pero que posee algunos ERC20 puede usar ERC20 para pagar gas.
MPC( el cálculo multipartito) es una técnica que tiene 40 años de historia, utilizada para dividir claves en múltiples partes y almacenarlas en varios dispositivos, utilizando técnicas criptográficas para generar firmas sin necesidad de combinar directamente estas partes de clave.
EIP-7702 es una propuesta que se planea introducir en la próxima bifurcación dura. EIP-7702 es el resultado de una creciente conciencia sobre la facilidad de abstracción de cuentas para beneficiar a todos los usuarios (, incluidos los usuarios de EOA ), y tiene como objetivo mejorar la experiencia de todos los usuarios a corto plazo y evitar la división en dos ecosistemas.
Este trabajo comenzó con EIP-3074 y finalmente se convirtió en EIP-7702. EIP-7702 ofrece las "funciones de conveniencia" de la abstracción de cuentas a todos los usuarios, incluidos los EOA( actuales, que son cuentas externas controladas por firmas ECDSA, es decir, cuentas).
A partir del gráfico, se puede ver que, aunque algunos desafíos (, especialmente el desafío de la "conveniencia" ), pueden resolverse mediante tecnologías progresivas como la computación multipartita o el EIP-7702, el principal objetivo de seguridad del que se propuso inicialmente el concepto de abstracción de cuentas solo puede lograrse retrocediendo y resolviendo el problema original: permitir que el código de los contratos inteligentes controle la validación de transacciones. La razón por la cual esto aún no se ha logrado radica en la implementación segura, lo cual es un desafío.
¿Qué es y cómo funciona?
El núcleo de la abstracción de cuentas es simple: permite que los contratos inteligentes inicien transacciones, y no solo las EOA. Toda la complejidad proviene de implementar esto de una manera que sea amigable para el mantenimiento de una red descentralizada y prevenir ataques de denegación de servicio.
Un desafío clave típico es el problema de múltiples fallos:
Si hay 1000 funciones de verificación de cuentas que dependen de un único valor S, y el valor S actual hace que todas las transacciones en el pool de memoria sean válidas, entonces una única transacción que invierta el valor de S podría hacer que todas las demás transacciones en el pool de memoria sean inválidas. Esto permite a un atacante enviar transacciones basura al pool de memoria a un costo muy bajo, bloqueando así los recursos de los nodos de la red.
Después de años de esfuerzo, con el objetivo de expandir las funcionalidades mientras se limita el riesgo de denegación de servicio (DoS), finalmente se llegó a la solución para lograr "abstracto de cuenta ideal": ERC-4337.
El funcionamiento de ERC-4337 consiste en dividir el procesamiento de las operaciones de los usuarios en dos etapas: verificación y ejecución. Todas las verificaciones se procesan primero, y todas las ejecuciones se procesan después. En el pool de memoria, solo se aceptarán las operaciones de los usuarios cuya etapa de verificación solo involucre su propia cuenta y no lea variables de entorno. Esto puede prevenir ataques de doble gasto. Además, se aplican estrictos límites de gas a los pasos de verificación.
ERC-4337 fue diseñado como un estándar de protocolo adicional (ERC), porque en ese momento los desarrolladores de clientes de Ethereum estaban enfocados en la fusión (Merge), sin energía adicional para abordar otras funcionalidades. Esta es la razón por la que ERC-4337 utiliza un objeto llamado operación de usuario, en lugar de transacciones convencionales. Sin embargo, recientemente nos hemos dado cuenta de la necesidad de escribir al menos parte de esto en el protocolo.
Las dos razones clave son las siguientes:
EntryPoint como la ineficiencia inherente del contrato: cada agrupación tiene un costo fijo de aproximadamente 100,000 gas, además de miles de gas adicionales por cada operación de usuario.
Asegurar la necesidad de las propiedades de Ethereum: como la lista de inclusión creada que requiere que la garantía se transfiera a los usuarios de cuentas abstractas.
Además, ERC-4337 también amplía dos funciones:
Agentes de pago ( Paymasters ): permite que una cuenta pague tarifas en nombre de otra cuenta, lo que viola la regla de que en la fase de verificación solo se puede acceder a la cuenta del remitente mismo, por lo tanto, se introduce un tratamiento especial para garantizar la seguridad del mecanismo de agentes de pago.
Agregadores(: soporta funciones de agregación de firma, como la agregación BLS o la agregación basada en SNARK. Esto es necesario para lograr la máxima eficiencia de datos en Rollup.
![Vitalik sobre el posible futuro de Ethereum (6): The Splurge])https://img-cdn.gateio.im/webp-social/moments-c0f722db75e53f4ff37ef40f5547dfc4.webp(
)# El trabajo restante y las compensaciones
Actualmente, lo que se necesita resolver principalmente es cómo introducir completamente la abstracción de cuentas en el protocolo. El EIP de abstracción de cuentas escrito recientemente y que ha ganado popularidad es el EIP-7701, que implementa la abstracción de cuentas sobre el EOF. Una cuenta puede tener una sección de código separada para la verificación; si la cuenta ha configurado dicha sección de código, este código se ejecutará en el paso de verificación de las transacciones provenientes de esa cuenta.
El atractivo de este enfoque radica en que muestra claramente dos perspectivas equivalentes de la abstracción de cuentas locales:
Incorporar EIP-4337 como parte del protocolo
Un nuevo tipo de EOA, donde el algoritmo de firma es la ejecución de código EVM.
Si comenzamos estableciendo límites estrictos en la complejidad del código ejecutable durante el periodo de verificación - no se permite el acceso al estado externo, e incluso el límite de gas establecido en la fase inicial es tan bajo que resulta ineficaz para aplicaciones de resistencia cuántica o protección de la privacidad - entonces la seguridad de este enfoque es muy clara: simplemente reemplazar la verificación ECDSA por una ejecución de código EVM que requiera un tiempo similar.
Sin embargo, con el paso del tiempo, necesitamos flexibilizar estos límites, ya que permitir que las aplicaciones de protección de la privacidad funcionen sin un intermediario, así como la resistencia cuántica, son muy importantes. Para ello, necesitamos encontrar maneras más flexibles de abordar el rechazo de servicio ###DoS(.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
9 me gusta
Recompensa
9
5
Compartir
Comentar
0/400
0xSunnyDay
· 07-13 12:18
¡Esta actualización es increíble!
Ver originalesResponder0
StakeHouseDirector
· 07-12 01:59
El dolor eterno de EVM
Ver originalesResponder0
GhostInTheChain
· 07-11 13:24
Tener dinero es divertido.
Ver originalesResponder0
DegenMcsleepless
· 07-11 13:21
La actualización de múltiples niveles es muy científica
Desarrollo de la ruta del protocolo Ethereum: Actualización de EVM y avance en la abstracción de cuentas
Futuro posible del protocolo Ethereum (VI): prosperidad
En el diseño del protocolo de Ethereum, muchos "detalles" son cruciales para su éxito. Aproximadamente la mitad del contenido se refiere a diferentes tipos de mejoras de EVM, y el resto consiste en varios temas de nicho, de ahí el significado de "prosperidad".
Prosperidad: objetivo clave
mejora de EVM
¿Qué problema se resolvió?
Actualmente, el EVM es difícil de analizar de forma estática, lo que dificulta la creación de implementaciones eficientes, la verificación formal del código y la realización de futuras ampliaciones. Además, la eficiencia del EVM es baja, lo que dificulta la implementación de muchas formas de criptografía avanzada, a menos que se cuente con soporte explícito a través de precompilaciones.
¿Qué es y cómo funciona?
El primer paso en la hoja de ruta de mejora de EVM actual es el formato de objeto EVM (EOF), que se planea incluir en la próxima bifurcación dura. EOF es una serie de EIP que especifica una nueva versión de código EVM, con muchas características únicas, siendo la más notable:
Los contratos antiguos seguirán existiendo y se podrán crear, aunque eventualmente podrían ser gradualmente descontinuados los contratos antiguos ( e incluso podrían ser convertidos forzosamente a código EOF ). Los contratos nuevos se beneficiarán de la mejora de eficiencia que trae EOF, primero a través de un bytecode ligeramente reducido gracias a las características de subrutinas, y luego por las nuevas funcionalidades específicas de EOF o la reducción de los costos de gas.
Después de introducir EOF, las actualizaciones adicionales se vuelven más fáciles. Actualmente, el desarrollo más completo es la extensión aritmética del módulo EVM ( EVM-MAX ). EVM-MAX crea un conjunto de nuevas operaciones específicamente para la operación de módulo y las coloca en un nuevo espacio de memoria que no se puede acceder a través de otros códigos de operación, lo que hace posible el uso de optimizaciones como la multiplicación de Montgomery.
Una idea más reciente es combinar EVM-MAX con la característica de múltiples datos de una sola instrucción (SIMD), SIMD como un concepto en Ethereum ha existido durante mucho tiempo, propuesto por primera vez por Greg Colvin en el EIP-616. SIMD se puede utilizar para acelerar muchas formas de criptografía, incluyendo funciones hash, STARKs de 32 bits y criptografía basada en rejillas, la combinación de EVM-MAX y SIMD hace que estas dos escalabilidades orientadas al rendimiento sean una pareja natural.
Un diseño general de un conjunto de EIP comenzará con EIP-6690 y luego:
for i in range(count): mem[z_start + z_skip * count] = op( mem[x_start + x_skip * count], mem[y_start + y_skip * count] )
En la implementación real, esto se procesará de manera paralela.
El trabajo restante y las consideraciones
Actualmente, se planea incluir EOF en la próxima bifurcación dura. Aunque siempre existe la posibilidad de eliminarlo en el último momento - en bifurcaciones duras anteriores, algunas funciones han sido eliminadas temporalmente, hacerlo enfrentará grandes desafíos. Eliminar EOF significa que cualquier actualización futura del EVM deberá realizarse sin EOF, aunque es posible, puede ser más difícil.
El principal compromiso del EVM radica en la complejidad de L1 y la complejidad de la infraestructura. El EOF es una gran cantidad de código que necesita ser agregado a la implementación del EVM, y la verificación de código estático también es relativamente compleja. Sin embargo, a cambio, podemos simplificar los lenguajes de alto nivel, simplificar la implementación del EVM y otros beneficios. Se puede decir que la hoja de ruta que prioriza la mejora continua de Ethereum L1 debería incluir y construirse sobre el EOF.
Un trabajo importante que debe hacerse es implementar funciones similares a EVM-MAX más SIMD, y llevar a cabo pruebas de referencia sobre el consumo de gas de varias operaciones criptográficas.
¿Cómo interactuar con otras partes de la hoja de ruta?
L1 ajusta su EVM para que L2 también pueda realizar ajustes correspondientes más fácilmente, si ambos no se sincronizan, puede causar incompatibilidad, lo que traerá efectos adversos. Además, EVM-MAX y SIMD pueden reducir los costos de gas de muchos sistemas de prueba, lo que hace que L2 sea más eficiente. También facilita reemplazar más precompilados con código EVM que puede ejecutar las mismas tareas, lo que probablemente no afectará drásticamente la eficiencia.
abstracción de cuentas
¿Qué problema se resolvió?
Actualmente, las transacciones solo pueden ser validadas de una manera: firma ECDSA. Originalmente, la abstracción de cuentas estaba destinada a ir más allá de esto, permitiendo que la lógica de validación de cuentas sea cualquier código EVM. Esto puede habilitar una serie de aplicaciones:
Permitir que el protocolo de privacidad funcione sin intermediarios, reduciendo significativamente su complejidad y eliminando un punto de dependencia central clave.
Desde que se propuso la abstracción de cuentas en 2015, su objetivo también se ha ampliado para incluir una gran cantidad de "objetivos de conveniencia", por ejemplo, una cuenta que no tiene ETH pero que posee algunos ERC20 puede usar ERC20 para pagar gas.
MPC( el cálculo multipartito) es una técnica que tiene 40 años de historia, utilizada para dividir claves en múltiples partes y almacenarlas en varios dispositivos, utilizando técnicas criptográficas para generar firmas sin necesidad de combinar directamente estas partes de clave.
EIP-7702 es una propuesta que se planea introducir en la próxima bifurcación dura. EIP-7702 es el resultado de una creciente conciencia sobre la facilidad de abstracción de cuentas para beneficiar a todos los usuarios (, incluidos los usuarios de EOA ), y tiene como objetivo mejorar la experiencia de todos los usuarios a corto plazo y evitar la división en dos ecosistemas.
Este trabajo comenzó con EIP-3074 y finalmente se convirtió en EIP-7702. EIP-7702 ofrece las "funciones de conveniencia" de la abstracción de cuentas a todos los usuarios, incluidos los EOA( actuales, que son cuentas externas controladas por firmas ECDSA, es decir, cuentas).
A partir del gráfico, se puede ver que, aunque algunos desafíos (, especialmente el desafío de la "conveniencia" ), pueden resolverse mediante tecnologías progresivas como la computación multipartita o el EIP-7702, el principal objetivo de seguridad del que se propuso inicialmente el concepto de abstracción de cuentas solo puede lograrse retrocediendo y resolviendo el problema original: permitir que el código de los contratos inteligentes controle la validación de transacciones. La razón por la cual esto aún no se ha logrado radica en la implementación segura, lo cual es un desafío.
¿Qué es y cómo funciona?
El núcleo de la abstracción de cuentas es simple: permite que los contratos inteligentes inicien transacciones, y no solo las EOA. Toda la complejidad proviene de implementar esto de una manera que sea amigable para el mantenimiento de una red descentralizada y prevenir ataques de denegación de servicio.
Un desafío clave típico es el problema de múltiples fallos:
Si hay 1000 funciones de verificación de cuentas que dependen de un único valor S, y el valor S actual hace que todas las transacciones en el pool de memoria sean válidas, entonces una única transacción que invierta el valor de S podría hacer que todas las demás transacciones en el pool de memoria sean inválidas. Esto permite a un atacante enviar transacciones basura al pool de memoria a un costo muy bajo, bloqueando así los recursos de los nodos de la red.
Después de años de esfuerzo, con el objetivo de expandir las funcionalidades mientras se limita el riesgo de denegación de servicio (DoS), finalmente se llegó a la solución para lograr "abstracto de cuenta ideal": ERC-4337.
El funcionamiento de ERC-4337 consiste en dividir el procesamiento de las operaciones de los usuarios en dos etapas: verificación y ejecución. Todas las verificaciones se procesan primero, y todas las ejecuciones se procesan después. En el pool de memoria, solo se aceptarán las operaciones de los usuarios cuya etapa de verificación solo involucre su propia cuenta y no lea variables de entorno. Esto puede prevenir ataques de doble gasto. Además, se aplican estrictos límites de gas a los pasos de verificación.
ERC-4337 fue diseñado como un estándar de protocolo adicional (ERC), porque en ese momento los desarrolladores de clientes de Ethereum estaban enfocados en la fusión (Merge), sin energía adicional para abordar otras funcionalidades. Esta es la razón por la que ERC-4337 utiliza un objeto llamado operación de usuario, en lugar de transacciones convencionales. Sin embargo, recientemente nos hemos dado cuenta de la necesidad de escribir al menos parte de esto en el protocolo.
Las dos razones clave son las siguientes:
Además, ERC-4337 también amplía dos funciones:
![Vitalik sobre el posible futuro de Ethereum (6): The Splurge])https://img-cdn.gateio.im/webp-social/moments-c0f722db75e53f4ff37ef40f5547dfc4.webp(
)# El trabajo restante y las compensaciones
Actualmente, lo que se necesita resolver principalmente es cómo introducir completamente la abstracción de cuentas en el protocolo. El EIP de abstracción de cuentas escrito recientemente y que ha ganado popularidad es el EIP-7701, que implementa la abstracción de cuentas sobre el EOF. Una cuenta puede tener una sección de código separada para la verificación; si la cuenta ha configurado dicha sección de código, este código se ejecutará en el paso de verificación de las transacciones provenientes de esa cuenta.
El atractivo de este enfoque radica en que muestra claramente dos perspectivas equivalentes de la abstracción de cuentas locales:
Si comenzamos estableciendo límites estrictos en la complejidad del código ejecutable durante el periodo de verificación - no se permite el acceso al estado externo, e incluso el límite de gas establecido en la fase inicial es tan bajo que resulta ineficaz para aplicaciones de resistencia cuántica o protección de la privacidad - entonces la seguridad de este enfoque es muy clara: simplemente reemplazar la verificación ECDSA por una ejecución de código EVM que requiera un tiempo similar.
Sin embargo, con el paso del tiempo, necesitamos flexibilizar estos límites, ya que permitir que las aplicaciones de protección de la privacidad funcionen sin un intermediario, así como la resistencia cuántica, son muy importantes. Para ello, necesitamos encontrar maneras más flexibles de abordar el rechazo de servicio ###DoS(.