Los clientes ligeros son un elemento clave en el ecosistema blockchain. Ayudan a los usuarios a acceder e interactuar con la cadena de bloques de forma segura y descentralizada sin sincronizar toda la cadena de bloques. En este artículo, explicaré en términos simples qué es un cliente ligero, qué no es y de dónde viene.
Antes de hablar de qué es un cliente ligero, empecemos por aclarar qué es un cliente. Un cliente en informática es una pieza de hardware o software que se conecta a un servidor. Por ejemplo, un navegador de Internet es un cliente que se conecta al servidor de un sitio web para solicitar su contenido. En el contexto de blockchain, un cliente es un software que se conecta a otros clientes de igual a igual. Debido a que todos estos clientes se comunican entre sí, forman una red donde cada cliente es un nodo. Es por eso que también se usa el término nodo en lugar de cliente.
En el caso de Ethereum, solía haber un solo tipo de nodo, que ahora se llama nodo completo. Este software se encarga de validar y retransmitir transacciones y bloqueos en la red. Debido al entorno sin confianza (Internet abierto) y la naturaleza de la cadena de bloques, cada nodo completo necesita descargar y verificar cada bloque, por lo que cada transacción se verifica en cada bloque.
Parity Ethereum y Geth, dos de los clientes de Ethereum más populares, se pueden ejecutar en una computadora portátil de potencia moderada en la actualidad. Sin embargo, descargar y validar los bloques de toda la cadena de bloques requiere tiempo y recursos. Por ejemplo, ahora se requiere un SSD para sincronizar completamente la cadena de bloques de Ethereum. Los discos duros no pueden mantenerse al día con las operaciones de entrada/salida requeridas por segundo.
Caso de uso de nodo completo
Hoy en día, las organizaciones y las personas ejecutan nodos completos debido a sus necesidades comerciales. Piense en mineros, exploradores de bloques, intercambios. Es posible que los usuarios individuales deseen ejecutar nodos completos, ya que esta es la forma más segura de interactuar con la cadena de bloques. En menor escala, también pueden ser puramente altruistas para ayudar a la red. Ejecutar un nodo completo las 24 horas del día, los 7 días de la semana requiere un buen nivel de conocimiento y recursos, y es comprensible que la mayoría de los usuarios no estén dispuestos a invertir. Aparte de los mineros, no existe un incentivo incorporado para ejecutar un nodo completo, aunque esta pieza de infraestructura es fundamental para la red.
Como resultado, la mayoría de los usuarios que interactúan con la cadena de bloques, voluntariamente o no, utilizan una infraestructura central. Las carteras de software más populares se basan en nodos alojados de terceros de forma predeterminada. Estos clientes se conectan a nodos remotos y confían plenamente en sus respuestas de una manera no autenticada criptográficamente. El lado positivo es obviamente una experiencia de usuario mejorada, ya que los usuarios de estas billeteras no necesitan ejecutar sus propios nodos. Sin embargo, se ven obligados a confiar en los nodos de terceros. De forma predeterminada, Metamask, MyEtherWallet y MyCrypto se conectan a nodos remotos, pero los usuarios aún pueden conectarse a sus propios nodos locales si así lo desean. Este no es el caso de las billeteras Jaxx o Exodus, que se conectan a nodos remotos de forma predeterminada sin la opción de conectarse al nodo local del usuario. Aquí no se mencionan las billeteras móviles, ya que los teléfonos no pueden ejecutar nodos completos.
Empresas como Infura se dedican a ejecutar nodos completos y ponerlos a disposición de forma gratuita para quienes los necesitan. Elimina la molestia de sincronizar un nodo completo, lo que permite que cualquier usuario acceda fácilmente a la cadena de bloques. Soluciones como esta ayudan a que Ethereum sea accesible para más usuarios. Sin embargo, si bien este movimiento es una gran adición al ecosistema, representa un único punto de falla centralizado que va en contra de la idea de una cadena de bloques descentralizada. Hasta hace unos meses, los desarrolladores de billeteras no tenían otras opciones.
"Nuestro objetivo es crear un protocolo que sea compatible con diversos grados de 'ligereza', desde clientes que no almacenan casi nada hasta clientes que almacenan casi todo".
— PIP, Protocolo de luz de paridad(https://wiki.parity.io/The-Parity-Light-Protocol-%28PIP%29)
Alternativa ligera: clientes ligeros
Los clientes ligeros o nodos ligeros son software que se conectan a nodos completos para interactuar con la cadena de bloques. A diferencia de sus contrapartes de nodo completo, los nodos ligeros no necesitan ejecutarse las 24 horas del día, los 7 días de la semana ni leer y escribir grandes cantidades de información en la cadena de bloques. De hecho, los clientes ligeros no interactúan directamente con la cadena de bloques, sino que utilizan nodos completos como intermediarios. Los clientes ligeros confían en nodos completos para realizar muchas operaciones, desde solicitar los últimos encabezados de bloque hasta solicitar saldos de cuenta.
El protocolo de cliente ligero está diseñado de tal manera que les permite interactuar con nodos completos con una confianza mínima. Este es un aspecto clave para entender, así que repasemos los conceptos básicos de la cadena de bloques de Ethereum:
1. Los usuarios comunes usan nodos completos, nodos ligeros o nodos remotos confiables para enviar transacciones en la red.
2. Los nodos completos reciben transacciones de los nodos pares en la red, verifican la validez de esas transacciones y las transmiten a la red.
3. Los mineros son nodos completos conectados a un software específico. Reciben y verifican transacciones de la red como un nodo completo normal, pero hacen un gran esfuerzo adicional para encontrar una solución al problema antes de que se les permita generar el siguiente bloque. Los nodos completos utilizados por los mineros llegan a un consenso sobre qué bloque se debe agregar a la cadena de bloques y construir sobre él. Cualquier bloque que tenga al menos 10 bloques construidos se considera seguro porque las transacciones que contiene tienen una probabilidad muy baja de ser revertidas.
Ahora, volvamos a nuestro cliente ligero. Como punto de partida, los clientes ligeros deben descargar los encabezados de bloque de la cadena de bloques. Un cliente ligero no necesita confiar en el nodo completo para cada solicitud que realiza al nodo completo. Esto se debe a que el encabezado del bloque contiene una información llamada raíz del árbol de Merkle. La raíz de Merkle es la huella digital de toda la información almacenada en los saldos de las cuentas y los contratos inteligentes en la cadena de bloques. Si alguna información leve cambia, esta huella digital también cambiará. Suponiendo que la mayoría de los mineros son honestos, los encabezados de bloque y las huellas digitales que contienen se consideran válidos. Un cliente ligero puede necesitar solicitar información de un nodo completo, como el saldo de una cuenta en particular. Conociendo la huella de cada bloque, el cliente ligero puede verificar si la respuesta dada por el nodo completo coincide con la huella que tiene. Esta es una poderosa herramienta para probar la autenticidad de la información sin conocimiento previo.
Dado que los clientes ligeros necesitan enviar múltiples solicitudes para realizar operaciones simples, el ancho de banda de red general requerido es mayor que el de un nodo completo. Por otro lado, los recursos y el almacenamiento requeridos son órdenes de magnitud inferiores a los de un nodo completo, al tiempo que se logra un nivel de seguridad muy alto. ¡Al requerir solo alrededor de 100 MB de espacio de almacenamiento y poca potencia informática, los nodos ligeros pueden ejecutarse en dispositivos móviles! Esto significa que los teléfonos móviles pueden acceder a la cadena de bloques de forma descentralizada.
Debido a que solo se requiere una fracción de la información de un nodo completo, un nodo ligero puede sincronizarse con la cadena de bloques más rápido. Actualmente, solo toma alrededor de una hora para que un cliente ligero sincronice toda la cadena de bloques de la red principal de Ethereum, pero más de unos segundos para que un nodo se sincronice es demasiado para cualquier aplicación. Las soluciones desarrolladas para clientes ligeros pueden sincronizarse rápidamente con la parte superior de la cadena de bloques, aunque a menudo vienen con compensaciones. Actualmente, los clientes ligeros tienen un punto de control de cadena de bloques de confianza integrado en su código. Debido a esto, los clientes solo necesitan descargar los últimos encabezados de bloque y pueden sincronizarse en segundos. Los usuarios de clientes ligeros confían en los desarrolladores de clientes para integrar puntos de control válidos. Esta compensación se considera aceptable, ya que los usuarios ya necesitan confiar en los desarrolladores de las implementaciones de los clientes. Para realizar rápidamente sincronizaciones de manera descentralizada, Parity Technologies ha desarrollado actualmente una solución alternativa que permite a los clientes ligeros realizar sincronizaciones warp de manera similar a los nodos completos (https://wiki.parity.io/Warp-Sync).
En el futuro, los clientes ligeros estarán en todas partes. —Marty McFly
El reto de los clientes ligeros
Los clientes ligeros son excelentes para las aplicaciones principales, como enviar algunas transacciones y verificar los saldos de las cuentas. La principal crítica a los clientes ligeros es que no ayudan directamente a la red. No verifican ninguna información que no sea la información que necesitan, ni proporcionan ni transmiten información de la red a otros nodos pares, y utilizan recursos de nodos completos sin proporcionar nada a cambio.
En comparación con los nodos completos, los clientes ligeros brindan una mejor experiencia para el usuario final y les permiten acceder a la cadena de bloques de manera descentralizada y segura. La clave es encontrar una manera de incentivar a las personas y las instituciones para que ejecuten nodos completos, sirvan nodos ligeros y castiguen a los nodos completos maliciosos que entregan datos incorrectos. Una forma de hacer que los clientes ligeros sean sostenibles es hacer que realicen micropagos por cada solicitud realizada por un nodo completo. En un futuro cercano, los clientes ligeros desempeñarán un papel importante en la fragmentación de Ethereum, lo que permitirá a los validadores sincronizar rápidamente diferentes fragmentos. Los clientes ligeros también se pueden usar para informar a actores maliciosos (validadores o autoridades de plasma). Los incentivos de clientes ligeros para nodos completos son un área activa de investigación, ya que los incentivos son clave para la estabilidad del ecosistema.
Hay algunas ideas prometedoras para permitir que los clientes ligeros se sincronicen rápidamente y eviten las compensaciones antes mencionadas. Una idea es permitir que los nodos completos proporcionen pruebas de conocimiento cero de los últimos encabezados de bloque conocidos (p. ej., zk-STARK https://eprint.iacr.org/2018/046.pdf). Los clientes ligeros pueden verificarlo y sincronizarlo con la parte superior de la cadena sin conocimiento previo del estado de la cadena de bloques.
En resumen, a corto plazo, los clientes ligeros se convertirán en la columna vertebral de las aplicaciones descentralizadas, lo cual es una muy buena noticia para un ecosistema distribuido fácil de usar.
Original: https://www.parity.io/what-is-a-light-client/
Tags:
La historia siempre se repite. A principios de 2019, la industria de la cadena de bloques continuaba en un mercado bajista.
Tendencias generales del mercado A partir de ahora, la capitalización de mercado total del mercado global de criptomonedas es de aproximadamente 191.
El volumen total de bloqueo del protocolo DeFi en la cadena Fantom es de 7.810 millones de dólares estadounidenses, un aumento del 11,41 % en 24 horas: Jinse Finance informó que, según los datos de DefiLlama.
Los clientes ligeros son un elemento clave en el ecosistema blockchain.
Con tecnologías de vanguardia como IA, macrodatos, Internet de las cosas, 5G y biometría que adoptan la cadena de bloques, "cadena de bloques + pago".
Jinjin Finance News, recientemente, Second State lanzó el nuevo software Ewasm.
1. ¿Es la demanda de datos lo que determina el futuro de la cadena de bloques?La tecnología Blockchain puede resolver algunos de los problemas heredados de Internet.