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

By [DAOrayaki](https://paragraph.com/@daoctor) · 2023-02-24

---

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](https://discord.gg/wNUPmsGsa4)

Medium: [https://medium.com/@daorayaki](https://medium.com/@daorayaki)

Email: [daorayaki@dorafactory.org](mailto:daorayaki@dorafactory.org)

微信助手：DAOrayaki-Media

Twitter: @daorayaki\_

小宇宙：DAOrayaki

---

*Originally published on [DAOrayaki](https://paragraph.com/@daoctor/daorayaki-nostr-2)*
