Seguridad

Farcaster: Una red social suficientemente descentralizada

Hace unos días hablábamos de las Redes Sociales Descentralizadas, uno de los fenómenos que están consolidándose como parte de la evolución de Web2 a Web3 y que están impulsando competidores de Twitter/X como Mastodon, Bluesky o Threads. Esta propuesta descentralizada llega a su máxima expresión con soluciones como Lens, donde TODA la información que se genera en esta red social es almacenada en Blockchain. Pero esta decisión de diseño tiene sus inconvenientes.

Las redes sociales generan un enorme volumen de datos, que además debe permanecer en el tiempo. Almacenar en una cadena de bloques toda la información es caro, engorroso y supone un reto a gran escala. 


Figura 2: Cuenta de Chema Alonso en Mastodom un red social Federada
 
Más allá, quizá incluir todo eso sea exagerado y para conseguir las ventajas que ofrecen este tipo de redes (resistencia a la censura, acceso abierto a la información, sin intermediarios, etcétera) todo lo que necesitamos onchain sean las primitivas más esenciales, como la propia identidad y la capacidad de leer y escribir datos.


Figura 3: Libro dedicado a “Bitcoin: La tecnología Blockchain y su investigación”
de Yaiza Rubio y Félix Brezo

Este es, en pocas palabras, el enfoque de Farcaster. La principal diferencia con competidores como Lens, que basan su propuesta en redes de Blockchain, es su enfoque minimalista de almacenamiento de datos en la cadena, lo que sus creadores denominan “descentralización suficiente“.

Farcaster Protocol

Su planteamiento es construir un protocolo Open Source y una arquitectura de red que permita a cualquier desarrollador consultar los datos de existentes y construir clientes (aplicaciones) diferentes y personalizadas sobre la capa de datos de Farcaster, del mismo modo que Gmail, Apple Mail u Outlook se basan en el protocolo de correo electrónico SMTP.


Desde el punto de vista de usuario las aplicaciones de Farcaster ofrecen una experiencia muy similar a la que estamos acostumbrados en cualquier cliente de redes sociales. El cliente más utilizado es Warpcast, aplicación muy similar a Twitter, que permite publicar contenido, responder a otros usuarios y compartir sus publicaciones, enviar mensajes directos, recibir notificaciones de menciones, buscar usuarios y contenidos, etcétera.

