Farcaster vs Lens Protocol
Original article by teleyinex.eth
Kxp, BlockBeats
I've been working with both decentralization solutions for a few months now, and wanted to compare them to understand how they were built and the key differences and similarities between them.
Today, I use: Farcaster (Warpcast client), Lens Protocol (Orb client), and Web2 Twitter on a daily basis. I've found the content on Farcaster to be the most insightful so far, while Lens offers a unique experience for creators. Finally, since most projects keep their information on Twitter (since you need to be invited to join Lens or Farcaster), I have to keep a close eye on my Twitter account.
Before we compare, I want to create a "short" guide for each protocol. And then at the end of the day, I'll compare them and see if there's a winner, but I think they're different.
Farcaster is built on the Ethereum L1 blockchain and leverages it for user identity management. The protocol uses L2 networks to promote updates between its users (Farcaster Hubs). Key features of the protocol include:
1. Secure, memorable and human-readable user identifiers, such as @alice
2. Real-time settlement between users and notification of changes
3. Decentralized access to all data on the network at a reasonable cost
update: CrisisDAO members point out that since delta graph nodes do not use blockchain to determine their state, they do not fall under L2. Therefore, the protocol uses an off-chain peer-to-peer network to synchronize data.
To join the Farcaster protocol, you must register a public-private key pair and an ID with the Ethereum contract. The public-private key pair (a new Ethereum address) will be used to sign messages, and the ID will be used for canonical references to users on the Ethereum network, making them tamper-proof and self-validating. In addition, the receiver can check the key pair associated with the ID in the contract and verify the authenticity of the message.
The signed message will be uploaded to the Farcaster Hub, which is similar to a blockchain network. Hubs use a peer-to-peer protocol to share and store messages between them, using the delta map to reach a consensus on their state. What is most interesting about this figure is that the Hub can reach consensus without coordination.
Through the Hub, which stores and manages network state, client applications will connect with them so that companies and individuals can build different clients for protocols and customize different experiences for their users. This capability is surprising because each application can evolve differently based on the protocol, making it possible to create an application ecosystem within the Farcaster protocol.
The Farcaster ID and Ethereum address (public-private key pair) are managed in Farcaster's Ethereum contract, so we can ensure decentralization and security of identity ownership.
From Farcaster's official documentation:
"Farcaster ID (fid for short) is a canonical identifier for a user or organization. Fid is similar to"! Numeric values such as 8098 "are distinguished from other numbers by placing an exclamation mark in front of them. Users register the fid to a Ethereum address, also known as a managed address. Users can also transfer the fid to new managed addresses, although each address can only have one fid at a time."
Therefore, we can learn from the relationship withFarcaster ID RegistryInteractive generation fid. Since this is a smart contract on Ethereum, anyone can read the contract to find out which Ethereum address has the given fid.
We now have all the components needed to send a message to the protocol:
· Keep the ECDSA key pair of the address
· Fid
With these two parts, we can sign the message and send it to the Hub, and the receiver can validate everything. In addition, the protocol does not allow anyone to reclaim or undo the fid after the address has declared it, and we achieve "sufficient decentralization" by implementing tamper-proof communication on the Hub.
Although we have the elements needed to send information, we still need a way to refer to fid in a way that is easy for humans to read. Therefore, Farcaster provides an optional fname, such as @alice.
fnames are strings of letters or numbers like @John or @Alice that are distinguished from other text by preceded by an "@" sign (fids are preceded by an exclamation point).
An interesting feature of fnames is that they must all conform to the following regular expression: /^[a-z0-9][a-z0-9-]{0,15}$/, because this prevents homogeneity attacks (homoglyph attacks).
Also, fnames can be restored.
fnames 需要每年更新一次,并向 Farcaster 名称注册处支付费用,该注册处将每个 fname 作为 NFT 发行。fnames 可以在到期前 90 天内更新。如果过期,fnames 将进入荷兰式拍卖,起拍价为年费加上溢价,然后逐渐降低至零。
The team at the heart of the agreement sets the price of these NFTS, and the fee determines who can join, thus taking the robots out of the agreement and maintaining a reasonable price.
As we all know, we can forget the password to our wallet, so having an easy way to recover our digital identity is crucial to the agreement. For this reason, the Farcaster protocol allows users to set a recovery address to protect their fnames and fids. It is important to note that this recovery function only applies if access is lost, not if the address is compromised.
The restored address can be applied for after a three-day escrow period, thereby transferring the assets to the new escrow address.
As mentioned earlier, Hubs uses the delta graph to hold messages and synchronize social network state between nodes.
In this diagram, each vertex is an entity, such as a user or message, and an edge is a relationship between entities. When @alice creates a message and @bob likes it, the protocol creates a series of increments for easy synchronization between nodes.
Farcaster 区分了六种类型的增量:
1. casts, your messages
2. reactions (e.g. like) from other users
3. amps: support or recognition for users
4. verifications, proof of ownership (for example, Ethereum address signature)
5. signers are the key pairs authorized by users to sign their increments
6. user data, metadata about users (for example, their profile photo)
Farcaster is built on Ethereum and has an off-chain solution for storing information, while Lens uses the L2 Polygon blockchain.
Like Farcaster, you need to set a "file" to participate in the protocol, which is a sequence ID of NFT form. The NFT will belong to a wallet address, whose owner will control the file, and can do the following:
· Publish content to the archive
· Set the "follow module" of the file: This logic allows others to follow the file
· Set profile picture (picture URI)
· Set the "scheduler" of the file
If your wallet address is included in the list (as with Farcaster, it can currently only be joined by invitation or by purchasing archives on marketplaces such as OpenSea), you can do so atLensHub.solThe upgradable contract is set in your file.
Once you have the Lens Archive NFT, you can make announcements to it. In addition, the NFT will contain a history of all announcements, comments, and so on generated by the owner.
An interesting feature of Lens is that archives and almost every protocol project can have different modules that extend their capabilities. For example, the file NFT containsFollowModuleThis module sets rules that allow other files to follow and save on the chain.
As with Farcaster, profiles can currently only be cast from addresses approved by its governing body, in an effort to block bots and fake accounts.
有了档案 NFT 后,你就可以开始发布动态(Publication)了,包括消息、评论等。
Lens has three types of feeds: posts, comments, and retweets.
Dynamic publishing directly to the user's profile means that all content created by the user stays in the user's wallet. It is worth noting that the dynamics belong to NFT.
每个动态都有一个 ContentURI,其中包含一个动态内容的链接。该链接可以链接到 ArweaveorIPFSSuch as text, pictures, video on decentralized solutions, or web2 storage facilities such as AWS S3.
When publishing dynamically, two modules are used: the collection module and the reference module.
收集模块包含了允许其他用户将动态铸造为 NFT 的所有逻辑,铸造的 NFT 将引用原始动态的 URI。
引用模块包含了对动态的评论和转发有关的所有逻辑。
The comment feature allows users to provide feedback. In fact, comments are similar to dynamics with additional checks and features.
Since comments are similar to dynamic, they are also stored in the user's profile.
One interesting aspect of comments is that they must follow the rules of the original published reference module. For example, if there is a rule that only followers of a profile NFT are allowed to comment, then when someone else tries to comment in the feed without following their publisher, the transaction will not be completed and the comment will not be published.
Comments can also be collected because they are dynamic based. From there, people can find good reviews that they like and turn them into NFT.
Mirror 相当于我们在 Twitter 上转发推文。从协议角度看,它们与动态在某些方面相似,但具有特殊之处。
Like comments, mirrors must follow the rules of the original publisher of the reference module. If a dynamic post is restricted to followers of the original publisher, users who do not meet the criteria will not be able to forward the post.
不同于动态和评论,转发无法被收集。
收藏是 Lens 的一项原生功能,可以让创作者通过他们的作品获取收益。创作者可以发布各种形式的内容:图片、视频、播客、艺术作品等,因此这个模块将用于为作品设定价格并允许其他用户收藏或铸币。
The process is simple: When you create a dynamic, you enable the Favorites module. The module dynamically enables coinage based on the ContentURI. The creator can set any rules as needed, such as free for a limited time or limited collection.
最后,在 Lens 协议中关注其他用户与 Farcaster 和其他 Web2 社交网络略有不同。如我们所见,所有内容都可以变为 NFT 或存储在个人档案 NFT 中。因此,在 Lens 协议上关注某个档案的用户会获得关注 NFT(Follow NFT)。
As with previous projects, file NFT can have its own focus module and make its own rules. This means that you can stipulate that the other party must pay 5 MATIC before they can turn you back. At the end of the day, you're "minting" tokens to show that you care about the profile, and the profile owner can set the rules.
One unique feature of the NFT is its built-in governance capabilities, such as voting agents, which enable the creation of social DAOs within the Lens protocol.
You can set rules, like giving more weight to votes cast by fans who have been following since the beginning.
如果你已经阅读到这里,你应该对这两个去中心化社交网络的设计原则有了大致的了解。每个网络都有它的优势和问题,现在让我们来分析一下二者的利弊。
With Farcaster, you need to update your ID once a year. With Lens, you only have to do it once. Which is better? It depends.
Farcaster, which is dedicated to delivering high-quality conversations, asks people to pay for their profiles in part to support Hubs, but also to make sure users are engaged. While there are benefits to this, in my mind I'm not sure it will ensure Farcaster gains mass adoption. But does Farcaster hope to build mass adoption? More users will bring more negativity, and I think they are reducing that by providing quality profiles on the Web. So far, Farcaster has been a good place to have an in-depth conversation.
On Lens, anyone can cast their ID, and it doesn't have to be updated. Neat though this is, it allows people to create profiles for big brands (as already happens with ENS or domain names) and charges people to control that social media profile. Is that a good thing? Since personal profiles don't expire (unlike Farcaster), only time will tell.
One of the most interesting features of Lens is that it keeps all the information from your profile on the chain. This protocol creates contracts for your dynamic, so any client that uses this protocol will display exactly the same content. Your followers and content will always be tied to you, regardless of platform.
Farcaster, on the other hand, gives you more flexibility. While Lens looks good, I've tried a few "Instagram clones" that only show pictures in action. It sounds cool, but I can't separate my content, which I can with Farcaster. Each application can rely on the delta graph to build its fan list. The only problem is that if you want to switch clients, you need to "export" your followers somehow. As to whether this is a good thing or a bad thing, I believe time will tell.
Lens uses Polygon for all its transactions and everything is kept on Polygon, while Farcaster uses its off-chain solution.
Lens will save everything in your wallet as an NFT created by different contracts (modules). This is smart because your social graph and posts can grow indefinitely. However, the hub on Farcaster has a limit on the size of the delta map (64TB). This graph size limit is designed to remove old posts and keep content up to date. I like this approach because it is consistent with the GDPR's principles on the right to be forgotten. Lens's approach is "simple" : Since you own everything, you should be able to destroy/destroy everything. But as you know, blockchain will keep a history, so anyone can know what you said/did at a particular time. The GDPR's position on this could be interesting.
On Lens, you can extend modules, so you have unlimited options; With Farcaster, you need to propose changes to the protocol, and all hubs need to be upgraded to support those changes. Of the two, I prefer the Lens approach because you can set up and deploy contracts with your own rules. However, Farcaster's approach is more like other open source projects and has its advantages. As with any other solution, time will tell.
Personally, I use both Farcaster and Lens, and I'm happy with both. So far, however, I do find a big difference between the two.
For me, Farcaster is a place to find deep and interesting conversations. I can interact effectively with the community and always learn something new from others. Compared to Twitter, it's huge. On Twitter, I usually get promotions and hate-filled discussions; But Farcaster is a place where people talk in a civil and decent way, and even if you disagree, you're willing to talk to people patiently and learn something new.
Lens, on the other hand, is a gathering place for artists and creators. I have a lot more followers on Lens than Farcaster, but less interaction. While my feed got quite a few likes and retweets, I actually barely had any interaction in the comments. All the likes and followers seemed fake because I couldn't interact with other people through comments. Although the technology is excellent, the feeling can be overwhelming. I like the ability to bookmark and set rules for following and bookmarking. One cool feature of LensWav3s, which lets you set payment terms for people to retweet your posts. That way, instead of paying a platform fee, you'll pay your followers and Lens users to help you spread your content to others. It's a nice idea, but it raises the question of whether people with less money will struggle to develop their own communities. Obviously, the answer to this question is: if you have good content, people will come, but that's not always the case.
Today, there are multiple client applications for both protocols. Each app has its own advantages and disadvantages, and I'm willing to try each app and get a different user experience.Buttrfly,OrbandPhaverAre the three apps you can use on Lens, whileJamandWarpcastIt's the application on Farcaster.
Currently, Warpcast is the only fully functional client on Farcaster, but Jam will be joining them soon. As explained earlier, the interesting test point was that my social graph on Warpcast would not exist on Jam, so I needed to create a new graph from scratch.
After trying Lens, I got to experience Phaver and Orb. There was something strange about Phaver that left me scratching my head. The user experience is unusual because it has its own social network, and users can switch between Phaver and Lens. This also forces users to change some Settings, which is a bit awkward. In contrast, the Orb is a full-featured solution. While some details are still missing, such as collection options from client Settings, it's safe to assume that these issues will be addressed in an upcoming release.
Bottom line: If you can, I suggest you try both. I think they'll have their own communities, and it'll be more interesting to use both. Since everything is decentralized, many applications will be able to centralize everything in one application, for exampleYup(I'm also looking for a test.) In fact, social networking hasn't been this exciting for years.
Original link
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia