Un agradecimiento especial a Fede, Danno Ferrin, Justin Drake, Ladislaus y Tim Beiko por sus comentarios y revisiones.
El objetivo de Ethereum es convertirse en un libro mayor global - una plataforma que almacena activos y registros humanos, y es la capa subyacente para aplicaciones como finanzas, gobernanza y verificación de datos de alto valor. Para lograr este objetivo, debe tener tanto escalabilidad como resistencia. El plan de bifurcación dura de Fusaka aumentará el espacio de disponibilidad de datos L2 en 10 veces, mientras queEl plan propuesto para 2026También incluye una escala similar de expansión de datos L1. Mientras tanto, 'The Merge' ha actualizado Ethereum a un mecanismo de consenso de participación (PoS).La diversidad de clientes está aumentando rápidamente, la verificabilidad ZK (Prueba de Conocimiento Cero) y la resistencia a los ataques cuánticos también están progresando de manera constante, y el ecosistema de aplicaciones está creciendo cada vez másMaduro y robusto.
El objetivo de este artículo es enfatizar un aspecto igualmente crítico pero a menudo subestimadoResiliencia (y en última instancia escalabilidad)Elementos:
Simplicidad del protocolo.
Uno de los aspectos más elogiados de Bitcoin es su diseño de protocolo, que es extremadamente elegante y simple:
El sistema es una cadena de bloques, compuesta por una serie de bloques. Cada bloque está vinculado al anterior a través de un hash. La validez de cada bloque se verifica a través de la Prueba de Trabajo (PoW), lo que significa… solo necesitas comprobar si los dígitos principales de su hash son ceros. Cada bloque contiene transacciones, que bien gastan las monedas obtenidas a través de la minería, o gastan las monedas resultantes de transacciones anteriores. Básicamente, eso es todo.
Incluso un estudiante inteligente de secundaria tiene la capacidad de comprender completamente los principios de funcionamiento del protocolo de Bitcoin. E incluso un programador puede desarrollar un cliente de Bitcoin como un proyecto de hobby.
Mantener el protocolo simple trae una serie de ventajas clave, lo que potencialmente hace a Bitcoin y EthereumNeutralidad confiableLa capa fundamental de confianza global:
En el pasado, Ethereum no ha tenido un buen desempeño en este sentido (a veces incluso debido a mis decisiones personales), lo que ha llevado a nuestros gastos excesivos de desarrollo,@vbuterin/selfdestruct”>Various security risks and the closed nature of R&D culture, and these efforts often only bring illusory returns.
Este artículo explicará cómo Ethereum podría alcanzar un nivel de simplicidad cercano al de Bitcoin en cinco años.
3-slot finality(3槽终结性)模拟图 — 3sf-mini
El nuevo diseño de la capa de consenso (anteriormente conocido como 'cadena de rayos') tiene como objetivo integrar la experiencia que hemos acumulado en teoría de consenso, desarrollo de ZK-SNARK, economía de staking y otras áreas en la última década, para crear una capa de consenso Ethereum óptima a largo plazo. Se espera que esta nueva capa de consenso, en comparación con la Beacon Chain existente, logre una mayor simplicidad. Esto es particularmente evidente en:
La ventaja de la capa de consenso es que está relativamente desacoplada de la ejecución de EVM, por lo que tenemos mucho espacio para seguir impulsando estas mejoras hacia adelante.
Más desafiante es: cómo lograr la misma simplificación en la capa de ejecución.
La complejidad de la Máquina Virtual Ethereum (EVM) está aumentando continuamente, y gran parte de esta complejidad se ha demostrado innecesaria (a menudo también relacionada con mis decisiones personales): tenemos una máquina virtual de 256 bits que está excesivamente optimizada para formas criptográficas muy específicas, que ahora se están marginando gradualmente; y algunos contratos precompilados se centran excesivamente en muy pocos casos de uso únicos.
Intentar solucionar gradualmente estos problemas prácticos no es factible.Eliminar @vbuterinLa instrucción SELFDESTRUCT consume una gran cantidad de energía, pero los resultados son limitados. El reciente debate sobre EOF (Formato de Objeto EVM) demuestra aún más la dificultad de realizar cambios similares en la máquina virtual.
Por lo tanto, como alternativa, recientemente propuse una idea más radical: en lugar de realizar cambios incrementales (pero aún destructivos) para una mejora de 1.5x, es mejor migrar directamente a una máquina virtual completamente nueva, mucho superior y más simple, apuntando a un rendimiento de 100x. Al igual que 'La Fusión', reducimos el número de transformaciones, pero cada una es significativa. Específicamente, sugiero reemplazar el EVM existente con RISC-V (u otra máquina virtual que será utilizada por el probador ZK de Ethereum). De esta manera, lograremos:
El principal inconveniente de este enfoque es que, a diferencia de EOF (implementación inmediata), la nueva máquina virtual tarda más en beneficiar a los desarrolladores. Para mitigar esto, podemos introducir algunas mejoras pequeñas pero de gran valor en EVM a corto plazo.Aumentar el límite de tamaño del código del contrato、Aumentar las instrucciones DUP/SWAP17-32, etc.)
En última instancia, esto nos dará una máquina virtual muy simplificada. Pero la pregunta más importante es: ¿qué pasa con el EVM existente?
Al simplificar significativamente (o incluso mejorar sin añadir complejidad) cualquier parte de la Máquina Virtual Ethereum (EVM), el mayor desafío es: cómo mantener la compatibilidad con las aplicaciones existentes al tiempo que se logra el objetivo.
En primer lugar, debe quedar claro que no hay una única forma de definir el alcance del “código base de Ethereum” (incluso dentro del mismo cliente).
El objetivo es minimizar el alcance del área verde tanto como sea posible: es decir, la lógica que los nodos deben ejecutar para participar en el consenso de Ethereum, incluyendo el cálculo del estado actual, la prueba, la validación, FOCIL (Capa de Integridad de Consenso de Primer Orden), construcción básica de bloques, etc.
El área naranja no se puede reducir: si se elimina una característica de capa de ejecución específica (ya sea una máquina virtual, precompilación u otro mecanismo) de la especificación del protocolo, o si su funcionalidad cambia, el cliente encargado de procesar bloques históricos aún debe retenerlo, pero es importante destacar que los nuevos clientes (como ZK-EVMs o verificadores formales) pueden ignorar completamente el área naranja.
La nueva categoría es el área amarilla: este tipo de código es muy importante para entender y analizar el estado actual de la cadena, y para construir los mejores bloques, pero no forma parte del consenso. Un ejemplo es Etherscan(Y algunosConstructor de Bloques) Soporte para operaciones de usuario ERC-4337. Si utilizamos una implementación RISC-V en cadena para reemplazar ciertas funciones grandes de Ethereum (como las cuentas EOA y su soporte para varios tipos de transacciones antiguas), entonces, a pesar de la simplificación significativa del código de consenso, algunos nodos profesionales aún pueden seguir utilizando el código original para analizar estas funciones.
Es importante que las áreas naranjas y amarillas pertenezcan a "Gate"Complejidad de encapsulamientoCualquiera que desee entender el protocolo puede omitirlos, los clientes de Ethereum también pueden optar por no implementarlos, y los errores en estas áreas no representarán un riesgo para el consenso. Esto significa que la complejidad del código y el impacto negativo causado por las áreas de naranja y amarillo son mucho menores que el área verde.
Transferir el código de la zona verde a la zona amarilla, este enfoque es similar a Apple Inc.Traducir a través de la capa de traducción de RosettaPara garantizar la compatibilidad a largo plazo.
Propuse (tomado de@ipsilon/eof-ethereums-gateway-to-risc-v”> El reciente proceso de migración de máquina virtual del equipo Ipsilon (utilizando la migración de EVM a RISC-V como ejemplo, pero también aplicable a la migración de EVM a Cairo, e incluso a la futura migración a una máquina virtual más óptima):
Después de completar el paso 4, seguirá habiendo muchas 'implementaciones de EVM' que se utilizarán para optimizar la construcción de bloques, las herramientas de desarrollo y el análisis en cadena, pero ya no formarán parte de las especificaciones clave del consenso. En ese momento, el consenso de Ethereum solo entenderá 'nativamente' RISC-V.
El tercer, y quizás el método de simplificación más subestimado, es compartir un estándar unificado en diversas partes de la pila de protocolos tanto como sea posible. Por lo general, no hay razón para utilizar diferentes protocolos para el mismo propósito en diferentes escenarios, pero esta situación aún ocurre con frecuencia en la realidad, principalmente debido a la falta de comunicación entre las diferentes partes de la hoja de ruta del protocolo. Aquí hay algunos ejemplos específicos de simplificación de Ethereum a través de la 'maximización del intercambio de componentes'.
Necesitamos corregir el código de eliminación en tres escenarios:
Si usamos el mismo código de borrado (ya sea Reed-Solomon, código lineal aleatorio u otro) en tres casos de uso, obtendremos algunas ventajas importantes:
Si de hecho se requieren diferentes códigos de corrección de errores, al menos se debe garantizar la 'compatibilidad': por ejemplo, en el escenario de DAS, se utiliza Reed-Solomon horizontalmente y el código lineal aleatorio se utiliza verticalmente, pero ambos se basan en el mismo campo matemático.
Actualmente, el formato de serialización de Ethereum es estrictamente hablando, solo "semi-estandarizado", ya que los datos pueden volver a serializarse y transmitirse en cualquier formato. La única excepción es el hash de firma de transacción, donde se requiere un formato estandarizado para el cálculo del hash.
Pero la estandarización de los formatos de serialización futuros se mejorará aún más, por dos razones:
En ese momento, tenemos la oportunidad de unificar las soluciones de serialización requeridas para los tres aspectos actuales: 1) capa de ejecución; 2) capa de consenso; 3) ABI de invocación de contrato inteligente.
Sugiero adoptar SSZ(Simple Serialize), porque SSZ tiene las siguientes ventajas:
Actualmente se han añadido más componentesMigraciónA SSZTrabajoAl planificar las futuras actualizaciones, debemos considerar y utilizar plenamente estos desarrollos.
Una vez que nos mudemos de EVM a RISC-V (u otra MV minimalista), el árbol de Merkle Patricia hexadecimal se convertirá en el mayor cuello de botella para probar la ejecución de bloques, incluso en escenarios promedio. Migrar a una función de hashÁrbol Binario, mejorará considerablemente la eficiencia del verificador y reducirá el costo de datos de nodos ligeros y otros escenarios.
Al completar la migración de la estructura del árbol, también debemos asegurarnos de que la capa de consenso utilice la misma estructura de árbol para garantizar que se pueda acceder y analizar todo Ethereum, tanto las capas de consenso como de ejecución, utilizando el mismo conjunto de código.
La simplificación y la descentralización tienen muchas similitudes. Ambas son requisitos previos necesarios para lograr el objetivo superior de la resiliencia del sistema. Enfatizar la simplificación explícitamente requiere un cambio cultural. Los beneficios de la simplificación a menudo son difíciles de ver en las etapas iniciales, pero los costos de oportunidad y la carga de trabajo adicional de rechazar esas 'nuevas características brillantes' son inmediatamente evidentes. Sin embargo, con el tiempo, el valor a largo plazo de la simplificación se vuelve cada vez más evidente: Bitcoin en sí mismo es un excelente ejemplo.
Sugiero queAprende del enfoque de tinygradPara establecer un objetivo claro de límite de líneas de código para la especificación a largo plazo de Ethereum, el objetivo es hacer que el código crítico de consenso de Ethereum se acerque lo más posible al estilo minimalista de Bitcoin. El código que trata de las reglas históricas de Ethereum seguirá existiendo pero debería estar aislado del camino crítico del consenso. Al mismo tiempo, deberíamos formar un principio de diseño universal: elegir soluciones más simples siempre que sea posible, priorizar la complejidad encapsulada sobre la complejidad sistémica y inclinarse hacia decisiones de diseño que proporcionen propiedades y garantías claras verificables.
Un agradecimiento especial a Fede, Danno Ferrin, Justin Drake, Ladislaus y Tim Beiko por sus comentarios y revisiones.
El objetivo de Ethereum es convertirse en un libro mayor global - una plataforma que almacena activos y registros humanos, y es la capa subyacente para aplicaciones como finanzas, gobernanza y verificación de datos de alto valor. Para lograr este objetivo, debe tener tanto escalabilidad como resistencia. El plan de bifurcación dura de Fusaka aumentará el espacio de disponibilidad de datos L2 en 10 veces, mientras queEl plan propuesto para 2026También incluye una escala similar de expansión de datos L1. Mientras tanto, 'The Merge' ha actualizado Ethereum a un mecanismo de consenso de participación (PoS).La diversidad de clientes está aumentando rápidamente, la verificabilidad ZK (Prueba de Conocimiento Cero) y la resistencia a los ataques cuánticos también están progresando de manera constante, y el ecosistema de aplicaciones está creciendo cada vez másMaduro y robusto.
El objetivo de este artículo es enfatizar un aspecto igualmente crítico pero a menudo subestimadoResiliencia (y en última instancia escalabilidad)Elementos:
Simplicidad del protocolo.
Uno de los aspectos más elogiados de Bitcoin es su diseño de protocolo, que es extremadamente elegante y simple:
El sistema es una cadena de bloques, compuesta por una serie de bloques. Cada bloque está vinculado al anterior a través de un hash. La validez de cada bloque se verifica a través de la Prueba de Trabajo (PoW), lo que significa… solo necesitas comprobar si los dígitos principales de su hash son ceros. Cada bloque contiene transacciones, que bien gastan las monedas obtenidas a través de la minería, o gastan las monedas resultantes de transacciones anteriores. Básicamente, eso es todo.
Incluso un estudiante inteligente de secundaria tiene la capacidad de comprender completamente los principios de funcionamiento del protocolo de Bitcoin. E incluso un programador puede desarrollar un cliente de Bitcoin como un proyecto de hobby.
Mantener el protocolo simple trae una serie de ventajas clave, lo que potencialmente hace a Bitcoin y EthereumNeutralidad confiableLa capa fundamental de confianza global:
En el pasado, Ethereum no ha tenido un buen desempeño en este sentido (a veces incluso debido a mis decisiones personales), lo que ha llevado a nuestros gastos excesivos de desarrollo,@vbuterin/selfdestruct”>Various security risks and the closed nature of R&D culture, and these efforts often only bring illusory returns.
Este artículo explicará cómo Ethereum podría alcanzar un nivel de simplicidad cercano al de Bitcoin en cinco años.
3-slot finality(3槽终结性)模拟图 — 3sf-mini
El nuevo diseño de la capa de consenso (anteriormente conocido como 'cadena de rayos') tiene como objetivo integrar la experiencia que hemos acumulado en teoría de consenso, desarrollo de ZK-SNARK, economía de staking y otras áreas en la última década, para crear una capa de consenso Ethereum óptima a largo plazo. Se espera que esta nueva capa de consenso, en comparación con la Beacon Chain existente, logre una mayor simplicidad. Esto es particularmente evidente en:
La ventaja de la capa de consenso es que está relativamente desacoplada de la ejecución de EVM, por lo que tenemos mucho espacio para seguir impulsando estas mejoras hacia adelante.
Más desafiante es: cómo lograr la misma simplificación en la capa de ejecución.
La complejidad de la Máquina Virtual Ethereum (EVM) está aumentando continuamente, y gran parte de esta complejidad se ha demostrado innecesaria (a menudo también relacionada con mis decisiones personales): tenemos una máquina virtual de 256 bits que está excesivamente optimizada para formas criptográficas muy específicas, que ahora se están marginando gradualmente; y algunos contratos precompilados se centran excesivamente en muy pocos casos de uso únicos.
Intentar solucionar gradualmente estos problemas prácticos no es factible.Eliminar @vbuterinLa instrucción SELFDESTRUCT consume una gran cantidad de energía, pero los resultados son limitados. El reciente debate sobre EOF (Formato de Objeto EVM) demuestra aún más la dificultad de realizar cambios similares en la máquina virtual.
Por lo tanto, como alternativa, recientemente propuse una idea más radical: en lugar de realizar cambios incrementales (pero aún destructivos) para una mejora de 1.5x, es mejor migrar directamente a una máquina virtual completamente nueva, mucho superior y más simple, apuntando a un rendimiento de 100x. Al igual que 'La Fusión', reducimos el número de transformaciones, pero cada una es significativa. Específicamente, sugiero reemplazar el EVM existente con RISC-V (u otra máquina virtual que será utilizada por el probador ZK de Ethereum). De esta manera, lograremos:
El principal inconveniente de este enfoque es que, a diferencia de EOF (implementación inmediata), la nueva máquina virtual tarda más en beneficiar a los desarrolladores. Para mitigar esto, podemos introducir algunas mejoras pequeñas pero de gran valor en EVM a corto plazo.Aumentar el límite de tamaño del código del contrato、Aumentar las instrucciones DUP/SWAP17-32, etc.)
En última instancia, esto nos dará una máquina virtual muy simplificada. Pero la pregunta más importante es: ¿qué pasa con el EVM existente?
Al simplificar significativamente (o incluso mejorar sin añadir complejidad) cualquier parte de la Máquina Virtual Ethereum (EVM), el mayor desafío es: cómo mantener la compatibilidad con las aplicaciones existentes al tiempo que se logra el objetivo.
En primer lugar, debe quedar claro que no hay una única forma de definir el alcance del “código base de Ethereum” (incluso dentro del mismo cliente).
El objetivo es minimizar el alcance del área verde tanto como sea posible: es decir, la lógica que los nodos deben ejecutar para participar en el consenso de Ethereum, incluyendo el cálculo del estado actual, la prueba, la validación, FOCIL (Capa de Integridad de Consenso de Primer Orden), construcción básica de bloques, etc.
El área naranja no se puede reducir: si se elimina una característica de capa de ejecución específica (ya sea una máquina virtual, precompilación u otro mecanismo) de la especificación del protocolo, o si su funcionalidad cambia, el cliente encargado de procesar bloques históricos aún debe retenerlo, pero es importante destacar que los nuevos clientes (como ZK-EVMs o verificadores formales) pueden ignorar completamente el área naranja.
La nueva categoría es el área amarilla: este tipo de código es muy importante para entender y analizar el estado actual de la cadena, y para construir los mejores bloques, pero no forma parte del consenso. Un ejemplo es Etherscan(Y algunosConstructor de Bloques) Soporte para operaciones de usuario ERC-4337. Si utilizamos una implementación RISC-V en cadena para reemplazar ciertas funciones grandes de Ethereum (como las cuentas EOA y su soporte para varios tipos de transacciones antiguas), entonces, a pesar de la simplificación significativa del código de consenso, algunos nodos profesionales aún pueden seguir utilizando el código original para analizar estas funciones.
Es importante que las áreas naranjas y amarillas pertenezcan a "Gate"Complejidad de encapsulamientoCualquiera que desee entender el protocolo puede omitirlos, los clientes de Ethereum también pueden optar por no implementarlos, y los errores en estas áreas no representarán un riesgo para el consenso. Esto significa que la complejidad del código y el impacto negativo causado por las áreas de naranja y amarillo son mucho menores que el área verde.
Transferir el código de la zona verde a la zona amarilla, este enfoque es similar a Apple Inc.Traducir a través de la capa de traducción de RosettaPara garantizar la compatibilidad a largo plazo.
Propuse (tomado de@ipsilon/eof-ethereums-gateway-to-risc-v”> El reciente proceso de migración de máquina virtual del equipo Ipsilon (utilizando la migración de EVM a RISC-V como ejemplo, pero también aplicable a la migración de EVM a Cairo, e incluso a la futura migración a una máquina virtual más óptima):
Después de completar el paso 4, seguirá habiendo muchas 'implementaciones de EVM' que se utilizarán para optimizar la construcción de bloques, las herramientas de desarrollo y el análisis en cadena, pero ya no formarán parte de las especificaciones clave del consenso. En ese momento, el consenso de Ethereum solo entenderá 'nativamente' RISC-V.
El tercer, y quizás el método de simplificación más subestimado, es compartir un estándar unificado en diversas partes de la pila de protocolos tanto como sea posible. Por lo general, no hay razón para utilizar diferentes protocolos para el mismo propósito en diferentes escenarios, pero esta situación aún ocurre con frecuencia en la realidad, principalmente debido a la falta de comunicación entre las diferentes partes de la hoja de ruta del protocolo. Aquí hay algunos ejemplos específicos de simplificación de Ethereum a través de la 'maximización del intercambio de componentes'.
Necesitamos corregir el código de eliminación en tres escenarios:
Si usamos el mismo código de borrado (ya sea Reed-Solomon, código lineal aleatorio u otro) en tres casos de uso, obtendremos algunas ventajas importantes:
Si de hecho se requieren diferentes códigos de corrección de errores, al menos se debe garantizar la 'compatibilidad': por ejemplo, en el escenario de DAS, se utiliza Reed-Solomon horizontalmente y el código lineal aleatorio se utiliza verticalmente, pero ambos se basan en el mismo campo matemático.
Actualmente, el formato de serialización de Ethereum es estrictamente hablando, solo "semi-estandarizado", ya que los datos pueden volver a serializarse y transmitirse en cualquier formato. La única excepción es el hash de firma de transacción, donde se requiere un formato estandarizado para el cálculo del hash.
Pero la estandarización de los formatos de serialización futuros se mejorará aún más, por dos razones:
En ese momento, tenemos la oportunidad de unificar las soluciones de serialización requeridas para los tres aspectos actuales: 1) capa de ejecución; 2) capa de consenso; 3) ABI de invocación de contrato inteligente.
Sugiero adoptar SSZ(Simple Serialize), porque SSZ tiene las siguientes ventajas:
Actualmente se han añadido más componentesMigraciónA SSZTrabajoAl planificar las futuras actualizaciones, debemos considerar y utilizar plenamente estos desarrollos.
Una vez que nos mudemos de EVM a RISC-V (u otra MV minimalista), el árbol de Merkle Patricia hexadecimal se convertirá en el mayor cuello de botella para probar la ejecución de bloques, incluso en escenarios promedio. Migrar a una función de hashÁrbol Binario, mejorará considerablemente la eficiencia del verificador y reducirá el costo de datos de nodos ligeros y otros escenarios.
Al completar la migración de la estructura del árbol, también debemos asegurarnos de que la capa de consenso utilice la misma estructura de árbol para garantizar que se pueda acceder y analizar todo Ethereum, tanto las capas de consenso como de ejecución, utilizando el mismo conjunto de código.
La simplificación y la descentralización tienen muchas similitudes. Ambas son requisitos previos necesarios para lograr el objetivo superior de la resiliencia del sistema. Enfatizar la simplificación explícitamente requiere un cambio cultural. Los beneficios de la simplificación a menudo son difíciles de ver en las etapas iniciales, pero los costos de oportunidad y la carga de trabajo adicional de rechazar esas 'nuevas características brillantes' son inmediatamente evidentes. Sin embargo, con el tiempo, el valor a largo plazo de la simplificación se vuelve cada vez más evidente: Bitcoin en sí mismo es un excelente ejemplo.
Sugiero queAprende del enfoque de tinygradPara establecer un objetivo claro de límite de líneas de código para la especificación a largo plazo de Ethereum, el objetivo es hacer que el código crítico de consenso de Ethereum se acerque lo más posible al estilo minimalista de Bitcoin. El código que trata de las reglas históricas de Ethereum seguirá existiendo pero debería estar aislado del camino crítico del consenso. Al mismo tiempo, deberíamos formar un principio de diseño universal: elegir soluciones más simples siempre que sea posible, priorizar la complejidad encapsulada sobre la complejidad sistémica y inclinarse hacia decisiones de diseño que proporcionen propiedades y garantías claras verificables.