nostr README

The project's README from github.com/nostr-protocol/nostr. As one markdown file: README.md.

Nostr - Notes and Other Stuff Transmitted by Relays

The simplest open protocol that is able to create a censorship-resistant global "social" network once and for all.

It doesn't rely on any trusted central server, hence it is resilient; it is based on cryptographic keys and signatures, so it is tamperproof; it does not rely on P2P techniques, and therefore it works.

The initial description of the idea can be found at https://fiatjaf.com/nostr.html. A less dry presentation of the idea can be found in this video from Uncle Bob.

How it works

It's a very simple idea: each person can publish their notes to multiple relays (which are just simple servers), and people who follow them can connect to these relays and fetch the notes. The protocol just defines the messages that can be sent between clients and relays in order to publish and fetch the content they want.

These relays can be hosted by anyone and have any rule or internal policy they want. The fact that the protocol is open makes it so that, as long as there is any relay willing to host someone, they can still publish their stuff for their followers, and the followers can find their stuff in that relay.

Relays can also lie about data published by others, but to ensure that isn't a problem, public-key cryptography is used and every note is signed. When you follow someone you're actually following their public key and clients will check notes received from relays to ensure they were properly signed. Here is a video that explains the role of relays pretty well: nostr:nevent1qqsqhrasmmw0nnwjfeeka9sy4zl3c6rw5w2mtv4lugutl4luw57x7nqpr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qyfhwumn8ghj7mmxve3ksctfdch8qatz9uq3wamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmny9u76jrg5.

The hardest part is how to find in which relay you will find notes of each person you follow, since they can be anywhere. There are multiple heuristics currently being used to approach this issue. An animated description of one possible flow can be seen at https://how-nostr-works.pages.dev/#/outbox.

Protocol specification

See the NIPs and especially NIP-01 for a reasonably-detailed explanation of the protocol spec, it's very small.

Getting started

There are many ways to get started using Nostr, but one simple and recommended way is to visit https://start.njump.me/ and go from there.

Software

A list of mostly-ready to use apps is kept at https://nostrapps.com/.

A very big and daunting list of clients and libraries for all platforms and languages imaginable can be found at https://nostr.net/.

License

Public domain.

nostr (nostr-protocol/nostr)

Searching Database…

12.1K ·GitHub
这是什么东西?Nostr(Notes and Other Stuff Transmitted by Relays)是一个开放协议,用于构建一个无法被审查的全球社交网络。这个仓库保存的是理念和规范,而不是一个应用。
Nostr 是一个可以安装的应用,还是别的东西?它是一个协议,不是程序:它定义的是客户端和中继器之间交换的消息。真正的应用(客户端)和中继服务器都是独立的项目,列在 README 里。
我要怎么开始使用它?按照 README 推荐的入门网站操作,在那里选一个客户端。README 里还链接了一份接近完工的应用列表,以及一个涵盖所有平台和语言的客户端与库的大型目录。
发帖需要自己搭建中继服务器吗?不需要——你可以把笔记发布到你喜欢的任何中继器。中继器是很简单的服务器,任何人都能搭建,每个中继器都可以自行制定规则和内部政策。
使用 Nostr 最麻烦的地方是什么?要弄清楚你关注的每个人的笔记存放在哪个中继器上,因为笔记可能散落在任何地方。目前客户端会用各种启发式方法来绕过这个问题。
这个协议可以随意使用吗,许可上有什么限制?它属于公有领域——任何人都可以不受限制地使用和实现它。
中继器会不会伪造或篡改我的笔记?每条笔记都用公钥密码学签名,客户端会验证从中继器收到的笔记的签名。你关注某人时,实际关注的是对方的公钥,所以撒谎的中继器无法把伪造的笔记蒙混过关。
Nostr 为什么不像其他去中心化网络那样使用 P2P?这是刻意的设计选择:README 声明它不依赖 P2P 技术,'正因如此它才能正常工作'。笔记经由普通的中继服务器传递,这让整个系统保持简单可靠。
协议规范在哪里,篇幅有多大?在 NIPs(Nostr Implementation Possibilities)里,NIP-01 是核心文档。README 强调这份规范非常小。
现在有现成可用的应用了吗?有——README 指向了一份接近完工的应用列表,此外还有一个非常庞大、令人望而生畏的客户端与库列表,'涵盖你能想象到的所有平台和语言'。
Size
0.5 MB
Stars
12.1K
Age
5y
Commits · 90 Days