《Farcaster vs Lens Protocol》
作者:teleyinex.eth
编译:Kxp,Bitbili
我已经使用这两种去中心化解决方案几个月了,希望通过比较它们来了解其各自的构建方式以及二者之间的主要差异和相似之处。
现在,我每天会使用:Farcaster(Warpcast 客户端)、Lens Protocol(Orb 客户端)以及 Web2 的 Twitter。到目前为止,我发现 Farcaster 上的内容最有见地,而 Lens 则为创作者提供了独特的体验。最后,由于大多数项目将信息保存在 Twitter 上(因为要加入 Lens 或 Farcaster 你需要得到邀请),所以我必须密切关注我的 Twitter 账户。
在进行比较之前,我想为每个协议创建一个「简短」的指南。然后在最后,我将对它们进行比较,看看二者之间是否有赢家,不过我认为它们各有千秋。
Farcaster
Farcaster 基于 Ethereum L1 区块链构建,并利用其进行用户身份管理。该协议使用 L2 网络在其用户之间(Farcaster Hubs)推广更新。协议的关键特性包括:
1. 安全、易记且人类可读的用户标识符,如 @alice
2. 用户之间实时结算并通知变更
3. 以合理成本获得对网络上所有数据的去中心化访问
更新:CrisisDAO 成员指出,由于 delta 图谱节点不使用区块链来确定其状态,因此它们不属于 L2。因此,协议使用链下点对点网络来同步数据。
工作方式
要加入 Farcaster 协议,你必须在 Ethereum 合约中注册一个公钥-私钥对和一个 ID。这个公钥-私钥对(一个新的 Ethereum 地址)将用于对消息进行签名,而 ID 则将用于对 Ethereum 网络上用户的规范引用,从而使它们防篡改且能够完成自我验证。此外,接收者可以检查合约中与 ID 关联的密钥对并验证消息的真实性。
签名消息将上传到 Farcaster Hub,该 Hub 类似于区块链网络。各个 Hub 使用点对点协议在它们之间共享消息并加以存储,使用 delta 图谱来就它们的状态达成共识。该图最有趣的地方在于,Hub 可以在不进行协调的情况下达成共识。
通过 Hub 存储和管理网络状态,客户端应用程序将与它们进行连接,以便公司和个人为协议构建不同的客户端,并为其用户定制不同体验。这一功能非常令人惊喜,因为每个应用程序都可以基于协议实现差异化发展,从而让 Farcaster 协议内创建应用程序生态系统成为可能。
Farcaster ID 和 Ethereum 地址(公钥-私钥对)在 Farcaster 的 Ethereum 合约中进行管理,因此我们可以确保身份所有权的去中心化和安全性。
Farcaster ID
摘自 Farcaster 的官方文档:
「Farcaster ID(简称 fid)是用户或组织的规范标识符。Fid 是类似「!8098」这样的数字值,通过在它们前面加一个感叹号来与其他数字区分开来。用户将 fid 注册到一个 Ethereum 地址,也称为托管地址。用户也可以将 fid 转移到新的托管地址,尽管每个地址一次只能拥有一个 fid。」
因此,我们可以通过与Farcaster ID Registry交互生成 fid。由于这是 Ethereum 上的一个智能合约,任何人都可以阅读该合约以查找哪个 Ethereum 地址拥有给定的 fid。
现在,我们已经具备将消息发送到协议所需的全部组件:
・保管地址的 ECDSA 密钥对
・Fid
有了这两部分,我们可以对消息进行签名并将其发送到 Hub,接收者也可以验证所有内容。此外,协议不允许任何人在地址声明 fid 后回收或撤销 fid,我们通过在 Hub 上实行防篡改通信实现了「足够的去中心化」。
Farcaster Name
尽管我们已具备发送信息所需的元素,但我们仍需要一种便于人类阅读的方式来引用 fid。因此,Farcaster 提供了可选的 fname,例如 @alice。
fnames 是像 @john 或 @alice 这样由字母或数字组成的字符串,通过在其前面加上一个「@」符号(fids 前面有一个感叹号)与其他文本进行区分。
fnames 的一个有趣特性是,它们都必须符合以下正则表达式:/^[a-z0-9][a-z0-9-]{0,15}$/,因为这样可以避免同形异意攻击(homoglyph attacks)。
同时,fnames 也是可以恢复的。
fnames 需要每年更新一次,并向 Farcaster 名称注册处支付费用,该注册处将每个 fname 作为 NFT 发行。fnames 可以在到期前 90 天内更新。如果过期,fnames 将进入荷兰式拍卖,起拍价为年费加上溢价,然后逐渐降低至零。
该协议的核心团队设定了这些 NFT 的价格,而该费用则决定了谁可以加入,从而把机器人从协议中剔除,同时维持合理的价格。
账户恢复
如我们所知,我们可能会忘记钱包的密码,因此拥有恢复数字身份的便捷方式对于协议来说至关重要。基于此原因,Farcaster 协议允许用户设置一个恢复地址来保护他们的 fnames 和 fids。需要注意的是,此恢复功能仅适用于丢失访问权限的情况,而不适用于地址被泄漏的情况。
恢复后的地址可以在三天的托管期后提出申请,从而将资产转移到新的托管地址。
数据存储
如前所述,Hubs 使用 delta 图谱来保存消息并在节点之间同步社交网络状态。
在此图中,每个顶点都是一个实体,如用户或消息,而边是实体之间的关系。当 @alice 创建一条消息,@bob 对其点赞时,协议将创建一系列增量,便于在节点之间进行同步。
Farcaster 区分了六种类型的增量:
1. casts,即用户的消息
2. reactions,即来自其他用户对某个用户消息的回应(如,点赞)
3. amps,即对用户的支持或认可
4. verifications,即所有权证明(例如,Ethereum 地址签名)
5. signers,即用户授权用于签名他们增量的密钥对
6. user data,即关于用户的元数据(例如,他们的个人资料照片)
Lens Protocol
Farcaster 建构在 Ethereum 中,拥有一个链下解决方案(Farcaster Hubs)用于存储信息,而 Lens 则使用 L2 Polygon 区块链。
档案
与 Farcaster 类似,你需要设置「档案」来参与该协议,它是一个 NFT 形式的序列 ID。NFT 将属于一个钱包地址,其所有者将控制该档案,并且可以进行以下操作:
・向档案发布内容
・设置档案的「关注模块」:该逻辑允许其他人关注此档案
・设置档案的头像(图片 URI)
・设置档案的「调度器」
如果您的钱包地址包含在列表中(与 Farcaster 一样,目前只能通过邀请或在 OpenSea 等市场上购买档案加入),你可以在LensHub.sol 的可升级合约中设置您的档案。
拥有 Lens 档案 NFT 后,您可以向其发布公告。此外,该 NFT 将包含所有者生成的所有公告、评论等的历史记录。
Lens 的一个有趣功能是,档案以及几乎每个协议项目都可以有不同的扩展其功能的模块。例如,档案 NFT 包含FollowModule,该模块设定了允许其他档案关注并在链上保存的规则。
与 Farcaster 一样,目前只有其管理机构批准的地址才能铸造档案,这样做是为了屏蔽机器人和虚假账户。
动态
有了档案 NFT 后,你就可以开始发布动态(Publication)了,包括消息、评论等。
Lens 有三种类型的动态,分别是帖子、评论和转发。
动态直接发布到用户的档案,这意味着用户创建的所有内容都将保留在本人的钱包中。值得注意的是,动态属于 NFT。
每个动态都有一个 ContentURI,其中包含一个动态内容的链接。该链接可以链接到 Arweave 或 IPFS 等去中心化解决方案上的文本、图片、视频,或者 AWS S3 等 web2 存储设施。
发布动态时,会用到两个模块:收集模块和引用模块。
收集模块包含了允许其他用户将动态铸造为 NFT 的所有逻辑,铸造的 NFT 将引用原始动态的 URI。
引用模块包含了对动态的评论和转发有关的所有逻辑。
评论
评论功能让用户能够提供反馈。实际上,评论与带有额外检查和特性的动态类似。
评论既然类似于动态,那么它们也会存储在用户的个人档案中。
评论的一个有趣之处在于,它们必须遵守原始发布参考模块的规则。例如,若有规定仅允许档案 NFT 的关注者发表评论,那么当其他人试图在动态中发表评论而未关注其发布者时,交易将无法完成,评论也无法发布。
评论亦可被收集,因为它们都基于动态。由此,人们可从中找到自己喜欢的优质评论并将其制成 NFT。
转发
Mirror 相当于我们在 Twitter 上转发推文。从协议角度看,它们与动态在某些方面相似,但具有特殊之处。
与评论相似,镜像也必须遵循参考模块原始发布者的规则。如果某篇动态内容仅限于原发布者的关注者进行转发,那么未满足条件的用户将无法转发此帖。
不同于动态和评论,转发无法被收集。
收藏
收藏是 Lens 的一项原生功能,可以让创作者通过他们的作品获取收益。创作者可以发布各种形式的内容:图片、视频、播客、艺术作品等,因此这个模块将用于为作品设定价格并允许其他用户收藏或铸币。
操作过程很简单:创建动态时,可以启用收藏模块。该模块根据 ContentURI 为动态开启铸币功能。创作者可以根据需要设置任意规则,例如限时免费或限量收藏。
关注
最后,在 Lens 协议中关注其他用户与 Farcaster 和其他 Web2 社交网络略有不同。如我们所见,所有内容都可以变为 NFT 或存储在个人档案 NFT 中。因此,在 Lens 协议上关注某个档案的用户会获得关注 NFT(Follow NFT)。
与之前的项目一样,档案 NFT 可以有自己的关注模块,并制定专属规则。这意味着你可以规定对方需支付 5 个 MATIC 才可以回关你。归根结底,你是在「铸造」表示你关注了该档案的 Token,而档案所有者可以制定相应规则。
关注 NFT 的一个独特功能是其内置的治理能力,如投票代理,这个功能可以在 Lens 协议内实现社交 DAO 的创建。
你可以设定规则,比如让从一开始就关注的粉丝们在投票时具有更多权重。
Farcaster 与 Lens 协议的对比
如果你已经阅读到这里,你应该对这两个去中心化社交网络的设计原则有了大致的了解。每个网络都有它的优势和问题,现在让我们来分析一下二者的利弊。
ID 或个人档案
在 Farcaster 上,你需要每年更新一次您的 ID。而在 Lens 上,你只需做一次就可以了。哪个更好呢?这要看情况。
Farcaster 一直致力于提供高质量的对话,它之所以要求人们为个人档案付费,原因之一在于是支持 Hubs,其次是为了确保用户能够投入精力。虽然这样做有好处,但在我心中,我不确定这是否能确保 Farcaster 获得大规模的采用。但 Farcaster 是否希望建立大规模的采用呢?更多的用户将带来更多的负面信息,我认为他们正通过在网络中提供高质量的个人档案来降低负面信息的比例。到目前为止,Farcaster 上已经可以进行深入的谈话了。
在 Lens 上,任何人都可以铸造他们的 ID,并且不需要更新。尽管这很简洁,但它允许人们为大品牌创建档案(就像目前已经在 ENS 或域名上发生的那样),并向人们收费以控制该社交媒体个人资料。这是好事吗?由于个人档案不会过期(与 Farcaster 不同),所以只有时间会给我们答案。
社交图谱
Lens 最有趣的功能之一是将个人档案中的所有信息都保存在链上。该协议为你的动态创建合约,因此任何使用该协议的客户端都会显示完全相同的内容。你的关注者和内容将一直和你绑定在一起,不受平台的影响。
另一方面,Farcaster 为你提供了更多的灵活性。虽然 Lens 看起来不错,但我已经尝试了一些只显示图片动态的「Instagram 克隆版」。这听起来很酷,但我无法分离我的内容,而在 Farcaster 上,我却可以这么做。每个应用程序都能依靠 delta 图谱来构建其粉丝列表。唯一的问题是,如果你想更换客户端,你就需要以某种方式「导出」你的粉丝。至于这到底是好事还是坏事,我相信时间将给出答案。
全部链上存储 vs 部分链上存储
Lens 使用 Polygon 进行所有交易,所有内容都保存在 Polygon 上,而 Farcaster 则使用其链下解决方案。
Lens 会将一切都保存在你的钱包中,作为不同合约(模块)创建的 NFT。这种做法相当聪明,因为这样你的社交图谱和帖子可能会无限增长。然而,Farcaster 上的 hub 在 delta 图谱的大小上有限制(64TB)。这个图谱大小的限制是为了移除旧帖子,让内容一直处在最新的状态。我喜欢这种方法,因为它符合 GDPR 关于被遗忘权的原则。Lens 的方法很「简单」:由于你拥有一切,所以你应该能够摧毁/销毁一切。但是如你所知,区块链将保存历史记录,因此任何人都可以知道你在某个特定时间所说/做的事情。GDPR 在这方面的立场可能会很有趣。
扩展协议
在 Lens 上,你可以扩展模块,因此拥有无限选择;而在 Farcaster 上,你需要提出提议来更改协议,并且所有 hub 都需要升级以支持这些更改。二者之中我更喜欢 Lens 的方法,因为你可以设置并部署拥有自己规则的合约。不过,Farcaster 的方法更像其他开源项目,也有其优势。如同其他解决方案,时间将给出答案。
个人体验
就我个人而言,我既使用 Farcaster 也使用 Lens,我对两者都感觉很满意。然而,到目前为止,我确实发现了两者之间的巨大差异。
对我来说,Farcaster 是一个可以找到深入且有趣对话的地方。我可以与社区进行有效互动,并且总能从别人那里学到新的东西。与 Twitter 相比,它非常庞大。在 Twitter 上,我通常看到的都是各种推广和充满仇恨的讨论;但在 Farcaster 上,大家在讨论时用语文明,举止得体,即使意见不合,你也会愿意与大家耐心交流并从中学到新的东西。
另一方面,Lens 则是艺术家和创作者的聚集地。我在 Lens 上的粉丝比 Farcaster 多得多,但是互动较少。虽然我的动态内容获得了不少点赞和转发,但实际上我几乎没有在评论中参与任何互动。所有的点赞和粉丝似乎都是虚假的,因为我无法通过评论与其他人互动。尽管它的技术非常出色,但这种感觉还是会让人不适应。我喜欢它的收藏功能,以及可以设定关注和收藏规则。Lens 的一个很酷的功能是Wav3s,它可以让你为转发你帖子的人设置付费条件。这样,你不需要支付平台费用,而是支付给你的粉丝和 Lens 用户,让他们帮你将内容传播给他人。这是一个很好的点子,但它引发了这样一个问题:拥有较少资金的人是否会在发展自己社区方面遇到困难?显然,这个问题的答案是:如果你有优质内容,人们自然会来,但情况并非总是如此。
现在,这两个协议都有多个客户端应用程序。每个应用都有其自身的优缺点,我也很愿意尝试每个应用并收获不同的用户体验。Buttrfly、Orb和Phaver是你可以在 Lens 上使用的 3 个手机应用,而Jam和Warpcast则是 Farcaster 上的应用。
目前,Warpcast 是 Farcaster 上唯一一个功能齐全的客户端,但很快 Jam 也会加入。正如之前解释的那样,有意思的测试点在于,我在 Warpcast 上的社交图谱将不存在于 Jam 上,所以我需要从头开始创建一个新的图谱。
在尝试了 Lens 之后,我体验了 Phaver 和 Orb。Phaver 有点奇怪,让我摸不着头脑。其用户体验较为不同寻常,因为它拥有自己的社交网络,用户可以在 Phaver 和 Lens 之间切换。这也迫使用户更改一些设置才能使用,令人感到有些别扭。与此相反,Orb 是一个功能齐全的解决方案。虽然还缺少一些细节,例如从客户端设置收集选项,但可以肯定的是,这些问题将在即将发布的版本中得到解决。
总结:如果可以的话,我建议大家两个都可以尝试。我认为它们将拥有各自的社群,并且同时使用两者会更有趣。由于一切都是去中心化的,许多应用程序将能够把所有内容集中在一个应用当中,例如Yup(我也在寻找测试的机会)。事实上,社交网络已经很多年没有让人感到如此兴奋过了。
文章来源于互联网:Farcaster vs Lens Protocol全面测评:谁是更好的去中心化社交协议?