Cómo arreglar todo lo que está mal en Internet

Publicado originalmente el Hacker Noon .

¿Qué tienen en común Google, Facebook, Youtube, Amazon, Uber y una guía telefónica? Son índices : listas de contenido que se pueden buscar. Google es una lista de palabras clave asignadas a los sitios web en los que aparecen. Facebook es una lista de perfiles, publicaciones, mensajes privados, eventos y otros tipos de información. Youtube tiene usuarios, videos y comentarios. Amazon: comerciantes y artículos. Uber: conductores, clientes y solicitudes de viajes.

Ah, y la guía telefónica. Es posible que los lectores jóvenes no sepan que se trataba de un modelo empresarial del siglo XX en el que se imprime una base de datos de nombres que coinciden con números de teléfono y se coloca el objeto pesado en los buzones de correo de las personas.

La mayoría de los unicornios en línea son básicamente índices con una interfaz de usuario agradable y, en ocasiones, algún tipo de atención al cliente. Suelen denominarse “plataformas”.

Los fuertes efectos de red son la bendición o la perdición de la indexación, según a quién le pregunte. El ganador se lo lleva todo: los usuarios deben unirse al índice más popular para encontrar otros y ser encontrados, es decir, para obtener la mayor cantidad de resultados de búsqueda y aparecer en tantas búsquedas como sea posible.

Esto es bueno para los accionistas de la empresa ganadora. “La competencia es para perdedores”, como escribió Peter Thiel en su libro “De cero a uno”. Además, es conveniente y computacionalmente eficiente cuando solo necesita buscar en un índice que contiene todo y se ejecuta en un centro de datos altamente optimizado.

La desventaja es que estas empresas se convierten en puntos centrales de tremendo poder, en otras palabras, puntos únicos de falla . Muchos de ellos se han convertido en necesidades de las que dependen nuestra vida diaria y nuestro sustento, pero no son responsables ante sus propios usuarios. Son empresas privadas que pueden favorecer o discriminar libremente a quien les plazca. ¿Cuál es su recurso cuando Facebook decide suspender su cuenta durante 1 mes en un momento crítico?

Ha habido llamamientos para regular las plataformas en línea como servicios públicos similares a los bancos o las empresas de electricidad. Una buena regulación podría ayudar, pero una mala regulación podría empeorar las cosas. Muchas cosas pueden salir mal cuando se trata de resolver problemas por la fuerza del gobierno. El gobierno también es un monopolio, uno del que ni siquiera puede darse de baja cuando las cosas van mal. ¿Y cómo funcionó con la regulación bancaria? Siempre es más seguro si podemos desarrollar nueva tecnología que resuelva estos problemas sin el uso de la fuerza (y más ético, se podría argumentar).

Lo que Satoshi Nakamoto escribió sobre los bancos también se aplica a las plataformas en línea:

“La raíz del problema con la moneda convencional es toda la confianza que se requiere para que funcione. Se debe confiar en que el banco central no degradará la moneda, pero la historia de las monedas fiduciarias está llena de violaciones de esa confianza. Se debe confiar en los bancos para que retengan nuestro dinero y lo transfieran electrónicamente, pero lo prestan en oleadas de burbujas crediticias con apenas una fracción de reserva. Tenemos que confiarles nuestra privacidad, confiar en que no permitirán que los ladrones de identidad agoten nuestras cuentas “.

Como ya hemos visto, estos puntos centrales inevitablemente serán abusados ​​desde adentro o desde afuera para obtener ganancias comerciales, políticas o delictivas, mientras que el resto de nosotros pagamos el precio.

Históricamente, las imprentas, las oficinas de telégrafos y las estaciones de tren han sido algunos de los primeros puntos centrales tomados por los revolucionarios comunistas. Los autoritarios de hoy en día secuestran motores de búsqueda y corporaciones de redes sociales. Se pueden utilizar para dirigir o reprimir el debate público y se utilizan a nivel mundial para influir en la política.

Algunos activistas políticos exigen “desplantar” a las personas con las que no están de acuerdo, con demasiada frecuencia con éxito. Es cierto que las propias grandes empresas de tecnología tienen un sesgo contra los conservadores, sobre los que posiblemente han actuado, prohibiéndolos con más frecuencia que los usuarios de izquierda.

