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