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.
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.
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.
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.
Figura 4: Farcaster Protocol en GitHub
Figura 5: Warpcast en Google Play
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).
Figura 6: Cliente web de Warpcast
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.
Figura 8: Dashboard en tiempo real de Farcaster
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.
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.
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:
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:
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:
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).
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.
Figura 12: Farcaster App clients
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.
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.
No hay comentarios:
Publicar un comentario