Lo siguiente se basa en un Twitter Spaces reciente, con entusiastas de los clientes ligeros Phil Ngo, Gajinder Singh (Lodestar), Guillaume Ballet (Geth) y Matt Garnett (EF).
En Lodestar, hemos sido defensores desde hace mucho tiempo de los clientes ligeros, software que se conecta a nodos completos para interactuar con la cadena de bloques. Como alternativa respetuosa con los recursos y sin confianza a la ejecución de su propio nodo completo, los clientes ligeros reducen la necesidad de confiar en terceros. Aunque no confirman los bloques, son valiosos en términos de acceso directo a datos de blockchain no confiables.
Sin embargo, a pesar de todo su valor teórico, todavía hay trabajo para hacer que los clientes ligeros sean una parte estándar de la interacción con Ethereum. A continuación, profundizaremos en algunos desafíos (y avances) existentes y al mismo tiempo enfatizaremos la importancia de la falta de confianza sin obstaculizar la experiencia del usuario.
La forma más descentralizada y menos confiable de interactuar con Ethereum es ejecutar un nodo completo. Pero esta no es una tarea fácil: implica mantener una copia independiente de la cadena de bloques y acceso instantáneo y directo a la red peer-to-peer de Ethereum, que exige una cantidad sustancial de memoria, almacenamiento y CPU, lo que la hace inviable para muchos usuarios. Todo esto sin mencionar que, en muchos casos, no es necesario validar toda la cadena.
Las soluciones a este problema, como la apatridia, están a años de convertirse en realidad. Por ahora, sacrificar algunos beneficios de ejecutar un nodo completo para funcionar con requisitos mínimos de hardware es una solución prometedora sobre la que somos optimistas.
De hecho, publicamos un artículo sobre clientes ligeros el año pasado, defendiéndolos como una solución a algunos de nuestros problemas.
Con este fin, los clientes ligeros desempeñan un papel fundamental en los sistemas blockchain, ofreciendo a los usuarios que no desean ejecutar nodos completos acceso seguro a Ethereum sin sincronizar toda la red.
En lugar de almacenar datos de blockchain local y verificar los cambios de forma autónoma, los clientes ligeros adquieren los datos que necesitan de un proveedor, que podría conectarse directamente a un nodo completo. Luego, el nodo ligero procesa estos datos, lo que le permite confirmar que son parte de la cadena canónica y mantenerse actualizado.
Ethereum no es el único ecosistema que trabaja activamente con clientes ligeros.
Como todos sabemos, ejecutar un nodo completo implica tareas que consumen muchos recursos y limitaciones en cuanto a las capacidades del dispositivo y los requisitos computacionales. Si bien los clientes ligeros pueden parecer una alternativa simple, históricamente han sido difíciles de implementar.
Sin embargo, la fusión alteró fundamentalmente lo que significa ser un cliente ligero en Ethereum, tanto en términos de cómo funcionarán como de qué ofrecerán. El hard fork de Altair introdujo el comité de sincronización, es decir, una forma útil de obtener un ligero consenso sobre cuál es el jefe de la cadena. En esencia, se trata de una integración más nativa de clientes ligeros en el protocolo.
Con la prueba de participación, ahora tenemos un protocolo de cliente ligero en el que básicamente puedes elegir cualquier parte de la cadena, construir una prueba y profundizar. Esto no estaba disponible anteriormente, lo que hace que todo el espacio sea más interesante y anima a más personas a construir alrededor de clientes ligeros.
Probador de estrella polar
Una de las cosas en las que ha estado trabajando el equipo de Lodestar es en un probador. Es decir, usar la sincronización del cliente ligero para verificar los datos desde el lado de la ejecución, de modo que verificar que la información que obtiene de un proveedor (como Infura) sea correcta.
La esperanza es que cosas como esta agreguen otra capa de seguridad y un poco más de descentralización al protocolo. Este es también sólo un primer paso. Necesitamos ejemplos más concretos de lo que se puede construir con este potencial.
La respuesta a esto tiene menos que ver con el aspecto técnico y más con la adopción de las PoC y la infraestructura que tenemos (por ejemplo, la Biblioteca Prover).
Necesitamos agregar más capacidades de prueba con respecto a transacciones y recibos, lo que requeriría que pasemos a la codificación de transacciones SSZ, pero aparte de eso, en términos de protocolo, estamos ahí.
¡Podemos usar esta tecnología ahora mismo! Sin embargo, en términos de UX, necesitamos llegar a un lugar donde el cliente ligero simplemente se ejecute en segundo plano y no interrumpa a los usuarios ni requiera pasos adicionales por parte de ellos.
Por supuesto, es difícil forzar la adopción de algo en un espacio descentralizado, pero deberíamos pensar en cómo utilizar incentivos para promover esto y cómo podemos lograr que MetaMask, Rainbow, etc., también lo consideren.
Cambiar la estructura de datos para lograr una mayor eficiencia: pasar de la configuración del árbol Merkle Patricia a los árboles Verkle más nuevos es un punto de inflexión para los clientes livianos que, de otro modo, tendrían dificultades con tamaños de prueba elevados.
La introducción de los árboles Verkle aborda esta preocupación mediante una nueva estructura de datos. Mediante su uso innovador de técnicas basadas en polinomios, los árboles Verkle reducen sustancialmente el tamaño de las pruebas necesarias para la verificación, lo que hace que el proceso sea más manejable y ágil para los clientes ligeros.
“La idea es que gracias a Verkle tengas pequeñas pruebas. Y debido a eso, puedes brindarles a los clientes ligeros, llamémoslos clientes apátridas, una manera de verificar todo lo que se les ha dado para que haya menos confianza involucrada”.
Esta actualización significa un cambio fundamental en la forma en que los clientes ligeros interactúan con los datos de Ethereum, mejorando su capacidad para verificar de manera eficiente el estado de la cadena de bloques sin comprometer la seguridad o la confianza.
Esto no solo beneficia a los clientes ligeros actuales, sino que también sienta las bases para futuras innovaciones, creando un espacio donde los usuarios pueden operar con Ethereum de manera más fluida, segura y eficiente.
Este es un tema algo controvertido que actualmente está en debate. Según Guillaume, "Creo que no deberíamos armonizar la estructura de datos todavía porque las L2 están experimentando, son personas que se mueven rápido y rompen cosas, y la L1 es más cautelosa y un poco más conservadora".
La verdad es que probablemente necesitemos más tiempo para considerar la estandarización. Lo que tiene sentido con respecto al momento es una cuestión abierta, pero tal vez falten entre cinco y diez años antes de que la comunidad pueda siquiera pensar en un proceso de armonización.
Podría decirse que este retraso está justificado por la naturaleza compleja de las capas de Ethereum y el desafío de implementar cambios debido a las tecnologías y diseños que ya existen. La conclusión: deberíamos esperar un momento más adecuado para cualquier posible esfuerzo de estandarización, que permita una infraestructura Ethereum más madura y estabilizada.
Los creadores de Ethereum de todo el mundo se reunirán en Estambul, Türkiye, la próxima semana para Devconnect. ¡Únase a nosotros para la tercera versión de Light Client Summit, que incluirá presentaciones y debates sobre la dirección del desarrollo de clientes ligeros!
¿No puedes hacerlo? Estén atentos en Twitter, únase a la conversación en Telegram o participe en la acción a través de Discord #light-clients.
Lodestar es el cliente de consenso de Ethereum más nuevo creado con TypeScript y mantenido por CralshunSafe. Nuestro cliente y nuestras bibliotecas de código abierto hacen que el desarrollo en Ethereum sea accesible para el grupo de desarrolladores más grande del mundo. Centrándose en clientes ligeros, Lodestar tiene como objetivo mejorar la usabilidad de los datos verificables de blockchain para todo tipo de dispositivos y sus usuarios.
Contribuir a la diversidad de clientes. Ejecute Lodestar con nuestra guía de inicio rápido. ¿Tengo una pregunta? Pasate por nuestro Discord👋
Lo siguiente se basa en un Twitter Spaces reciente, con entusiastas de los clientes ligeros Phil Ngo, Gajinder Singh (Lodestar), Guillaume Ballet (Geth) y Matt Garnett (EF).
En Lodestar, hemos sido defensores desde hace mucho tiempo de los clientes ligeros, software que se conecta a nodos completos para interactuar con la cadena de bloques. Como alternativa respetuosa con los recursos y sin confianza a la ejecución de su propio nodo completo, los clientes ligeros reducen la necesidad de confiar en terceros. Aunque no confirman los bloques, son valiosos en términos de acceso directo a datos de blockchain no confiables.
Sin embargo, a pesar de todo su valor teórico, todavía hay trabajo para hacer que los clientes ligeros sean una parte estándar de la interacción con Ethereum. A continuación, profundizaremos en algunos desafíos (y avances) existentes y al mismo tiempo enfatizaremos la importancia de la falta de confianza sin obstaculizar la experiencia del usuario.
La forma más descentralizada y menos confiable de interactuar con Ethereum es ejecutar un nodo completo. Pero esta no es una tarea fácil: implica mantener una copia independiente de la cadena de bloques y acceso instantáneo y directo a la red peer-to-peer de Ethereum, que exige una cantidad sustancial de memoria, almacenamiento y CPU, lo que la hace inviable para muchos usuarios. Todo esto sin mencionar que, en muchos casos, no es necesario validar toda la cadena.
Las soluciones a este problema, como la apatridia, están a años de convertirse en realidad. Por ahora, sacrificar algunos beneficios de ejecutar un nodo completo para funcionar con requisitos mínimos de hardware es una solución prometedora sobre la que somos optimistas.
De hecho, publicamos un artículo sobre clientes ligeros el año pasado, defendiéndolos como una solución a algunos de nuestros problemas.
Con este fin, los clientes ligeros desempeñan un papel fundamental en los sistemas blockchain, ofreciendo a los usuarios que no desean ejecutar nodos completos acceso seguro a Ethereum sin sincronizar toda la red.
En lugar de almacenar datos de blockchain local y verificar los cambios de forma autónoma, los clientes ligeros adquieren los datos que necesitan de un proveedor, que podría conectarse directamente a un nodo completo. Luego, el nodo ligero procesa estos datos, lo que le permite confirmar que son parte de la cadena canónica y mantenerse actualizado.
Ethereum no es el único ecosistema que trabaja activamente con clientes ligeros.
Como todos sabemos, ejecutar un nodo completo implica tareas que consumen muchos recursos y limitaciones en cuanto a las capacidades del dispositivo y los requisitos computacionales. Si bien los clientes ligeros pueden parecer una alternativa simple, históricamente han sido difíciles de implementar.
Sin embargo, la fusión alteró fundamentalmente lo que significa ser un cliente ligero en Ethereum, tanto en términos de cómo funcionarán como de qué ofrecerán. El hard fork de Altair introdujo el comité de sincronización, es decir, una forma útil de obtener un ligero consenso sobre cuál es el jefe de la cadena. En esencia, se trata de una integración más nativa de clientes ligeros en el protocolo.
Con la prueba de participación, ahora tenemos un protocolo de cliente ligero en el que básicamente puedes elegir cualquier parte de la cadena, construir una prueba y profundizar. Esto no estaba disponible anteriormente, lo que hace que todo el espacio sea más interesante y anima a más personas a construir alrededor de clientes ligeros.
Probador de estrella polar
Una de las cosas en las que ha estado trabajando el equipo de Lodestar es en un probador. Es decir, usar la sincronización del cliente ligero para verificar los datos desde el lado de la ejecución, de modo que verificar que la información que obtiene de un proveedor (como Infura) sea correcta.
La esperanza es que cosas como esta agreguen otra capa de seguridad y un poco más de descentralización al protocolo. Este es también sólo un primer paso. Necesitamos ejemplos más concretos de lo que se puede construir con este potencial.
La respuesta a esto tiene menos que ver con el aspecto técnico y más con la adopción de las PoC y la infraestructura que tenemos (por ejemplo, la Biblioteca Prover).
Necesitamos agregar más capacidades de prueba con respecto a transacciones y recibos, lo que requeriría que pasemos a la codificación de transacciones SSZ, pero aparte de eso, en términos de protocolo, estamos ahí.
¡Podemos usar esta tecnología ahora mismo! Sin embargo, en términos de UX, necesitamos llegar a un lugar donde el cliente ligero simplemente se ejecute en segundo plano y no interrumpa a los usuarios ni requiera pasos adicionales por parte de ellos.
Por supuesto, es difícil forzar la adopción de algo en un espacio descentralizado, pero deberíamos pensar en cómo utilizar incentivos para promover esto y cómo podemos lograr que MetaMask, Rainbow, etc., también lo consideren.
Cambiar la estructura de datos para lograr una mayor eficiencia: pasar de la configuración del árbol Merkle Patricia a los árboles Verkle más nuevos es un punto de inflexión para los clientes livianos que, de otro modo, tendrían dificultades con tamaños de prueba elevados.
La introducción de los árboles Verkle aborda esta preocupación mediante una nueva estructura de datos. Mediante su uso innovador de técnicas basadas en polinomios, los árboles Verkle reducen sustancialmente el tamaño de las pruebas necesarias para la verificación, lo que hace que el proceso sea más manejable y ágil para los clientes ligeros.
“La idea es que gracias a Verkle tengas pequeñas pruebas. Y debido a eso, puedes brindarles a los clientes ligeros, llamémoslos clientes apátridas, una manera de verificar todo lo que se les ha dado para que haya menos confianza involucrada”.
Esta actualización significa un cambio fundamental en la forma en que los clientes ligeros interactúan con los datos de Ethereum, mejorando su capacidad para verificar de manera eficiente el estado de la cadena de bloques sin comprometer la seguridad o la confianza.
Esto no solo beneficia a los clientes ligeros actuales, sino que también sienta las bases para futuras innovaciones, creando un espacio donde los usuarios pueden operar con Ethereum de manera más fluida, segura y eficiente.
Este es un tema algo controvertido que actualmente está en debate. Según Guillaume, "Creo que no deberíamos armonizar la estructura de datos todavía porque las L2 están experimentando, son personas que se mueven rápido y rompen cosas, y la L1 es más cautelosa y un poco más conservadora".
La verdad es que probablemente necesitemos más tiempo para considerar la estandarización. Lo que tiene sentido con respecto al momento es una cuestión abierta, pero tal vez falten entre cinco y diez años antes de que la comunidad pueda siquiera pensar en un proceso de armonización.
Podría decirse que este retraso está justificado por la naturaleza compleja de las capas de Ethereum y el desafío de implementar cambios debido a las tecnologías y diseños que ya existen. La conclusión: deberíamos esperar un momento más adecuado para cualquier posible esfuerzo de estandarización, que permita una infraestructura Ethereum más madura y estabilizada.
Los creadores de Ethereum de todo el mundo se reunirán en Estambul, Türkiye, la próxima semana para Devconnect. ¡Únase a nosotros para la tercera versión de Light Client Summit, que incluirá presentaciones y debates sobre la dirección del desarrollo de clientes ligeros!
¿No puedes hacerlo? Estén atentos en Twitter, únase a la conversación en Telegram o participe en la acción a través de Discord #light-clients.
Lodestar es el cliente de consenso de Ethereum más nuevo creado con TypeScript y mantenido por CralshunSafe. Nuestro cliente y nuestras bibliotecas de código abierto hacen que el desarrollo en Ethereum sea accesible para el grupo de desarrolladores más grande del mundo. Centrándose en clientes ligeros, Lodestar tiene como objetivo mejorar la usabilidad de los datos verificables de blockchain para todo tipo de dispositivos y sus usuarios.
Contribuir a la diversidad de clientes. Ejecute Lodestar con nuestra guía de inicio rápido. ¿Tengo una pregunta? Pasate por nuestro Discord👋