En 2018, Alemania comenzó a aplicar una ley que obliga a las empresas de redes sociales a censurar el contenido de usuario “obviamente ilegal” en un plazo de 24 horas o enfrentarse a sanciones de hasta 50 millones de euros. Human Rights Watch criticó la ley con el argumento de que “puede conducir a una censura irresponsable y excesiva” y “sienta un precedente peligroso para otros gobiernos”. Al menos Rusia, Singapur y Filipinas han citado la ley como un ejemplo positivo de legislación para eliminar contenido “ilegal” en línea. Francia promulgó una ley similar en 2019.

Un tema propio son los países autoritarios como China, Irán, Turquía y Corea del Norte, que restringen severamente el acceso a las redes sociales o incluso a todo Internet. Las personas en esos países recurren a las VPN, el intercambio de archivos mediante memorias USB u ocasionalmente redes de malla bluetooth.

Para muchas personas, las revelaciones de Snowden sobre los programas de vigilancia masiva de la NSA han sido la llamada de atención a los problemas de privacidad . Es razonable preguntar si queremos compartir nuestra vida digital con la gran tecnología y, posteriormente, con el gobierno.

Otra preocupación sobre la centralización es la seguridad de la infraestructura . ¿Qué pasa si alguien en Google se equivoca? ¿Qué pasa si los servidores de WhatsApp no ​​están disponibles en caso de emergencia? Esa preocupación se puede compartir independientemente de su sesgo político particular.

¿Cómo lo hacemos bien? Descentralizar la indexación. Elimina al intermediario. Se vuelve un poco más técnico aquí.

Bitcoin es una alternativa descentralizada probada a los bancos centrales y los transmisores de dinero. Ya no tenemos la situación en la que Alice quiere enviar dinero a Bob a través del intermediario Carl, pero Dave lo evita presionando a Carl. Alice (o Alexei) no necesita el permiso de nadie para enviar sus propios bitcoins a Bob. Ahora solo necesitamos hacer que Bitcoin sea más conveniente para el uso diario y hodl.

Bitcoin y otros libros contables descentralizados tienen que ver con la gestión estatal: cómo lograr un consenso sobre los saldos del libro mayor sin preguntarle a una autoridad central. Bitcoin presentó una solución novedosa al problema: blockchain , o más específicamente, prueba de trabajo . Cada nodo de bitcoin completo replica una cadena de bloques de transacciones, y la versión válida de la cadena estampada con la mayor potencia informática (prueba de trabajo) se considera el consenso.

Sin embargo, los índices descentralizados enfrentan un conjunto diferente de desafíos técnicos y compensaciones . Por ejemplo, blockchain no es la herramienta adecuada para las redes sociales : no necesita ni desea una sincronización perfecta lenta y costosa con todo el mundo. La consistencia eventual es suficiente y se puede lograr con tipos de datos replicados sin conflictos: sistemas que ni siquiera necesitan acceso a Internet, solo contacto ocasional con pares. Algunos ejemplos de estos sistemas son Gun, Automerge y OrbitDB.

Cuando inevitablemente ocurren fallas en la red, debe elegir entre disponibilidad y consistencia de estado. En el caso de un libro mayor sin confianza, puede ser mejor sacrificar la disponibilidad y detener las transacciones para evitar el doble gasto. Las redes sociales y muchas otras aplicaciones pueden funcionar bien sin una gran consistencia, es decir, todos tienen siempre el mismo conjunto de datos. El contenido que publica sin conexión se puede sincronizar más tarde. Incluso los cajeros automáticos de los bancos eligen A en lugar de C, ya que los beneficios superan los riesgos (como se explica en este excelente artículo sobre CAP).

Otro desafío es cómo asegurarse de que los datos que recibe de sus pares sean relevantes o válidos . No quieres spam en tu feed de redes sociales. Desea que los resultados de la búsqueda contengan realmente las palabras buscadas. Cuando el índice no lo ejecuta una única entidad de confianza, puede utilizar una red de confianza para filtrar a los usuarios y pares que producen spam u otro contenido no deseado, todo sin dar poder a los moderadores centrales.

Bittorrent resuelve esto de manera similar, intercambiando partes de archivos con sus compañeros sobre una base de ojo por ojo, recompensando a los compañeros por su cooperación. Puede ver que la descarga comienza lentamente y luego se acelera a medida que otros compañeros de descarga ven que está retribuyendo.

Compartir archivos estáticos en una red peer-to-peer es una tecnología antigua y probada. Sin embargo, mantener y consultar índices descentralizados (grandes conjuntos de datos dinámicos) es más fácil decirlo que hacerlo . Los índices de torrents centralizados son el único punto de falla que los gobiernos, que defienden intereses corporativos de miles de millones de dólares, han reprimido con mano dura, el más famoso The Pirate Bay y, más recientemente, KickassTorrents.

