Glosario
Infraestructura blockchain

Cliente ligero

Un cliente ligero es software de blockchain que verifica transacciones sin descargar la cadena entera: solo almacena datos compactos, como las cabeceras de los bloques, y solicita pruebas de las transacciones concretas que le interesan. Esto permite que teléfonos, navegadores y dispositivos de baja potencia interactúen con una blockchain que, de otro modo, requeriría cientos de gigabytes de almacenamiento y días de sincronización.

El diseño clásico, descrito en el whitepaper original de Bitcoin como verificación de pago simplificada (SPV), funciona descargando la cabecera de cada bloque y pidiendo luego a los nodos completos una prueba de Merkle de que una transacción determinada está incluida en uno de esos bloques. El cliente ligero puede comprobar la prueba matemáticamente, de modo que los nodos completos no pueden fabricar transacciones, aunque un cliente ligero sí confía en que la cadena de cabeceras con más trabajo o participación acumulados cumple las reglas de la red. Por ejemplo, una billetera móvil de Bitcoin que usa SPV puede confirmar que un pago dirigido a ti se ha minado sin almacenar el libro contable completo.

Un error común es creer que los clientes ligeros son simplemente billeteras que consultan el servidor de una empresa; un verdadero cliente ligero verifica las pruebas por sí mismo, mientras que muchas billeteras populares simplemente confían en la API de un proveedor, lo cual es más débil. Los clientes ligeros sacrifican algunas hipótesis de seguridad a cambio de accesibilidad: no pueden detectar todos los tipos de bloques no válidos como lo hace un nodo completo, pero reducen drásticamente el coste de usar una blockchain con relativamente poca confianza en terceros, y los diseños más recientes que usan pruebas de conocimiento cero buscan reducir aún más esa brecha de confianza.

Términos relacionados