Como todos sabemos, el desarrollo de Ethereum enfrenta nuevas dificultades. Ethereum respalda cantidades masivas de actividad económica todos los días, liquidando miles de millones de dólares en transacciones y ejecutando miles de DApps en los sectores en auge de DeFi y NFT. Sin embargo, los recursos espaciales limitados de Ethereum ya no pueden soportar demasiadas aplicaciones ni aceptar la afluencia de un gran número de usuarios. Cuando la red está congestionada, las transacciones se vuelven más caras y retrasadas, lo que supone una mayor carga financiera para los usuarios.
En vista de esto, para resolver el problema de expansión de Ethereum, los equipos relevantes han propuesto muchas soluciones técnicas, incluida la fragmentación. La fragmentación divide la red en múltiples pistas, procesa transacciones en paralelo de manera escalable horizontalmente, distribuye la capacidad de procesamiento y almacenamiento entre múltiples servidores, lo que resulta en un mayor rendimiento general. El concepto técnico de "no todo el mundo tiene que ejecutar todos los fragmentos" que se centra en la fragmentación se ha convertido en la clave para el nacimiento de los clientes ligeros.
Los clientes ligeros desempeñan un papel importante en la fragmentación de Ethereum, ya que permiten a los validadores verificar y sincronizar rápidamente diferentes fragmentos, resolviendo con éxito muchos problemas que ocurren durante el funcionamiento de las DApps. Las cadenas públicas como Polkadot y NEO, que también enfrentan dificultades como una expansión limitada y una gran capacidad de usuarios causada por el rápido desarrollo, también han iniciado la práctica de clientes ligeros, proporcionando un entorno más fluido y cómodo para un mejor diseño del paisaje ecológico de la aplicación. .
Marty McFly dijo una vez: "En el futuro, los clientes ligeros estarán en todas partes". Hay muchos ejemplos exitosos de esta aplicación liviana y fácil de usar. Entonces, ¿qué es exactamente un cliente ligero? ¿Cuáles son las optimizaciones y mejoras técnicas en comparación con los puertos de aplicaciones tradicionales? De cara al futuro, ¿qué desafíos hay que superar en el despliegue a gran escala de clientes ligeros? Este artículo se centrará en los temas anteriores y le brindará una idea del desarrollo y el futuro de los clientes ligeros.
¿Qué es un cliente ligero? Verificación fácil, respuesta rápida
Antes de comprender a los clientes ligeros, primero debemos comenzar con el concepto de clientes. Un cliente en informática es una pieza de hardware o software que se conecta a un servidor, al igual que un navegador de Internet es un cliente que se conecta a un sitio web para solicitar su contenido. En el mundo blockchain, los clientes son software que se conectan con otros clientes de manera punto a punto. Todos los clientes se comunican entre sí y forman una red, y cada cliente es un nodo.
Tomando a Ethereum como ejemplo, en el pasado solo había un tipo de nodo (también conocido como: nodo completo) responsable de verificar y transmitir transacciones y bloques en la red. Debido a las características operativas de Internet y blockchain, cada nodo completo debe descargar y verificar cada bloque, y cada transacción también debe someterse a una verificación y control de proceso completo. A medida que aumenta el número de usuarios y las aplicaciones orientadas a servicios, este tipo de control de nodo completo provocará los problemas mencionados anteriormente, como los altos costos y la verificación lenta, lo que obstaculizará el desarrollo a largo plazo de Ethereum.
Bajo este escenario, poco a poco surgió el concepto de clientes ligeros. Los clientes ligeros son un elemento clave en el ecosistema blockchain, ya que ayudan a los usuarios a acceder e interactuar con la cadena de bloques de manera segura y descentralizada sin tener que leer y escribir grandes cantidades de información en la cadena de bloques. Los clientes ligeros pueden interactuar con nodos completos con una confianza mínima y pueden demostrar la autenticidad de la información sin conocimiento previo. La función básica del cliente ligero es descargar cada vez que aparece un bloque en la red y enviar una solicitud de pruebas Merkle de un estado específico al cliente. Utiliza una tabla hash distribuida para rastrear los nodos de prefijo en lugar de utilizar el almacenamiento local. Obtiene directamente materiales de verificación de información de usuarios individuales en un método de "almacenamiento en la nube, verificación en la nube", lo que promueve un desarrollo más rápido de transacciones, entretenimiento y otras actividades.
En general, los clientes livianos abordan barreras importantes para la usabilidad y adopción de la tecnología. Como componente de la infraestructura Web3, los clientes ligeros permiten interactuar con la cadena de bloques de una manera que requiere menos recursos que ejecutar un nodo completo y pueden integrarse en aplicaciones de escritorio, web y móviles. Lo más importante es que no son confiables y sincronizan los encabezados de los bloques directamente desde sus pares. Los clientes ligeros funcionan emitiendo solicitudes a un único nodo completo, sincronizando los encabezados de bloque de la cadena de bloques para verificar la respuesta específica proporcionada por el nodo completo, logrando realmente "como máximo una vez".
Historias de éxito utilizando clientes ligeros
En la actualidad, ya sea Ethereum o Polkadot, todas las principales cadenas públicas han comenzado a introducir activamente el concepto técnico de clientes ligeros y continúan intentando diseñar aplicaciones de clientes ligeros en la cadena, esforzándose por cubrir varias DApps e infraestructura, proporcionando a los desarrolladores y Proporcionar a los usuarios una nueva experiencia operativa.
Esponjoso
Fluffy es un cliente ligero de Ethereum, un modo operativo desarrollado para el cliente Nimbus de Ethereum 2.0. Una red liviana y amigable para el cliente debe diseñar nodos que solo necesiten pagar una pequeña cantidad de espacio de almacenamiento y una pequeña carga de trabajo para participar en la red y contribuir, en lugar de requerir que cada nodo soporte una carga elevada. Fluffy es un cliente técnico que se adhiere a este concepto operativo. Permitirá que el cliente nimbus-eth1 se ejecute como un nodo de cliente ligero en la red. Al desarrollar el protocolo Portal Wire, logra apretones de manos con otros clientes para convertirse en un "puente". nodo". "Ingrese datos de estado para la red del portal y realice fácilmente una transmisión rápida de datos en la nube. Además, Fluffy admitirá un subconjunto de la API Ethereum JSON-PRC, por lo que instalaciones como billeteras pueden integrar directamente dichos clientes.
NEO
En el ecosistema de la comunidad tecnológica de NEO, existe un cliente ligero llamado Neo-Swift que puede interactuar con la cadena de bloques NEO. Está escrito y operado principalmente en lenguaje Swift-4. El proyecto Neo-Swift se creó principalmente por las siguientes razones: 1. Los desarrolladores quieren desarrollar aplicaciones iOS distribuidas con una amplia cobertura. 2. Una forma importante de construir una comunidad amigable para los desarrolladores es crear una plataforma que sea fácil de usar; desarrolladores que no son blockchain; 3. A muchos desarrolladores les gusta Swift y el desarrollo e implementación de dispositivos móviles es cada vez más importante. Se informa que Neo-Swift puede verificar de manera eficiente el historial de transacciones de los usuarios y el estado de la cuenta en la cadena, y proporciona un marco dinámico simulado para la interacción de la aplicación, lo que proporciona una nueva idea para la actualización y forja de la comunidad de tecnología ecológica NEO.
Conexión de sustrato
Substrate Connect es un cliente ligero basado en navegador para la cadena Substrate y se ha convertido en la última incorporación a la pila de tecnología Substrate. Este componente de infraestructura tan esperado proporciona a los desarrolladores y usuarios finales una forma más sencilla y rápida de aplicar aplicaciones, conectarse a la cadena Substrate de una manera completamente descentralizada y sin confianza, lo que permite que más servicios DApp y el desarrollo de DApps tengan una buena experiencia con las aplicaciones. Substrate Connect es una biblioteca de Javascript que proporciona un cliente ligero completamente funcional con extensiones, reemplazando el proceso tradicional de conectarse a la cadena Substrate a través de nodos RPC. Los desarrolladores de DApp ya no necesitan seguir los tediosos pasos de ejecutar un nodo completo local. La integración es fácilmente accesible directamente desde su DApp.
Helios
Helios es un cliente ligero de Ethereum lanzado por a16z Crypto, una conocida institución de capital de riesgo. Helios consta de una capa de ejecución y una capa de consenso. A diferencia de la mayoría de los clientes, acopla estrechamente las dos capas, por lo que los usuarios solo necesitan instalar y ejecutar un software para usar Helios. Además, Helios está escrito en base al lenguaje Rust; se sincroniza en dos segundos, no utiliza almacenamiento y proporciona acceso sin confianza a Ethereum. Su uso es básicamente el mismo que el de un nodo completo. Vale la pena mencionar que Helios convierte datos de un proveedor de RPC centralizado que no es de confianza a un RPC local verificablemente seguro al conectarse y trabajar con hashes de bloques de cadena de balizas previamente conocidos y RPC que no son de confianza, y verifica su autenticidad sin ejecutar un nodo completo. Debido a que Helios es tan liviano, los usuarios pueden acceder a datos de la cadena segura desde cualquier dispositivo (incluidos teléfonos móviles y extensiones de navegador), lo que realmente satisface la conveniencia de los clientes livianos.
De cara al futuro: Cómo superar las dificultades de los clientes ligeros
La aplicación de clientes ligeros se ha generalizado cada vez más, pero no se pueden ignorar las desventajas operativas que implican. Por ejemplo, los clientes ligeros no se vinculan directamente a los servicios de red, no pueden verificar otra información requerida que no sea la del cliente y no pueden transmitir datos directamente a otros nodos pares. En la actualidad, el ecosistema de la cadena pública enfatiza constantemente la tecnología de "cadena cruzada" para la transmisión de datos y el procesamiento eficiente. Los desarrolladores pueden aprender de la experiencia de la tecnología de cadena cruzada e intentar realizar puentes de datos para clientes ligeros. Actualización técnica y optimización funcional de clientes ligeros.
Además, los clientes ligeros también carecen de un mejor método de incentivos para los usuarios. Es bien sabido que los incentivos son la clave para la estabilidad del ecosistema. ¿Cómo permitir que los usuarios accedan a la cadena de bloques de manera descentralizada y segura, alentar a los usuarios e instituciones a ejecutar nodos completos, servir nodos ligeros y castigar los nodos completos maliciosos que brindan datos incorrectos? Quizás se pueda adoptar un sistema conceptual similar a la gobernanza "DAO" para la operación y gestión del ecosistema de clientes ligeros, formando un sistema de ciclo virtuoso entre "desarrolladores - clientes ligeros - usuarios".
De hecho, puede haber muchas soluciones técnicas, como optimizar el entorno operativo de los clientes ligeros e innovar las funciones de los clientes ligeros. En el futuro, los desarrolladores deberán seguir innovando y creando excelentes clientes ligeros para Web3.
Referencias:
¿Qué es un cliente ligero? y por qué necesitas saberlo
Introducción | Comenzando con el cliente ligero de la cadena de bloques Ethereum
SIGUIENTE Aula Comunitaria | Lección 26: Cómo crear un cliente ligero NEO
Introducción | Fluffy Client: un cliente extremadamente ligero para Ethereum