Algunas funciones de Twitter/(X (como los hashtag) no existen en Farcaster, y el tipo de contenido que se puede compartir actualmente es más limitado (sólo imágenes o enlaces), pero evoluciona de forma muy rápida, destacando en los últimos tiempos la creación de canales temáticos (que ha incrementado el uso de la red de forma importante) y las nuevas funcionalidades que se van incluyendo ligadas a los NFTs (que existen de forma nativa en Farcaster).

El ecosistema crece rápidamente, atrayendo además a actores relevantes del ámbito Web3, como por ejemplo Vitalik Buterin, el creador de Ethereum, que ya publica con mucha más asiduidad en esta red que en cualquier otra (incluyendo Twitter/X). Gracias a ello el número de usuarios activos diarios desde el lanzamiento de la red en 2022 sigue en aumento, teniendo en cuenta además que hasta el momento sólo se puede acceder con invitación.

Figura 7: Número de usuarios diarios activos en Farcaster

Desde el punto de vista técnico Farcaster se construyó sobre Ethereum (específicamente sobre Goerli, una de sus testnet) pero éste es sólo uno de los componentes, existiendo una red de nodos específica (Hubs) para el registro de datos de la red social (posts, likes, etcétera) y su propagación eficiente en tiempo real, ofreciendo así acceso descentralizado a todos los datos en la red a coste razonable, mientras la identidad de usuario permanece segura y públicamente accesible, gestionada onchain.

Al registrarse un nuevo usuario se generan un par de claves pública-privada y se registra la identificación del usuario a través de un contrato en Ethereum. El mensaje debe incluir la identificación y una firma del par de claves, lo que lo hace a prueba de manipulaciones. Cualquiera puede buscar el par de claves asociado con la identificación en el contrato y verificar la autenticidad de cada mensaje publicado por dicho usuario en la red.

Arquitectura de mensajes en Farcaster  

Los usuarios publican mensajes desde sus aplicaciones, conectadas a la red a través de un Hub, que los distribuye en modo P2P al resto de nodos, usando una estructura de datos denominada delta graph (grafo delta) que permite llegar a un consenso sobre el estado de la red sin necesidad de coordinación, formando así una red de almacenamiento descentralizada rápida y eficiente, de bajo coste y offchain.

Figura 9: Arquitectura y componentes de un Hub en Farcaster

Los grafos delta permiten sincronizar el estado de la red social a través de una red poco confiable. La sincronización es sencilla porque por su estructura un conjunto de deltas siempre produce el mismo grafo cuando se combinan en cualquier orden, y los mensajes eliminados se pueden volver a compartir entre réplicas de forma segura sin dañar el estado del gráfico. 

Cada delta es una operación atómica que puede agregar uno o más vértices o aristas al grafo social. Algunos deltas pueden agregar múltiples elementos en una sola acción. En el caso de que @alice creara un mensaje y a @bob le gustara y respondiera, se generaría este grafo:

Figura 10: Grafo de mensajes en Farcaster

En este caso la respuesta de @bob a la publicación de @alice debe agregar una nueva entidad (el cast o publicación de @bob) y establecer dos relaciones, una para @bob como autor y la otra para el cast de @alice como padre. El gráfico del ejemplo anterior se puede dividir en los siguientes deltas:

Figura 11: Grafos Delta en Farcaster

Los desarrolladores pueden crear aplicaciones para que los usuarios interactúen con la red, que se conectan a través de los Hubs para consultar o publicar información. Estas aplicaciones pueden ofrecer todas las características y servicios que los usuarios esperan de las redes sociales tradicionales, y permiten a los usuarios elegir cuál utilizar en función de sus preferencias, accediendo a la misma información.

Recientemente (el 30 de Agosto de 2023) Farcaster alcanzó un hito muy relevante, la migración a la mainnet desde la testnet de Goerli. Esta migración ha implicado un cambio en el stack tecnológico utilizado. La elección no ha sido Ethereum sino Optimism (OP Stack), para reducir costes y facilitar el crecimiento de cara a su salida a producción. Farcaster se suma así a una tendencia cada vez más habitual en los últimos tiempos, con empresas como Coinbase que ha lanzado su propia Blockchain, Base, sobre la infraestructura y componentes que ofrece OP Stack. Tras esta migración la arquitectura de Farcaster se divide en cuatro capas, como se puede observar en la imagen:

  • Aplicaciones (warpcast, yup, etc) que acceden a la red mediante APIs o utilizando distintos middleware abiertos
  • Hubs, que replican la información de la red y proporcionan los endpoints para la conexión de las aplicaciones
  • ENS (Ethereum Name Service) para la gestión de nombres de usuario
  • OP mainnet, para la gestión de información de las cuentas de usuario

Figura 13: Arquitectura de red de Farcaster tras la migración a OP Stack

Aunque todavía existe lista de espera para registrarse, tras el éxito en la migración se ha anunciado la apertura de la red al público en las próximas semanas, sin restricciones. Y el comienzo de la monetización de Farcaster, planteándose inicialmente cobrar 5$/año a los usuarios por el uso de la red (estando bonificado inicialmente para aquellos early users activos durante la fase de pruebas del servicio).

Conclusión  

Sin duda Farcaster es ya una de las redes sociales más relevantes para todo aquel interesado en el mundo de Web3, no sólo por la solución técnica y la usabilidad de las aplicaciones, sino principalmente por la calidad de las conversaciones y contenidos que se generan al haber atraído a buena parte de los actores relevantes de este ecosistema hacia su red. Queda todavía por consolidar un modelo de negocio que permita la sostenibilidad de la red, pero merece la pena seguir de cerca la evolución de esta red social descentralizada.


Recuerda que si quieres aprender de estas tecnologías, tienes Bit2Me Academy, que es una plataforma online para aprender de Web3, BitCoin, Tokenomics o Ethereum con cursos gratuitos además del libro dedicado a “Bitcoin: La tecnología Blockchain y su investigación” de Yaiza Rubio y Félix Brezo que seguro que te ayudan a ponerte las pilas.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.