Solid, la nueva propuesta para descentralizar la Web

Solid es el proyecto con el que Tim Berners-Lee, creador de la World Wide Web (WWW), quiere descentralizar Internet sin utilizar tecnología blockchain. El proyecto, según figura en su página web se lleva a cabo en el MIT y tiene como objetivo cambiar radicalmente la forma en que funcionan las aplicaciones web en la actualidad. El resultado sería la verdadera propiedad de los datos y una mayor privacidad.

En la actualidad son muchas las compañías que trabajan en la construcción de la web descentralizada, conocida como Web3, con proyectos de todo tipo basados en tecnología blockchain. Pero la propuesta de Berners-Lee se aleja de todo lo que se conoce como Web3. Su idea es construir un Internet descentralizado económico, rápido y realmente privado.

Berners-Lee cree que la tecnología blockchain no es lo suficientemente buena para desplegar servicios en la Web. Le preocupa que los registros de blockchain sean públicos y que pese a que se ha avanzado mucho en privacidad, todavía  queden resquicios por las que un tercero puede analizar y rastrear la actividad de los usuarios.

Te contamos cómo es el nuevo stack tecnológico de ImmutableX para Web3

El creador de la web también piensa que los servicios blockchain resultan caros. Cada transacción en la red tiene un coste asociado y el mantenimiento de su infraestructura puede tener un precio elevado en algunos casos. Dos cuestiones que impiden un internet para todos, que fue la idea de Tim cuando creo la WWW.

Tim Berners-Lee, el visionario detrás de Internet y Solid

Berners-Lee es un visionario. Sus ideas han calado profundamente en distintos proyectos, como Xanadú, un Internet tridimensional que se remonta a los años 60. Una de las cosas que más sorprende del creador de la web es su cercanía al movimiento cypherpunk y su dedicación a proteger la libertad y la neutralidad de Internet. Tim se ha destacado siempre por su lucha y papel protagonista en la construcción de estándares para proteger la libertad y neutralidad.

Por qué Blockchain y Play2Earn están cambiando la economía de los videojuegos

Sir Tim Berners Lee, creador de la WWW y Solid
Sir Tim Berners Lee, creador de la WWW y Solid

Es el fundador del Consorcio de la World Wide Web (W3C), la máxima autoridad en el desarrollo de tecnologías para la Web en todo el mundo. Tim nunca ha abusado de su liderazgo. Al contrario, W3C ha servido para que Internet sea un espacio abierto para todos, acompañando a otros gigantes. Como la Electronic Frontier Foundation (EFF) o la Free Software Foundation (FSF). incluso, ha discutido con los gobiernos de Estados Unidos y Reino Unido en pro de la libertad y la neutralidad de Internet.

Las 10 compañías de videojuegos que trabajan en juegos blockchain Play to Earn

Qué es Solid

La propuesta de Tim Berners-Lee con Solid es sencilla: permitir un Internet descentralizado para todos. Para ello, Solid quiere usar los actuales estándares de Internet propuestos por la W3C. Solid se presenta como un protocolo para ayudar a construir Solid Server y Solid Pods.

Solid y su web oficial
Web oficial de Solid

Solid Server hace referencia a servidores que pueden desplegarse de manera personal o de la mano de iniciativas privadas.  Como los actuales hostings o VPS, que sostienen la mayor parte del funcionamiento de Internet. El papel de un Solid Server es sostener varios Solid Pods, que serían las instancias de ejecución de los servicios que se busca descentralizar.

De esta forma, cada Solid Pod es una instancia controlada por el usuario, a la que solo él puede tener acceso a sus datos, ya que estas están abstraídas del espacio de ejecución de los Solid Servers. Esto quiere decir que si bien un Solid Server puede hostear cientos o incluso miles de Solid Pods, el administrador del Server no puede acceder a los datos de los usuarios y, en caso de hacerlo, quedarían las huellas del acceso. Pero se llevaría la sorpresa de que dichos datos están cifrados y no podría  leer nada.

¿Qué es Eluvio, el competidor de Netflix elegido por Warner Bros para Web3?

La idea con esta estructura es sencilla:

  1. Si el usuario no puede o no cuenta con  la capacidad de crear su propio server, puede usar un server de un tercero con confianza porque sabe que sus datos están protegidos.
  2. Si el usuario puede gestionar su propio server puede crearlo y gestionar sus pods a su antojo.

El potencial de los Pods y del Server es mucho más amplio, ya que las reglas se pueden manejar según la necesidad de usuarios y operadores. Por ejemplo, si un Pod le da acceso a ciertos datos a otro usuario usando otro Pod, este podrá hacerlo. Incluso, podrá quitar ese acceso una vez se complete la tarea. De esta forma, los Pods pueden enviar y recibir información entre ellos. Todo ello con un control de acceso que permite a sus usuarios chequear el acceso a sus datos, según sus propias condiciones.

Un funcionamiento en base a estándares

Ahora bien ¿Cómo gestiona todo esto Solid? ¿Cómo hago para hacer login a un Pod de forma segura con una única identidad tal como si fuera una blockchain con un monedero Web3? Aquí es donde entran en juego los estándares Web. Desde hace muchos años existen una serie de estándares de ID Digital que se pueden usar. OAuth y OpenID son los dos más extendidos.

NomuLabs y Observatorio Blockchain comercializan Píldoras Web3 para regalar en Navidad