Torrent Paradise lleva la indexación de torrents en una dirección más descentralizada. Si bien el índice todavía se mantiene de forma centralizada, se distribuye a través de IPFS, lo que dificulta la búsqueda de su responsable o la prevención de su distribución. El mantenedor del índice podría incluso esconderse detrás de Tor para evitar la detección por análisis de tráfico.

OpenBazaar es un proyecto basado en IPFS bastante popular que permite a los comerciantes indexar sus propios productos. YaCy, fundada en 2006, es una aplicación de búsqueda web totalmente descentralizada. Ambos se basan en tablas hash distribuidas, la misma tecnología que usa bittorrent para la búsqueda de pares.

Manyverse es una interesante aplicación móvil sin conexión que se puede sincronizar a través de bluetooth, wifi o servidores remotos. Se basa en el sistema de sincronización de feeds Scuttlebutt, que ya tiene cientos de usuarios activos.

He estado trabajando en Iris, una aplicación de redes sociales que almacena todo en los dispositivos de sus usuarios y se conecta directamente a sus pares . En cuanto a la interfaz, no es muy diferente de algunas redes sociales existentes: puede publicar texto, fotos, videos, audio u otros tipos de archivos en su feed.

Puede tener chats privados encriptados de un extremo a otro y recibir notificaciones móviles o de escritorio. Los usuarios se otorgan calificaciones de confianza para formar una red de confianza, un concepto que se ha utilizado en la infraestructura de claves públicas desde los años 90. Las calificaciones de confianza funcionalmente no son muy diferentes de agregar un amigo o seguir a alguien.

Iris web of trust funciona tanto a nivel de software como a nivel de usuario. A nivel de software, se utiliza para administrar las conexiones entre pares y priorizar el espacio de almacenamiento: los amigos se conectan entre sí y replican el contenido de los demás. A nivel de usuario, su objetivo es servir como una versión socialmente escalable del sistema de confianza que existe naturalmente en tribus y aldeas, reduciendo la necesidad de un sistema de justicia centralizado y facilitando la economía del regalo.

Web of trust ayuda a filtrar el spam y otros contenidos no deseados sin confiar el poder a un moderador central. En lugar de un único moderador, tiene varios “moderadores” a quienes puede elegir y cuyas decisiones colectivas puede anular. Hace que el trolling, las noticias falsas y otras campañas de propaganda sean más difíciles , ya que sus mensajes solo se muestran a las personas en cuyo WoT se encuentra.

Según las certificaciones (“verificaciones de identidad”) de su WoT, Iris asigna los nombres naturales a las claves públicas y otros identificadores, lo que proporciona una alternativa descentralizada a los proveedores de identidad digital , como nombres de dominio, direcciones de correo electrónico, números de teléfono, identificadores de redes sociales o certificados de CA. De manera similar a los nombres de mascotas o Namecoin, cumple las tres propiedades del triángulo de Zooko descritas en Nombres: descentralizado, seguro, con significado humano: elija dos.

A diferencia de las direcciones de Namecoin u otros nombres globales, los nombres de Iris no son únicos a nivel mundial: puede haber varias personas llamadas John Smith. Cuando busca un nombre, obtiene una lista desplegable de resultados ordenados por su distancia de WoT, junto con avatares y otros atributos significativos para humanos que están atestiguados por su WoT. Iris no tiene un estado compartido globalmente. En cambio, lo que ve depende de lo que dice su WoT.

Incluso podría usarse para mantener una concepción compartida de fronteras, países y propiedades. En lugar de que Google actúe como moderador geopolítico, las fronteras y los nombres que ve en un mapa dependerían de lo que su WoT haya atestiguado. Bueno para los defensores de la soberanía local. Úselo junto con encuestas públicas sin censura.

Idealmente, los usuarios de Iris tendrían claves privadas basadas en dispositivos que comparten el acceso a los mismos datos privados. Perder una llave no importa, y las otras llaves se pueden usar para invalidar la perdida. Si pierde todas sus claves, puede pedirle a su WoT que certifique una nueva clave para su identidad. Después de suficientes verificaciones, otros usuarios pueden recuperar los chats privados con su clave anterior y volver a cifrarlos con la nueva clave. Sin embargo, sus datos privados no compartidos se perderían. Eso podría evitarse con otra opción de recuperación de claves: Shamir’s Secret Sharing, que permite, por ejemplo, 3 de cada 5 fragmentos de recuperación almacenados por amigos para restaurar su clave privada.

