guía sobre mensajerías instantáneas (de)centralizadas

publicado el 2018-08-10


¿que el futuro de la red es decentralizado? ¿que hay que regresar al p2p? ¿a qué se refiere todo eso? en esta guía recopilo y comparto notas al respecto de cómo entiendo que los términos de centralización, decentralización, y peer-to-peer (p2p, “compa a compa”) aplican en el ámbito de la mensajería instantánea.

si bien se podría, no me meteré demasiado a cómo funciona la red en general… eso habrá que estudiarlo y compartirlo poco a poco.

solo cabe decir que cuando hablo de “servidor”, me refiero a una computadora (o grupo de computadoras) que se espera que esté siempre encendida, siempre conectada a internet, y ejecutando una serie de programas que le permitan manejar en este caso las comunicaciones instantáneas entre distintas personas.

por ejemplo, maneja la autenticación de usuarias, sus contactos, la historia de las conversaciones (cuando aplique), la logística de cómo iniciar una conversación nueva (cómo se localiza a la destinataria), las conversaciones en grupo, el almacenamiento de multimedia (cuando aplique), etc. etc.

pero bueno, mejor compararé dos (o tres) modelos de lograr esto que entendemos como “mensajería instantánea”, uno esta basado en centralización, y los otros dos son distintos sabores de decentralización.

mensajería instantánea centralizada

diagrama de una red centralizada: seis ratitas conectándose alrededor de una sola caja

ejemplo de comunicación centralizada: todas las conversaciones pasan por un servidor único

en esta categoría caben servicios muy populares: whatsapp, messenger, snapchat, skype, hangouts (o como se llame ahora), telegram, wire, signal, kakaotalk, wechat, windows live messenger [?], mensajes en instagram y twitter, slack, discord, etc., etc…

¿qué los caracteriza?

  • todas las comunicaciones suceden en un sistema creado, controlado y mantenido por una entidad única y en general con fines de lucro
  • la misma entidad está a cargo del desarrollo y actualización (o no) de las apps y programas que se usen para comunicarse en su plataforma
  • la experiencia entre apps de cada uno de estos sistemas es homogénea
  • la entidad tiene acceso a todas las conversaciones^ y/o a sus metadatos (entre quiénes, cuándo, dónde, cada cuánto) y en general de eso depende su modelo de negocios: el capitalismo de vigilancia (surveillance capitalism) implica la extracción y venta de la mayor cantidad de datos personales de las usuarias
    • ^ no tiene acceso a las conversaciones cuando son encriptadas de punto a punto, lo cual es cierto en signal y probablemente sea cierto en whatsapp (pero esto último depende de confianza ciega, ver abajo)
  • en general son sistemas propietarios y cerrados, por lo que no pueden ser auditados por el público (la excepción aquí es signal, que es software libre) y no pueden interoperar entre ellos (o con modificaciones de ellos, aquí signal no es excepción)
  • su uso implica un voto de confianza en el no-abuso de la entidad a cargo del servidor
  • punto de falla único: si se cae el servidor se caen todas las conversaciones. si algún actor obtiene acceso (legal o ilegal), tiene acceso a todo el panorama.

mensajería instantánea decentralizada

diagrama de una red decentralizadas: dos ratitas se conectan a través de una caja independiente, dos más se conectan a través de dos cajas conectadas entre sí, y las otras dos se conectan a través de una de las cajas de las anteriores

ejemplo de comunicación decentralizada: existen varios servidores que son capaces de interoperar entre ellos, y las conversaciones pasan solo por los servidores correspondientes a las usuarias

para este tipo de sistemas, el ejemplo clásico habría sido el funcionamiento del correo electrónico: es posible tener direcciones en diferentes dominios (y servidores), pero es posible comunicarse entre ellos, y es posible usar diferentes métodos de acceso; el problema es que para muchas la experiencia de correo electrónico es ya prácticamente centralizada por google.

