DAOrayaki|基于Nostr协议的社交网络内容发现和中继使用思考

01摘要

本文将讨论,如何使用Nostr协议构建一个既安全又促进去中心化的基础 "社交网络 "应用。

基础的应用程序:

假设一个基础的 "社交网络 "应用就像Twitter一样。在twitter上,人们有3个page。

主页动态:显示你关注的每个人的动态。

个人Profile:个人资料视图,显示该用户的所有动态。

回复:显示对某一特定动态的所有回复。

一些Nostr客户端可能还想提供另一种体验,即显示所有人posts的全局流(Global Feed)。

中继(Relays)的简单分类:

假设现有的中继可以分为三类:

  • 充满垃圾邮件的中继:任何人都可以发布任何类型的内容,没有过滤;

  • 安全中继:存在一些进入障碍,例如需要付费或需要一些繁琐的用户注册过程,垃圾邮件发送者或发布不良内容的人被禁止 - 但这仍然是一个基本上对任何人开放的中继;

  • 封闭式中继:只有特定类型的人才能进入,例如,一群朋友或封闭式在线社区的成员。

如何关注和查找特定人资料中的帖子:

当一个用户开始关注某人时,可以通过4种不同的方式进行。

  • 从应用程序中看到这个人

  • 使用nprofile URI

  • 使用一个NIP-05地址

  • 使用一个Bear的pubkey('npub')

情况1

当一个用户开始关注某人时,可以通过4种不同的方式进行。

  • 发生在你或其他人的帖子的回复中

  • 全局feed帖子中

  • 从其他人引用或重新发布的帖子中看到该人

当这种情况发生时,预计引用(在e和p标签中)包含中继的URL,以便在第一次接触时将该人与一个中继URL联系起来。

情况2和3

在情况 2 和 3 中,nprofile 和 NIP-05 地址都应该包含该人的首选中继列表,因此我们可以基于此为该人引导中继列表。

情况4

在情况 4 中没有中继列表,因此要么通过弹出窗口或其他方式提示用户,要么尝试在已知的中继之一中搜索该公钥。 这仍然是备选方案。

一旦有了给定配置文件的中继 URL,就可以使用这些中继从该公钥查询注释。 随着时间的推移,该用户可能会迁移到其他中继,或者可能会知道该用户也正在向其他中继发帖。 为了确保发现这些东西,我们必须注意在任何地方看到的所有事件的标签中发送的提示 - 来自任何人 - 以及类型 2 和 3 的事件,并相应地升级我们拥有配置文件和中继之间关系知识的本地数据库。

实现应用视图

根据我们目前收集到的信息,我们可以轻松呈现主页和个人资料视图。 为此,它仅使用有关配置文件和中继之间关系的本地信息并获取注释:

  • 对于主页,来自我们关注的所有人

  • 对于个人资料视图,仅来自该特定个人资料

由于我们要从中继获取非常具体的数据,我们并不关心是否安全的,因为我们可以选择过滤垃圾邮件的中继。

现在,每当用户点击一条动态时,我们都希望显示回复状态。 在这种情况下,我们将只查询安全和关闭的中继,否则垃圾邮件可能会注入到应用程序中。 相同的原则适用于全局feed。

其他启发和极端情况

本文并没有涵盖许多极端情况。 这只是为了描述一种对于去中心化的 Nostr 来说足够稳健的方式。

例如,如何显示某人引用的笔记? 如果它有中继提示,我们查询该中继。 如果没有,我们可以尝试与刚刚提到它的人相关联的中继,或者我们刚刚看到提到它的注释的同一个中继——因为,当提到它时,有人可能直接将它发布到自己的中继——等等。

最后的想法

比所有这些更重要的是,我们必须牢记,Nostr只是一组非常松散的服务器,它们之间基本上没有任何联系,没有任何保证,而与他人保持联系和寻找内容的过程必须通过许多不同的Hackers尝试来解决。要编写Nostr应用程序和使用Nostr,就必须接受现在的混乱。

致谢

DAOrayaki DAO研究奖金池:

资助地址: DAOrayaki.eth

投票进展:DAO Committee 3/0 通过

研究种类:DAO, Governance

贡献者:DAOctor@DAOrayaki

审核者:Yofu @DAOrayaki

原文:A vision for content discovery and relay usage for basic social-networking in Nostr


DAOrayaki是一个代表社区意志的去中心化媒体平台。通过构建基础且关键的去中心化媒体组件,链接社区内资助者、创作者、策展者和读者,使其自由的策展、研究、创作、出版和报道各类话题。欢迎通过以下方式提交星际移民、量子计算、DAO、Web3等的相关策展、研究并提案获得资助!

官方网站:daorayaki.org

Discord server: https://discord.gg/wNUPmsGsa4

Medium: https://medium.com/@daorayaki

Email: daorayaki@dorafactory.org

微信助手:DAOrayaki-Media

Twitter: @daorayaki_

小宇宙:DAOrayaki

Subscribe to DAOrayaki
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.