Iris subcontrata el almacenamiento y la red a Gun, el sistema CRDT antes mencionado. Con los adaptadores de almacenamiento, proporciona una sincronización de datos consistente primero fuera de línea entre todo tipo de almacenamientos, como RAM, sistema de archivos, pares de redes de área local (multidifusión), servidores websocket o pares WebRTC remotos. Con un adaptador bluetooth, podría usarlo en una red de malla ad hoc donde los pares ni siquiera necesitan estar conectados todo el tiempo, muy resistente a la censura.

Los usuarios de Iris mantienen sus propios índices de objetos de mensaje y contacto. Estos se sincronizan y consultan a través de Gun. Cuando busca mensajes o contactos, también se consultan otros índices de su web de confianza. Eso es indexación descentralizada basada en web de confianza .

Esto funciona con la API simple de Gun:

# abrir nuestro propio índice (permisos de lectura y escritura)
user = gun.user ()
user.auth (keypair)
user.get (‘messages’). get (indexKey) .put (mensaje)
usuario.get (‘mensajes’, params) .map (msg = & gt; hacer algo (msg))
usuario.get (‘contactos’)…

# abrir el índice de otra persona (solo lectura)
user = gun.user (publicKey)
user.get (‘messages’, params) .map (…)

El mismo paradigma podría usarse para almacenar y recuperar otro tipo de objetos y construir todo tipo de alternativas descentralizadas a plataformas como Google, Amazon, Uber, etc.

Aún no se han explorado la fragmentación, el factor de replicación, los algoritmos para la consulta eficiente de pares y otras optimizaciones. Quizás podría usarse una tabla hash distribuida entre pares de confianza. La división óptima del trabajo entre los dispositivos locales y los servidores (superpeers) necesita más investigación: desea que funcione sin conexión o en una red de malla (hasta cierto punto), pero también para poder utilizar el poder de los centros de datos.

Los servidores y los centros de datos eficientes tienen su lugar incluso en un sistema donde el modelo de datos, el almacenamiento y las redes admiten la descentralización. Aún podría tener empresas que mantengan índices grandes: simplemente serían interoperables con otros actores de la red. La pregunta es cómo encontrar el equilibrio adecuado entre ellos.

Para competir verdaderamente con las plataformas centralizadas, las aplicaciones descentralizadas deben proporcionar una experiencia de usuario tan buena o incluso mejor que la que estamos acostumbrados . Iris y las otras soluciones presentadas aún no están allí. Bittorrent hace un gran trabajo con velocidades de descarga, pero no tiene indexación y búsqueda de contenido integrada como estamos acostumbrados en Netflix, Steam o Spotify. Los demás suelen tener problemas de rendimiento o escalabilidad. Por otro lado, ya podemos presumir de capacidades sin conexión y facilidad de registro, a diferencia de Facebook y los demás. Por no hablar de la pura sensación de éxtasis de la soberanía propia.

Logotipo de Iris: ojo del color del arco iris en un bocadillo.

Si estás entusiasmado con algo que nadie más parece entender, lo más probable es que estés persiguiendo un arcoíris (y resulta que Iris es la diosa griega del arco iris). Pero a veces tienes razón. En 2009 le envié un correo electrónico a Satoshi Nakamoto y me ofrecí a ayudar como pudiera con Bitcoin. Después de eso, pasarían años antes de que el éxito de Bitcoin finalmente convenciera a la gente de comenzar a tomarlo en serio.

He estado igualmente entusiasmado con las ideas detrás de Iris durante años, pero carecía de las habilidades de marketing para promoverlas. Sin embargo, creo que el código habla más que las palabras: bitcoin no habría despegado con solo el documento técnico y sin una implementación de referencia para probarlo. El software Iris está llegando allí, pero el progreso es lento cuando estás trabajando en un sistema complejo por tu cuenta, utilizando componentes experimentales que han cambiado muchas veces a lo largo del camino.

Si le gustó el análisis o la solución propuesta, comparta este artículo o consulte Iris en GitHub para obtener más opciones de contribución. Si tiene una mejor idea sobre cómo descentralizar la indexación o hacernos menos dependientes de las plataformas corporativas en línea, háganoslo saber. ¡El mundo lo necesita!