Subscribe to teleyinex.eth to receive new posts directly to your inbox.
Over 700 subscribers
A long time ago, I wrote about two decentralized protocols: Lens vs Farcaster. That blog post explored the differences and similarities of both protocols. Time has passed, and while I still have an account on Lens, I mainly use Farcaster through Warpcast. However, at some point, I got an invite to join Bluesky. Again, I should have been using it more. Still, recently, on Farcaster, people have been asking about Bluesky protocol, AT, and I decided to write a new blog post comparing Farcaster and AT protocol.
At their core, the AT Protocol and Farcaster share the vision of decentralizing social media. These protocols were not just created to give back control to their users, but to empower them in a world where control is often elusive.
Both protocols use robust cryptographic solutions to ensure that everything you post or cast (as it is said on Farcaster) belongs to you and no one else. This level of security provides a strong reassurance that you can prove you are the author everywhere.
As I wrote in a previous article, Farcaster uses what they call Farcaster IDs. These IDs are numeric identifiers linked to user-controlled cryptographic keys. These IDs are handled on smart contracts, and while they are kept under control by the contract owner, they are kind of "decentralized."
On the other hand, the AT protocol uses the definition of Decentralized IDs and supports two of them: did:web and did:plc. The first one allows you to use DNS solutions to link it to your domain (if you check my handle in Bluesky, you will see my domain); the second one did:plc was created by them because they were unsatisfied with any of the existing DID methods. As with the FIDs, these are also a bit centralized, so they remain more or less the same in terms of functionalities and "decentralization".
Once we know how to create an account, it is time to think about how to create content on those networks. The AT protocol uses Content Identifiers (CIDs) to link and reference data. Any change to one of these items will produce a new CID. Farcaster uses hashes for each message, which ensures that if someone modifies it, a new hash will be produced.
The content in the AT protocol is defined through Lexicons. A lexicon defines how content can be created and which specific format for posts, profiles, etc.
On Farcaster, we have messages that will belong to the network's global social graph. The messages have information about the author, their content, a timestamp, and their relationship to other messages.
We now know more or less how you can create your content, but how do they distribute them within their network?
In the case of the AT protocol, they use Personal Data Servers. These servers are controlled by people like you and me but also by third parties like Bluesky themselves, so you can use the protocol without having to do anything fancy on your side. To distribute the content, they use relays that index all or part of these PDS to create a unique view that can be consumed by other clients to present a state of the world in the AT sense.
Farcaster uses Hubs. These nodes are connected using the "gossippub protocol" that allows them to distribute the messages that you have created, likes, follows and unfollows. Farcaster uses **CRDTs** to enable concurrent updates to the message-graph, ensuring eventual consistency across all Hubs. It also uses **Diff Sync** as a backup mechanism, ensuring complete synchronization even if gossip encounters issues. With all these technologies and solutions involved, Farcaster will eventually find consistency over immediate updates, which means that you and your friend will almost always see the same trending topics simultaneously.
While the Farcaster protocol explains how they deal with conflicts, I have not found how they deal with these scenarios within the AT protocol's documentation. If someone has information about it, it would be great if you shared it with me so I can add it here.
Finally, Farcaster has something really cool. It allows developers to create apps that lean on the network within the protocol. This technology, called Frames, will enable people to run mini-applications directly with their clients, so they don't have to leave their clients to do something. It is really cool because you can buy stuff directly there, create polls, read blog posts, etc.
AT protocol provides documentation about how to create your own software using their solution, but it seems to have a different approach regarding how Farcasters is evolving.
With all that said, while both protocols seem similar they have core technical differences. I still like more Farcaster but probably because it is the network I use the most.
Collect this post as an NFT.
A long time ago, I wrote about Lens vs Farcaster https://paragraph.xyz/@teleyinex.eth/farcaster-vs-lens-protocol. The time has come to write about the Farcaster vs AT protocol https://paragraph.xyz/@teleyinex.eth/farcaster-vs-at-protocol The blog post analyzes how both protocols are built from the technical point of view. I hope you like it.
Pinging @shazow.eth as he has been discussing this topic here as well.
Would enjoy a deeper dive! Some corrections: I believe Bluesky also uses CRDTs as part of its Automerge protocol, and CIDs are also data hashes just like Farcaster. They have more in common than the article implies. :)
I couldn't find more info on their docs. Maybe they have it in a different place. Thanks for the corrections.
Let me know if you want links for anything specific! CIDs are a construct of IPFS.
Also I think the FIDs can be fully owned by the user's wallet, so not kinda decentralized? Need to confirm. The main weaknesses of Bluesky is the recovery keys are custodied unless you run your own PDS, and the name resolving directory is centralized.
Discover the key insights from @teleyinex.eth's latest blog comparing Farcaster and AT Protocol. These decentralized networks strive to empower users in their social media experience. While sharing overarching goals, they each implement unique solutions to manage users, content creation, and application integration.