OpenID es un estándar para la identidad digital y OAuth es un estándar para la autorización de acceso que se usa desde hace mucho en la Web. Por ejemplo, cuando entras en tu Drive usando aplicaciones de terceros, Google obliga a esta aplicación de terceros a usar OAuth para solicitar el acceso a sus servicios Drive. Lo mismo pasa cuando intentas acceder a Gmail usando una aplicación como K9-Mail (en Android) o Thunderbird (en Windows, Mac o GNU/Linux). En todos los casos, OAuth es utilizada para garantizar los accesos. Así, Solid ya tiene dos formas de garantizar la identidad y un control de acceso granular a sus servicios.

Prohibir el acceso a IPs

Asimismo, el acceso a datos se da a través de un framework ACL (Access Control List) que indica al Pod qué identidades tienen acceso, a qué recursos pueden acceder, qué acciones pueden realizar y qué es lo que está prohibido. La granularidad en este punto es enorme, pudiendo incluso prohibir el acceso al Pod desde determinadas ubicaciones, con determinadas versiones de software. De esta forma, el usuario en control del Pod puede prohibir el acceso a IPs atacantes conocidas o a ciertos Pods con versiones vulnerables o no compatibles por su antigüedad. Lo mejor es que todo esto puede configurarse desde un panel de control a través de la Web.

Ledger presenta Stax como el «smartphone» para comercializar valor digital en la Web3

Otras funciones que podemos encontrar en Solid es su capacidad de usar notificaciones para enviar mensajes en la red y al resto de nodos que tenemos conectados. Por ejemplo, esto nos permitirá tener un pod blogger que enviará notificaciones a los pods de nuestros lectores avisando que hemos creado una nueva entrada. Para estas funciones, los Pods usarán estándares Web HTML5, com los WebSockets, WebSub, WebHooks y Linked Data Notifications (LND). De esta forma, todo el funcionamiento de los Pods recae en estándares que llevan con nosotros desde hade mucho tiempo y que están ampliamente soportados por la industria y nuestros navegadores Web en la actualidad.

Rendimiento y desarrollo con herramientas conocidas

Una de las mejores cosas de Solid es que ofrece un nivel de rendimiento y desarrollo únicos. Al prescindir de blockchain, las operaciones que realizamos en un Pod son limitadas por dos cosas: el poder computacional del Pod y nuestra conexión a Internet. De hecho, los Pods pueden escalar su rendimiento de forma exponencial, si usamos computadores más potentes o computación distribuida, lo que deja muy atrás la capacidad de escalabilidad de blockchain. Hablar de transacciones por segundo en este contexto es fútil. Un Pod bien implementado será siempre más rápido que una Dapp Web3 sobre blockchain, sin importar la velocidad de la blockchain.

¿Qué son las DAO, para qué sirven y cómo funcionan?

Si a esto añadimos que los Pods pueden construirse usando cualquier lenguaje de programación que uno pueda imaginar, estamos claramente ante una propuesta superior para el desarrollo de aplicaciones descentralizadas. Solid cuenta en la actualidad con servidores que permiten desarrollar utilizando herramientas como Node (JavaScript/TypeScript) o PHP. Pero las posibilidades pueden ampliarse, ya que el protocolo Solid es software libre, así que cualquiera puede crear Pods/Servers usando cualquier lenguaje de programación.

Cómo dar los primeros pasos hacia Web3, el internet de blockchain

Esta flexibilidad dota a Solid de una enorme ventaja: la capacidad de usar proyectos ya existentes y embeberlos dentro de un Pod con las modificaciones pertinentes. Ciertamente, se trata de una ventaja enorme, porque proyectos como la red social Mastodon podrían ser mucho más sencillos de manejar. Sería más fácil integrarlos a desarrollos como Solid que a desarrollos Web3 sobre blockchain, con las ventajas de rendimiento, costes y facilidad de mantenimiento que esto supone.

Probando Solid

De hecho, gracias a lo anterior, resulta muy fácil desplegar un Server de Solid. En este caso, hemos decidido usar el servidor Community Solid Server, que usa Node para su funcionamiento. Para usarlo, basta con instalar Node y npm, para luego ejecutar la siguiente línea de comando:

npm install -g @solid/community-server

Una vez instalado basta con ejecutar:

community-solid-server

Y con ello ya estaremos ejecutando una instancia de Solid Server en nuestro computador.

Ejecutando nuestra propia instancia de Solid con Nodejs
Ejecutando nuestra propia instancia de Solid con Nodejs

Iniciar una instancia Solid es tán sencillo como tener un hosting VPS y comenzar a realizar este procedimiento. Si eres de los  que no quieren complicaciones, te gustará saber que puedes usar Server de terceros que facilitan esta tarea.

Proveedores públicos de instancias Solid
Proveedores públicos de instancias Solid

Cambio de ciclo: despedidos de la Web2, a la búsqueda del trabajo en Web3

Tras la investigación realizada por Observatorio Blockchain, podemos decir que Solid se muestra como intento serio de descentralizar la Web sin salir de los estándares ya conocidos de la Web. Nombres como Oracle, DigitalOcean, W3C, Inrupt (fundada por Tim Berners-Lee) y Amazon ya forman parte de su ecosistema. Todo parece apuntar que una vez que Solid complete su protocolo en 2023 seguirá creciendo y que se convertirá en una opción a tener en cuenta para la descentralización de la Web.

También puedes seguirnos en nuestros canales de Telegram Twitter

Por José Maldonado

Activista y bloguero de tecnología, software libre y blockchain. Liberal y pro-anarquista.

Esta web utiliza cookies. Puedes ver aquí la Política de Cookies. Si continuas navegando estás aceptándola    Ver
Privacidad