Un agradecimiento especial a Micah Zoltu, Toni Wahrstätter, Justin Traglia y pcaversaccio por la discusión
La crítica más común de aumentar el límite de gas L1, más allá de las preocupaciones sobre la seguridad de la red, es que hace más difícil ejecutar un nodo completo.
Especialmente en el contexto de un roadmap centrado endesagregaciónel nodo completo, abordar esto requiere comprender para qué sirven los nodos completos.
Históricamente, se ha pensado que los nodos completos son para validar la cadena; veraquípara mi propia exposición de lo que podría suceder si los usuarios regulares no pueden verificar. Si este es el único problema, entonces la escalabilidad L1 se desbloquea mediante ZK-EVMs: el único límite es mantener los costos de construcción de bloques y de demostración lo suficientemente bajos como para que ambos puedan permanecer1-de-nresistente a la censura y un mercado competitivo.
Sin embargo, en realidad, esta no es realmente la única preocupación. La otra preocupación importante es: es valioso tener un nodo completo para que pueda tener un servidor RPC local que pueda usar para leer la cadena de manera confiable, resistente a la censura y amigable con la privacidad. Este documento discutirá los ajustes al actual plan de escalado L1 que hacen que esto suceda.
La hoja de ruta de privacidad que publiqué el mes pasadose centra en TEEs +ORAMcomo un parche a corto plazo plusPIRcomo solución a largo plazo. Esto, junto con la verificación de Helios y ZK-EVM, permitiría a cualquier usuario conectarse a RPC externos y tener plena confianza en que (i) la cadena que están obteniendo es correcta y (ii) su privacidad de datos está protegida. Entonces, vale la pena hacer la pregunta: ¿por qué no detenerse aquí? ¿No hacen este tipo de soluciones criptográficas avanzadas que los nodos autohospedados sean un vestigio obsoleto?
Aquí puedo dar algunas respuestas:
Por estas razones, tiene valor seguir asegurando una mayor facilidad para ejecutar un nodo personal.
Una vez que habilitamos la verificación sin estado, se vuelve posible ejecutar un nodo capaz de RPC (es decir, uno que almacena el estado) sin almacenar ramas de Merkle de estado. Esto reduce aún más los requisitos de almacenamiento en ~2x.
Esta es la nueva idea, y será clave para permitir la operación de nodo personal incluso en un contexto donde el límite de gas L1 crezca de 10 a 100 veces.
Agregamos un tipo de nodo que verifica los bloques de manera sin estado, y verifica toda la cadena (ya sea a través de validación sin estado o ZK-EVM) y mantiene actualizada una parte del estado. El nodo es capaz de responder a las solicitudes RPC siempre que los datos requeridos estén dentro de ese subconjunto del estado; otras solicitudes fallarán (o tendrán que recurrir a una solución criptográfica alojada externamente; si hacerlo o no debe ser elección del usuario).
partial_statelessness.drawio776×341 19.9 KB
La parte exacta del estado que se mantendrá dependerá de una configuración elegida por el usuario. Algunos ejemplos podrían ser:
La configuración podría ser gestionada por un contrato en cadena: un usuario ejecutaría su nodo con —save_state_by_config 0x12345…67890, y la dirección especificaría en algún lenguaje una lista de direcciones, espacios de almacenamiento u otras regiones filtradas del estado que el nodo guardaría y mantendría actualizadas. Tenga en cuenta que no es necesario que el usuario guarde ramas de Merkle; solo necesitan guardar los valores en bruto.
Este tipo de nodo proporcionaría los beneficios de acceso local directo al estado que un usuario necesita tener en cuenta, así como la máxima privacidad total de acceso a ese estado.
Un agradecimiento especial a Micah Zoltu, Toni Wahrstätter, Justin Traglia y pcaversaccio por la discusión
La crítica más común de aumentar el límite de gas L1, más allá de las preocupaciones sobre la seguridad de la red, es que hace más difícil ejecutar un nodo completo.
Especialmente en el contexto de un roadmap centrado endesagregaciónel nodo completo, abordar esto requiere comprender para qué sirven los nodos completos.
Históricamente, se ha pensado que los nodos completos son para validar la cadena; veraquípara mi propia exposición de lo que podría suceder si los usuarios regulares no pueden verificar. Si este es el único problema, entonces la escalabilidad L1 se desbloquea mediante ZK-EVMs: el único límite es mantener los costos de construcción de bloques y de demostración lo suficientemente bajos como para que ambos puedan permanecer1-de-nresistente a la censura y un mercado competitivo.
Sin embargo, en realidad, esta no es realmente la única preocupación. La otra preocupación importante es: es valioso tener un nodo completo para que pueda tener un servidor RPC local que pueda usar para leer la cadena de manera confiable, resistente a la censura y amigable con la privacidad. Este documento discutirá los ajustes al actual plan de escalado L1 que hacen que esto suceda.
La hoja de ruta de privacidad que publiqué el mes pasadose centra en TEEs +ORAMcomo un parche a corto plazo plusPIRcomo solución a largo plazo. Esto, junto con la verificación de Helios y ZK-EVM, permitiría a cualquier usuario conectarse a RPC externos y tener plena confianza en que (i) la cadena que están obteniendo es correcta y (ii) su privacidad de datos está protegida. Entonces, vale la pena hacer la pregunta: ¿por qué no detenerse aquí? ¿No hacen este tipo de soluciones criptográficas avanzadas que los nodos autohospedados sean un vestigio obsoleto?
Aquí puedo dar algunas respuestas:
Por estas razones, tiene valor seguir asegurando una mayor facilidad para ejecutar un nodo personal.
Una vez que habilitamos la verificación sin estado, se vuelve posible ejecutar un nodo capaz de RPC (es decir, uno que almacena el estado) sin almacenar ramas de Merkle de estado. Esto reduce aún más los requisitos de almacenamiento en ~2x.
Esta es la nueva idea, y será clave para permitir la operación de nodo personal incluso en un contexto donde el límite de gas L1 crezca de 10 a 100 veces.
Agregamos un tipo de nodo que verifica los bloques de manera sin estado, y verifica toda la cadena (ya sea a través de validación sin estado o ZK-EVM) y mantiene actualizada una parte del estado. El nodo es capaz de responder a las solicitudes RPC siempre que los datos requeridos estén dentro de ese subconjunto del estado; otras solicitudes fallarán (o tendrán que recurrir a una solución criptográfica alojada externamente; si hacerlo o no debe ser elección del usuario).
partial_statelessness.drawio776×341 19.9 KB
La parte exacta del estado que se mantendrá dependerá de una configuración elegida por el usuario. Algunos ejemplos podrían ser:
La configuración podría ser gestionada por un contrato en cadena: un usuario ejecutaría su nodo con —save_state_by_config 0x12345…67890, y la dirección especificaría en algún lenguaje una lista de direcciones, espacios de almacenamiento u otras regiones filtradas del estado que el nodo guardaría y mantendría actualizadas. Tenga en cuenta que no es necesario que el usuario guarde ramas de Merkle; solo necesitan guardar los valores en bruto.
Este tipo de nodo proporcionaría los beneficios de acceso local directo al estado que un usuario necesita tener en cuenta, así como la máxima privacidad total de acceso a ese estado.