本文将简析一下Farcaster 这个被 Vitalik 和 a16z 看好的去中心化社交协议。
原文作者:defioasis
原文来源:吴说Real
在上周,Vitalik Buterin 推特帐户被黑客攻击并用于发布钓鱼链接,导致用户损失超过 69 万美元。Slowmist 余弦在研究后指出,Vitalik 推特被盗事件的钓鱼组织仍然与当下火热且疯狂的 PinkDrainer 有关,被黑的手法可能是 SIM 劫持或其他可能。两日后,Vitalik 在去中心化社交媒体 Farcaster 表示自己的推特账6户确实遭到了 SIM 卡劫持攻击,原因可能是在注册 Twitter Blue 时暴露了手机号码,此前见过不要通过手机号码进行身份验证的建议,可惜并未意识到。Vitalik 表示已卸载 Twitter,并加入到可通过 Ethereum 地址来控制账户恢复的 Farcaster。
Farcaster 是一个用于构建社交应用的去中心化协议,可以通过如 Opencast 和 Warpcast 等前端来使用 Farcaster。Farcaster 曾在2022年获得 a16z 领投的 3000 万美金。本文将简析一下这个被 Vitalik 和 a16z 看好的去中心化社交协议。
社交网络核心问题
社交网络活动可以简单理解为一组用户进行互动,如向对象发送信息(文本、图像和音频等)、为对方帖子点赞、评论、转发等。在中心化的社交网络中,这一组用户只能局限在一个特定的社交应用中去进行交互,而在去中心化的社交网络中,将允许这来自不同应用的一组用户进行跨应用式地交互。
这也将面临挑战,Farcaster 将其归类为去中心化社交网络的四个核心问题:身份、认证、可用性和一致性。身份,即用户名,允许用户在不同的社交应用程序之间切换并作为用户身份;认证,当用户收到他人来信时,必须确保其是所认识的信任源;可用性,用户数据在不同的应用中皆始终可用;一致性,社交网络规则,所有的前端应用都需要始终支持并执行这些规则。
Farcaster 的解决方案
Farcaster 社交网络涵盖三个层次:身份层、数据层和应用层。身份层,是基于 Ethereum 确定网络上可执行的操作及授权方式,身份和认证是核心;数据层,存储由身份层授权的信息,并使其可用;应用层,消费数据层存储的信息。
(1)身份:Farcaster ID(FID)
Farcaster 为用户社交身份引入了用户名和 Farcaster ID(FID),其中 FID 是由 Farcaster 推出的用户标记用户身份唯一且不可篡改的标识符。FID 标识符是一串数字,绑定用户的主地址,尽管是去中心化的,但用数字标识符代表用户并不合适,因而用户可以选择注册一个 Farcaster 名字即用户名并将其与 FID 相绑定。Farcaster 的用户名有一个专门的称之为命名空间的地方进行管理,用户名可能会被收回,而 FID 则不会。
用户名和 Farcaster ID 在 Ethereum 上将体现在两个不同的合约,名字注册表和 FID 注册表,二者构成了 Farcaster 用户身份的基础。
值得一提的是,用户的身份恢复便受益于 FID。用户可以提前设定一个其他地址作为恢复其 Farcaster 身份的凭证,这个其他地址可以是用户自己的另一个钱包地址、其他认识的 Farcaster 用户地址,甚至是第三方托管机构。
(2)认证
消息认证受益于 Farcaster ID。当一名用户收到信息时,通过查看发送方 FID,在 Ethereum 链上查找相对应的公钥(地址),然后检查该签名发送方是否由该地址产生,即可确认这条消息的真实来源。
为了保护用户在设备上的私钥问题(私钥需要加载到设备应用上才能产生签名),Farcaster 引入了 Signers(签名者)概念。签名者是链外生出的 Ed25519 密钥,用户通过使用签名者的公钥向 KeyRegistry 进行交易来注册签名者,然后私钥可用于签名并向网络发布消息。
(3)可用性:存储租赁
在中心化社交应用中,用户将信息存储在类似于 RSS 服务器上,并通过索引所有这些服务器来获取网络上的所有数据。Farcaster 引入了存储数据的 hubs,当不同的用户进行社交交互时,会下载对方的信息副本,并存储起来。
但为了防止垃圾信息充斥在 hubs 上,Farcaster 向用户收取在网络上存储数据的租金,这也是 Farcaster 主要的营收来运。用户通过向 Farcaster 支付年费的方式来租用存储空间,这可以抑制垃圾信息,又鼓励用户清楚价值较低的数据。存储由 StorageRegistry 合约在链上管理和跟踪。
(4)一致性
Farcaster 并非是一个直接的社交应用,而是一个更底层的社交协议,好比于 Lens Protocol 与 Lenster 的关系。目前在 Farcaster 上构建的应用主要包括由 DAO 支持的 Web3 社交应用 Alphacaster、创建和分享 Discove、链上化群组和个性化订阅 Jam、开源的 Twitter 风格前端 Opencast 和 Warpcast,以及交叉发布到 Twitter 和 Lens 的社交聚合器 Yup。Vitalik 使用的 Farcaster 前端便是 Warpcast。在 Warpcast 使用逻辑上,已基本与 Twitter 核心逻辑无异,可以查看“世界群组”的广域帖子,也可以对关注的用户帖子(线程)进行留言、转发和点赞。
构建在 Farcaster 的应用为存储在 hubs 上的数据提供了消费场景,应用服务器与 hub 通信,下载所有信息,组织并分类这些信息,以创建针对不同用户体验的应用,然后提供 API 供移不同客户端的用户使用。
在 Farcaster 上构建的应用需要遵循 Farcaster 粗略共识(rough consensus)和运行代码,并以此作为了 Farcaster 的治理模型。当有人提出一个 FIP 提案(Fracaster 改进提案),得到协议开发者、应用程序开发者和用户的认可,并发布代码后,对于 Farcaster 的变化就会随着发生。不同主体通过同意或拒绝达成共识。Farcaster 不会设置具有约束力的投票程序,以及不存在官方角色的否决权。
社交生态系统伙伴
通过 Farcaster 身份帐号链接至其他应用或社区,包括用户提醒 Alertcaster、Move-to-Earn Blobs、链上社交活动预告 Eventcaster、Farcaster 生态系统指标追踪 Farcaster Network、完成任务赚取积分 FarQuest、消息应用 Frens、Ethereum 链上探索 Interface、去中心化黑客新闻 Kiwi News、寻找最新的 Web3 项目 Launchcaster、个性化媒体源 Neynar、出版和通讯 Paragraph、寻找有趣话题 Pincaster、由 Nouns Builder 创建的 DAO 工具 Purple DAO、所搜引擎 Search via Raycast、使用 API/GUI 搜索 Searchcaster、Farcaster 社区内容探索 Surveycaster、小费打赏 Tipcast 和由 Token 驱动的实时流媒体 Unlonely。
目前 Farcaster 尚处于测试版阶段,用户可以先提交候补名单等待。Farcaster 与 Lens Protocol 都作为构建社交网络的底层协议,但与 Lens Protocol 相比,Farcaster 更远离用户聚光灯,聚焦于开发者和应用创建。在 Vitalik 宣布使用 Farcaster 前后的截至 9 月中旬官方数据,Farcaster 总用户数刚超过 2 万,在 hubs 上有超过 380 万条历史信息,并在迁移至 Optimism 后着手进行垃圾信息过滤以面向更多用户开放。尽管并没有任何消息有关 Farcaster 的空投计划,但 Farcaster 已经将 FIP 治理模块作为协议重要一环,仍值得用户体验与交互。