Das Outbox-Modell verstehen
Erfahre, wie Nostr sicherstellt, dass deine Posts alle erreichen, die dir folgen
Das Problem: Fehlende Posts
Hast du schon mal etwas auf Nostr gepostet, aber deine Freunde konnten es nicht sehen? Oder jemandem gefolgt, aber nie seine Posts gesehen? Das ist das Discovery-Problem.
Die alte Art (vor dem Outbox-Modell)
Du postest → Relay A → ❌ Dein Freund nutzt nur Relay B
Sicht deines Freundes:
❌ "Wo ist der Post von @alice hin?"
Du hast zu deinem Lieblings-Relay gepostet, aber deine Follower nutzen vielleicht ganz andere Relays. Sie würden deinen Content nie sehen!
Die Lösung: Das Outbox-Modell
Das Outbox-Modell löst das, indem es bekannt gibt, wo du postest. Stell dir das vor wie eine Nachsendeadresse.
Du: "Ich poste zu Relay A, Relay B und Relay C"
(Gespeichert in deinem kind:10002 Event)
Follower: "Verstanden! Ich prüfe diese Relays auf Posts von @alice"
Was ist das Outbox-Modell?
Das Outbox-Modell (NIP-65) ist wie ein öffentliches Adressbuch, das allen sagt, wo sie deine Posts finden können.
Die Post-Analogie erweitert
Erinnerst du dich, dass Relays wie Postämter sind? Das Outbox-Modell fügt ein Nachsendeadressen-System hinzu:
Traditionelles Postamt:
- Du hast einen Briefkasten bei einem Postamt
- Wenn du umziehst, schicken Leute Post an die falsche Adresse
Nostr Outbox-Modell:
- Du hast eine öffentliche Liste von Postämtern, bei denen du Post empfängst
- Wenn du “umziehst” (Relays wechselst), aktualisierst du deine öffentliche Liste
- Jeder weiß, wo er dich finden kann
Deine Relay-Liste (kind:10002)
Dein Nostr-Client erstellt automatisch eine Relay-Liste, die anderen sagt:
{
"kind": 10002,
"tags": [
// Relays, auf denen du postest (dein "Postausgang")
["r", "wss://relay.nostr.info", "write"],
["r", "wss://relay.damus.io", "write"],
// Relays, auf denen du Erwähnungen liest (dein "Posteingang")
["r", "wss://nos.lol", "read"],
["r", "wss://relay.primal.net", "read"]
]
}
Marker erklärt:
- write → Wo du deinen Content postest (Postausgang)
- read → Wo du nach Erwähnungen/Antworten schaust (Posteingang)
- kein Marker → Sowohl lesen als auch schreiben
Wie es in der Praxis funktioniert
Szenario 1: Alice postet, Bob folgt
Alices Relay-Liste (kind:10002):
- wss://relay.a.com [write]
- wss://relay.b.com [write]
- wss://relay.inbox.com [read]
Bob folgt Alice. Bobs Client sieht:
"Prüfe wss://relay.a.com und wss://relay.b.com auf Posts von Alice"
Ergebnis: Bob verbindet sich mit beiden Write-Relays und sieht Alices Content! ✅
Szenario 2: Charlie erwähnt Alice
Charlie erwähnt @alice in einem Post
Charlies Client prüft dieselbe Relay-Liste und sucht den
[read]-Eintrag, also Alices Posteingang:
- wss://relay.inbox.com [read]
Charlies Client schickt die Erwähnung dorthin
Ergebnis: Alice sieht die Erwähnung, auch wenn sie offline ist! ✅
Szenario 3: Alice wechselt Relays
Alice nutzt relay.a.com nicht mehr, beginnt mit relay.c.com
1. Alice aktualisiert ihre kind:10002 Relay-Liste
2. Ihr Client veröffentlicht die aktualisierte Liste auf ihren Relays
3. Follower prüfen automatisch relay.c.com
Ergebnis: Keine verlorenen Posts, keine manuelle Neuanbindung nötig! ✅
Warum das wichtig ist
1. Discovery ohne Zentralisierung
Klassische Social-Media-Plattformen haben einen zentralen Server, der alle kennt. Nostr ist dezentralisiert, also braucht es einen anderen Weg, Leute zu finden.
Outbox-Modell = verteilte Discovery
2. Zensurresistenz
Wenn ein Relay dich blockiert, können deine Follower dich trotzdem über deine Relay-Liste auf anderen Relays finden.
3. Flexibilität
Wechsel jederzeit Relays, ohne dein Publikum zu verlieren. Aktualisiere einfach deine Relay-Liste.
4. Effizienz
Clients verbinden sich nur mit den Relays, die du nutzt, nicht mit jedem Relay, das es gibt.
Best Practices
Halte deine Liste klein
Empfohlen: eine kurze Liste. NIP-65 selbst schlägt 2 bis 4 Write-Relays und 2 bis 4 Read-Relays vor, die meisten landen also bei insgesamt vier bis acht.
Warum?
- Mehr Relays = mehr Verbindungen = mehr Akkuverbrauch
- Der Nutzen wird gering, sobald deine Follower dich ohnehin erreichen
- Die Clients deiner Follower lesen direkt die Relays auf deiner Liste, zusätzliche Einträge bringen also nichts
Mische Lesen und Schreiben
Gutes Setup:
- 2-3 “write” Relays (wo du postest)
- 1-2 “read” Relays (für Erwähnungen)
Beispiel:
Schreiben zu: Populäres Relay A, Dein persönliches Relay
Lesen von: Populäres Relay B (für Erwähnungen)
Wähle zuverlässige Relays
Nutze bekannte, zuverlässige Relays, die:
- Online sind, wenn du sie brauchst, und selten ausfallen
- Deine Posts langfristig aufbewahren (manche Relays löschen ältere Posts stillschweigend, um Platz zu sparen)
- In deiner Nähe gehostet werden, damit sich die App schneller anfühlt
Häufige Missverständnisse
”Ich muss auf jedem Relay sein”
Falsch: Auf 20+ Relays zu sein hilft nicht. Relays kopieren Posts nicht untereinander, ein Relay, von dem niemand liest, ist also nur eine zusätzliche Verbindung. Deine Relay-Liste schickt die Clients deiner Follower ohnehin an die richtige Stelle, eine Handvoll guter Relays genügt.
”Wenn ich ein Relay verlasse, verliere ich meine Follower”
Falsch: Aktualisiere einfach deine Relay-Liste (kind:10002). Follower prüfen automatisch deine neuen Relays.
”Private DMs gehen auch durch das Outbox-Modell”
Nicht ganz: Private Nachrichten (NIP-17) laufen über eine eigene DM-Relay-Liste (kind:10050), nicht über die kind:10002-Liste, um die es in diesem Guide geht, und sie sind Ende-zu-Ende verschlüsselt. Dein Client pflegt beide Listen. Wenn DMs nicht ankommen, ist die DM-Relay-Liste die Stelle, die du prüfen solltest.
”Ich muss Leuten manuell meine Relays sagen”
Falsch: Dein Client veröffentlicht deine Relay-Liste automatisch. Follower entdecken sie, wenn sie dir folgen.
Technischer Deep Dive (Optional)
Wie Clients deine Relays entdecken
- Erstes Folgen: Wenn jemand dir folgt, fordert sein Client dein kind:10002 Event an
- Deine Relays werden offenbart: Das Event enthält deine Relay-Präferenzen
- Laufende Updates: Wenn du Relays wechselst, veröffentlichst du ein neues kind:10002
- Verbreitung: Clients verbreiten Relay-Listen, um Discovery zu unterstützen
Ersetzbare Events
kind:10002 ist ersetzbar: Gespeichert wird nur die neueste Version. Alte Relay-Listen sammeln sich also nicht an, und ein Update ist schlicht ein neues Event mit demselben Kind. Clients müssen dafür nichts aufräumen.
Datenschutz-Überlegung
Deine Relay-Liste ist öffentlich. Jeder kann sehen, welche Relays du nutzt. Das ist nötig, damit das System funktioniert, aber sei dir bewusst, dass es sichtbar ist.
Werde aktiv
Prüfe deine aktuellen Relays
Schau in deinen Nostr-Client-Einstellungen:
- Mit welchen Relays bist du verbunden?
- Sind sie als “read” oder “write” markiert?
- Ist die Liste kurz, ungefähr vier bis acht Einträge?
Optimiere dein Setup
Wenn du 10+ Relays hast:
- Entferne die, die häufig ausfallen
- Behalte eine Handvoll Favoriten, ein paar zum Schreiben und ein, zwei zum Lesen
- Stelle sicher, dass mindestens eines “read” für Erwähnungen ist
Verbreite das Wort
Hilf anderen zu verstehen:
- Teile diese Anleitung
- Erkläre, warum du jemandes Posts nicht sehen kannst
- Hilf bei der Fehlerbehebung bei Discovery-Problemen
Outbox-Zweck
0/5 beantwortet
Weiterlesen
- Wie Posts Reisen: Relays Erklärt: was ein Relay überhaupt ist, bevor du daran drehst, welche du nutzt
- Relay-Management-Guide: wie du ein Read- und Write-Set zusammenstellst, mit dem das Outbox-Modell für dich funktioniert
Letzter Guide im Anfänger-Level
Im Anfänger-Level folgt nichts mehr. Der Weg geht ein Level höher weiter.
Weiter zu Fortgeschritten