本文将分析和讲解 Mastodon 和 Nostr 这两个社交媒体平台,重点关注它们的产品应用和技术层面,以了解它们实现去中心化社交,并探讨它们在这方面的优势。
撰文:Yooma
本文将分析和讲解 Mastodon 和 Nostr 这两个社交媒体平台,重点关注它们的产品应用和技术层面,以了解它们实现去中心化社交,并探讨它们在这方面的优势。我们将深入了解它们的架构设计和实现思路,并比较它们在用户体验、隐私保护、安全性等方面的差异。通过本文的分析和总结,读者将更好地了解这两个平台,以及它们在去中心化社交方面的贡献和发展。
Mastodon( 长毛象 ) 成立于 2016 年,是由 Eugen Rochko 创建的一个开源的微博客 (microblog) 平台,旨在为用户提供去中心化、隐私保护的社交体验。

首先对涉及到的一些名词进行简单解释:
从左到右:集中式、联邦式、分布式(图片来源:https://docs.joinmastodon.org/)
Mastodon 在使用体验上非常类似于 Twitter,但它是去中化的,这是 Mastodon 与 Twitter,YouTube 等社交媒体最大的不同之处。
Mastodon 社区是由无数实例组成的。Mastodon 的用户数据存储在不同的实例中,每个实例都是独立的,用户可以在不同的实例之间无缝连接,这种分散的数据存储方式可以更好地保护用户的隐私。此外,每个 Mastodon 实例都有自己的隐私政策和使用条款,用户可以自由选择注册哪个实例,选择自己信任的实例来保护自己的数据隐私。
每个人都可以搭建实例,每个实例可以有它自己的主题,比如卡通,休闲,动物,编程等等,也可以没有任何特定主题。
Mastodon 采用的是ActivityPub协议来实现站点之间的互动。与其他常用的社交媒体不同的是,Mastodon 的用户不仅可以互相关注、分享内容、评论和转发。而且可以与来自其他通过 ActivityPub 实现联合的软件的用户进行互动,这样就扩大了用户的社交范围,促进了社交网络之间的互联互通。
这些软件和社交网络之间的互联互通构成了联邦 (federation) 的网络结构,而这些软件被统称为联邦宇宙 (Fediverse)。包括但不限于以下应用:
ActivityPub 协议中规定了一些可选的元数据,实例可以选择只存储部分元数据,以减少存储空间的占用和网络带宽的消耗。例如,实例可以选择只存储文章的标题、作者和摘要。
当用户 A 发布到了实例 A 上,实例 A 会储存该文章的所有数据,用户 B 在实例 B 关注了用户 A,此时实例 B 也会储存该文章的所有数据,用户 C 在实例 C 中未关注用户 A,那么实例 C 储存的就是该文章的部分元数据。
Mastodon 还有一个值得一提的特点,就是它没有广告。相较于其他社交网络,Mastodon 没有中心化的广告商,也没有实例可以通过插入广告来获利。这是因为 Mastodon 的分布式结构和 ActivityPub 协议的应用,使得每个实例都是独立运营的,不会依赖于广告来维持运营。而且,由于 Mastodon 的用户分散在不同的实例中,广告的效果也很难被量化和追踪,因此广告在 Mastodon 上不具备实际的商业价值。
由于 Mastodon 免费开源以及不存在广告,所以只能通过捐款的方式支持开发团队和实例服务器的运营成本。
Nostr 是由 fiatjaf 开发,于 2020 年启动的一种简单、开放的社交协议,支持全球、去中心化和抗审查的社交媒体。

运行原理:
由于 WebSocket 协议提供了更好的实时性和可靠性,这对于一个社交媒体平台来说非常重要。在 Https 中,每个请求都要进行 TLS 握手,这会导致一定的延迟。而一旦建立了 WebSocket 连接,后续的消息传输将会更快,因为 WebSocket 连接是始终打开的,没有额外的 TLS 握手。此外,WebSocket 还支持双向通信,这意味着服务器可以主动向客户端推送数据,这是 Https 所不具备的。因此,选择使用 WebSocket,以提供更好的实时性和可靠性。
使用:
在 Nostr 中,Event 是一种用于描述用户在社交网络中进行的行为(如发布消息、关注某人等)的数据类型。在客户端发送 Event 时,它会先进行签名,然后才会被发送到中继节点。
比如用户 A 发布一篇文章到中继 A、B:客户端 A 使用用户 A 的私钥对其进行签名,获取文章时使用用户 A 的公钥对其签名进行验证。如果中继 A 的拥有者对该文章进行更改,则验证也就不通过,客户端也就不会对其进行展示,只会展示从中继 B 获取的正确的文章内容。
优势:
由于 Nostr 是去中心化的,和中心化的服务(如 Twitter)不同,所以 Nostr 的发展方向取决于所有人的意愿。为了让用户更好地参与协议的改进和发展,Nostr 引入了 NIP(Nostr Improvement Proposals)这一标准化流程,用于提出和讨论对 Nostr 协议的改进建议。任何人都可以通过提交 NIP 来对 Nostr 协议进行改进和发展,这有助于保证协议的发展方向更加民主和开放。NIP 的目的是让改进流程更加透明、高效和安全,保证所有人都可以提出协议改进的建议,并且让改进的流程变得更加规范化和公开。
核心特点:

Mastodon 和 Nostr 都是为了实现去中心化社交。
从用户数据隐私层面看,我认为 Nostr 更占优一点,由于 Mastodon 的账户模式不同于 Nostr 的公私钥对,用户登录需要服务器来认证,这本身是一个中心化行为,而且用户需要信任使用的实例,而 Nostr 的客户端使用用户私钥对其的数据进行签名以验证数据的完整性。
从更宏观的角度来看,由于 Mastodon 的实例使用ActivityPub 协议,它可以实现各个软件中的互联互通(前提这些软件应用也集成了ActivityPub 协议,理论上如果 Twitter 以及 Youtube 实现了该协议也可以与 Mastodon 实例通信),如果集成该协议的应用越来越多,联邦宇宙的规模和潜力就越大,那么也就会更有优势和发展空间。试想一下,我在 Twitter 中看到了 Youtube 中的视频以及 Instagram 中的内容,并且还可以点赞评论和转发。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