como ejemplos de mensajería instantánea decentralizada basada en servidores tenemos a XMPP (antes Jabber) y a Matrix [m] después en otras guías hablaré más de ellos y de cómo usarlos… (y si lees esto en un futuro en el que eso ya haya sucedido, podrás encontrarlas en las etiquetas correspondientes #xmpp y #matrix)

¿qué caracteriza a un (eco)sistema así?

  • los mensajes pasan solamente por los servidores correspondientes a las personas involucradas
  • todas las comunicaciones suceden usando estándares/protocolos en común que son abiertos y se pueden implementar de maneras diversas, tanto en servidores como en clientes (las aplicaciones que se comunican con los servidores)
  • los servidores tienen acceso a todas las conversaciones^ y/o a sus metadatos (entre quiénes, cuándo, dónde, cada cuánto) que pasan por ellos. dependiendo la cantidad de usuarias es el tamaño de esta colleción de datos.
    • ^ no tienen acceso a las conversaciones cuando son encriptadas de punto a punto, lo cual se puede activar y usar en XMPP y en Matrix [m].
  • su uso implica un voto de confianza en quien esté a cargo del servidor elegido, pero a diferencia del modelo centralizado 1) existe la posibilidad de elegir, 2) existe la posibilidad de tener un servidor propio (o de pedirle a alguna compa ratita que lo tenga, administre y comparta ;)
  • el tráfico de las conversaciones está distribuido: si un servidor se cae o es vulnerado, solo afecta a una fracción de la red, y no hay forma de tener acceso al panorama completo.

mensajería instantánea peer-to-peer (compa a compa)

diagrama de una red decentralizada p2p: cada par de ratitas se conecta directamente

ejemplo de comunicación peer-to-peer (p2p): no hay servidores y la comunicación sucede sin intermediarios entre las personas involucradas; existe un sistema distribuido entre usuarias que permite que las conexiones se pueda iniciar

esta modalidad, si bien tiene reminiscencias al funcionamiento original de las redes y el internet, ya parece muy extraña por cómo nos hemos acostumbrado a los sistemas basados en servidores.

en este caso el ejemplo actual de mensajería instantánea decentralizada y p2p que conozco es Tox. después en otras guías hablaré más en específico de ese sistema y de cómo usarlo… (y si lees esto en un futuro en el que eso ya haya sucedido, podrás encontrarlas en la etiquetas correspondientes #tox)

¿qué caracteriza a un (eco)sistema así?

  • los mensajes se envían de una computadora a otra sin necesidad de intermediarios
  • todas las comunicaciones suceden usando estándares/protocolos en común que son abiertos y se pueden implementar de maneras diversas a nivel de clientes (las aplicaciones que se conectan a la red)
  • las conversaciones solo pueden suceder cuando ambas personas están conectadas (si una no lo está, no hay intermediario que almacene los mensajes para ser recibidos después, por ejemplo)
  • no hay servidores que tengan acceso a conversaciones y sus metadatos, o que puedan ser atacados.
  • en el caso de Tox, está encriptado a diferentes niveles del sistema, e incluye como única opción el encriptado de punto a punto.

conclusión

en esta guía compartí un resumen de lo que he estado aprendiendo sobre los modelos de redes centralizados o decentralizados (y p2p).

mi punto de vista está claramente sesgado hacia la decentralización, pues los gigantes centralizados ya me han demostrado varias veces que no merecen mi confianza, y solo son un brazo poderoso y extremo del sistema que nos está destruyendo como organismos en el planeta.

como sea, para proceder entran en juego las cuestiones sociales y de conveniencia… ¿qué hago si las personas con las que quiero hablar no tienen problema con el abuso de las plataformas centralizadas? ¿qué pasa si el simple acto de crear una cuenta o de compartir un identificador para agregarse con el fin de conversar ya es visto como algo súper inconveniente después de la costumbre de otorgar acceso a la lista de contactos del móvil?

y a todo esto, ¿cómo puedo evaluar el beneficio que me ha otorgado o no la mensajería instantánea? ¿me conecta? ¿cuándo me da satisfacción usarla?

por lo pronto en la página de contacto dejo mis datos para conectarnos por esos medios…

y por si te gustaron y/o quieres usarlas: descarga aquí el archivo svg con las ilustraciones de esta guía


para comentar, escríbeme a ratapanchis arroba eccs.world :)