基于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协议的社交网络内容发现和中继使用思考!

最后的想法

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

发布者:幻境meta,转载请注明出处:https://nft.aiju.com/news/56957.html,如涉及作品内容、版权及其它问题,请联系本站!

『声明:根据央行等部门发布的《关于进一步防范和处置虚拟货币交易炒作风险的通知》,本文内容仅用于信息分享,不对任何经营与投资行为进行推广与背书,请读者严格遵守所在地区法律法规,不参与任何非法金融行为』
(0)
幻境meta的头像幻境meta
上一篇 2023年2月27日 09:20
下一篇 2023年2月27日 09:40

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注