Mastodon 去中心化服务器结构图
从左到右:集中式、联合式、分布式。
Mastodon 网站可以独立运营。就像传统网站一样,人们可以在其上注册、发布消息、上传图片并互相交流。与传统网站不同的是,Mastodon 网站可以互操作,让用户之间可以相互交流;就像你可以从 Gmail 帐户向 Outlook、Fastmail、Protonmail 或任何其他电子邮件提供商的用户发送电子邮件一样,只要你知道他们的电子邮件地址,你就可以使用他们的地址在任何网站上提及或发送消息给任何人。
联邦式具体表现
每个服务器都是独立的实体
每个 Mastodon 实例(比如 mastodon.social
、infosec.exchange
):
都是由不同的人/组织独立运营;
有自己的用户数据库、内容数据、管理规则;
用户注册、发帖、互动,完全在本地服务器上完成;
不依赖一个“中央服务器”来存储或管理所有人和内容。
联邦协议(ActivityPub)连接各个服务器
Mastodon 使用 —— 一种由 W3C 标准化的协议,实现服务器间互联:
当你在
@alice@mastodon.social
上发帖,关注@bob@infosec.exchange
:mastodon.social
会通过 ActivityPub 协议和infosec.exchange
通信;把 Bob 的内容同步到你的时间线;
当你评论 Bob 的帖时,系统再通知 Bob 所在的服务器。
所有这些通信都是通过服务器间的“去中心化联邦”协议完成的,没有一个中央数据库,也不需要统一的审批或调度中心。
支持用户迁移
用户在一个服务器可以迁移到另外的服务器,而关注者会自动收到的迁移账号信息。同时支持你的个人信息进行导出和导入处理。
不够中心化问题分析
服务器内部治理
服务器内部依旧是一个微博,管理者有绝对的话语权。以服务器为单位,用户存在被服务器管理者删除、禁言、以及停用账号可能。服务器管理员的权限非常高,你在所在实例的全部行为都受制于管理员,这也是 Fediverse 去中心化模型的一个特点:
每个实例自主管理;
管理员对自己服务器上的用户拥有“超级权限”;
但对其他实例的用户只能进行“联邦级屏蔽”;
用户可以选择信任的服务器,也可以随时迁移到其他实例。
以服务器管理者(社区管理者)而言,可以拒绝来自其他社区的信息通过。即:本社区人员不会接受到(管理者拒绝)其他社区的关注者。
管理员无法直接管理其他服务器的用户,但可以在联邦层面执行控制:
权限 | 描述 |
---|---|
屏蔽某个远程用户 | 该用户发布的内容将不会传入本实例 |
屏蔽整个远程实例(domain block) | 拒绝与该实例的所有交互(常用于垃圾站或违反规则的实例) |
限制联邦范围的内容传播 | 控制本地用户是否能看到来自某个实例的内容 |
内容同步方式
目前 Mastodon 和 Fediverse 的架构主要支持“通过关注来被动同步内容”,而不支持自动“跨服务内容双向同步”。这是由于服务器现实性能决定的,每个服务器都同步内容是完全不现实的。
总结
用户有灵活的迁移权力,用户如果在某个社区被限制(没有被暂停账号的情况下),可以迁移用户的关注。
关注着在看到你的迁移信息后,会自动跳转打对应的服务器社区同步你发的内容过来。(只有关注着可以看得你在其他服务器上的内容)。
服务器管理者有绝对权力的处理本服务器(社区上的账号)。删除账号,不让其他服务器发消息给。