内容发现
Bitsocial 不会在协议中放置一种全局提要、搜索索引或排名算法。它将内容发现分为两层:
- 网络查找找到当前为已知社区服务的对等点。
- 应用程序管理决定产品首先显示哪些社区、论坛、列表或帖子。
这使得协议很小,同时为许多发现体验留下了竞争的空间。
网络查找
每个社区都有一个从其公钥派生的稳定地址。当客户端已经知道该地址时,它会查询轻量级 HTTP 路由器以查找宣布自己为该地址提供者的对等点。
路由器仅返回提供商对等地址。它们不存储帖子、元数据、用户列表或人类可读的社区目录。客户端收到对等点地址后,它会连接到这些对等点并获取最新的社区元数据和内容指针,然后通过哈希值获取实际的帖子数据。
这回答了协议问题:“我在哪里可以获取该社区的最新状态?”
应用程序管理
单独的产品问题是:“用户应该首先看到哪些社区?”
Bitsocial 将其留给应用程序、列表和用户,而不是将一个答案放入网络中。示例包括:
- 显示用户已经关注的社区的客户端
- Reddit 风格应用程序的精选默认列表
- 图像板式应用程序的目录槽
- 由特定应用程序维护的搜索或排名索引
- 用户共享的直接链接
应用程序可以对不同的事物进行索引、排名、过滤或突出显示,而无需将这些选择转化为协议法。如果一个应用程序的发现界面没有用,另一个应用程序可以在相同的底层社区上构建不同的发现界面。
当前应用程序
5chan 目前使用熟悉的目录路径,例如 /b/ 或 /g/。目前,目录分配是通过公共列表进行管理的,未来的版本预计将支持应用程序内板的创建和目录位置的投票。
Seeedit 在其首页使用默认社区列表。仍然可以在默认列表之外创建和共享社区。
在这两种情况下,应用程序级列表都会帮助用户找到要打开的内容,然后协议级查找会将所选社区解析为对等点。
为什么这种分裂很重要
单一的去中心化网络仍然需要良好的发现,但发现层应该是可替换的。 Bitsocial 的核心协议侧重于可寻址性、同行查找、发布和反垃圾邮件。管理位于该层之上,应用程序可以在其中尝试目录、默认列表、提要、搜索、投票和审核策略,而无需进行网络范围的迁移。