NIP-17: Private Direktnachrichten - Ein Vollständiger Guide
Lerne über NIP-17, den sicheren Ersatz für NIP-04, und wie du deine privaten Nachrichten in Nostr migrierst
NIP-17 stellt ein bedeutendes Sicherheits-Upgrade dar, wie private Nachrichten in Nostr funktionieren. Dieser Guide erklärt, warum du dich für diese Protokollverbesserung interessieren solltest, wie du vom alten NIP-04 Standard migrierst und praktische Schritte zur Sicherung deiner Kommunikation.
Was ist NIP-17?
NIP-17 ist eine Nostr-Protokoll-Spezifikation, die Private Direktnachrichten mit einem dualen Verschlüsselungssystem namens “Seal + Gift Wrap” definiert. Es wurde erstellt, um grundlegende Sicherheitslücken der vorherigen NIP-04 Verschlüsselungsmethode zu beheben.
Im Gegensatz zu NIP-04, das eine einzelne Schicht AES-256-CBC Verschlüsselung nutzte, verwendet NIP-17:
- Seal (kind 13) — eine innere Schicht, die die Nachricht verschlüsselt und verbirgt, welcher Schlüssel sie signiert hat
- Gift Wrap (kind 1059) — ein äußerer Umschlag, der mit einem Wegwerf-Schlüssel signiert wird, sodass deine echte Identität nie auf dem Event auftaucht, das die Relays speichern
Diese Schichtung bedeutet:
- Nachrichteninhalte bleiben privat
- Relays können nicht sehen, wer eine Nachricht gesendet hat — das Gift Wrap ist mit einem zufälligen Einmal-Schlüssel signiert, nicht mit deinem
- Zeitstempel werden zufällig verschoben, wodurch sich das Timing von Nachrichten schwerer korrelieren lässt
Relays sehen weiterhin, wem du schreibst
Das Gift Wrap trägt den öffentlichen Schlüssel des Empfängers in einem
Klartext-p-Tag. Das muss es auch — sonst wüsste das Relay des Empfängers
nicht, wem es die Nachricht zustellen soll. NIP-17 verbirgt den Absender,
nicht den Empfänger.
Wer den Stream eines Relays mitliest, sieht, dass dir jemand eine Nachricht geschickt hat und wann — nur nicht, wer und was. Wenn dein Bedrohungsmodell verlangt, dass niemand überhaupt erfährt, dass du etwas empfangen hast, reicht NIP-17 allein nicht aus.
Warum NIP-17 Wichtig Ist: Das NIP-04 Sicherheitsproblem
NIP-04 war Nostrs ursprüngliches Direktnachrichten-Protokoll, aber es hat mehrere kritische Sicherheitsprobleme, die es für wirklich private Kommunikation ungeeignet machen.
Vergleich: NIP-04 vs NIP-17
| Feature | NIP-04 | NIP-17 |
|---|---|---|
| Verschlüsselung | Einschichtig AES-256-CBC | Zweischichtig (seal + gift wrap) |
| Absender-Metadaten | Sichtbar für Relays | Verborgen — mit Einmal-Schlüssel signiert |
| Empfänger-Metadaten | Sichtbar für Relays | Weiterhin sichtbar — Klartext-p-Tag |
| Nachrichteninhalt | Verschlüsselt | Verschlüsselt |
| Replay-Schutz | Keiner | Zufällige Zeitstempel |
| Forward Secrecy | Nein | Nein — NIP-44 bietet sie nicht |
| Sicherheitsstatus | Veraltet | Empfohlen |
| Interoperabilität | Weit unterstützt | Wachsende Unterstützung |
Das Kernproblem mit NIP-04
NIP-04 Nachrichten enthüllen wer mit wem spricht gegenüber jedem Relay, das sie speichert. (Nostr hat keine Blockchain — Events liegen einfach auf Relays, und jeder darf von einem Relay lesen.) Während der Nachrichteninhalt verschlüsselt ist, enthält der Umschlag:
# NIP-04 Event Struktur (vereinfacht)
{
"pubkey": "<sender_public_key>", # Jeder kann sehen, wer dies gesendet hat
"tags": [["p", "<recipient_pubkey>"]], # Jeder kann sehen, wer es empfangen hat
"content": "<encrypted_content>" # Nur der Inhalt ist verborgen
}
Das bedeutet, Relay-Betreiber, Netzwerkbeobachter und Daten-Scraper können:
- Soziale Graphen erstellen, die zeigen, wer mit wem kommuniziert
- Kommunikationsmuster und -häufigkeiten verfolgen
- Beziehungen aus dem Nachrichten-Timing ableiten
NIP-17 löst dies, indem es die gesamte Nachrichtenstruktur in eine zusätzliche Verschlüsselungsschicht einwickelt, sodass es unmöglich ist, Absender- oder Empfängerinformationen ohne den Entschlüsselungsschlüssel zu sehen.
Wie NIP-17 Funktioniert: Seal + Gift Wrap
Das Verständnis der technischen Implementierung hilft, die Sicherheitsverbesserungen zu würdigen.
Die Gift Wrap Schicht (Außen)
Das Gift Wrap ist der äußere Umschlag, der alle Metadaten verbirgt. Es ist verschlüsselt mit einem speziellen “Gift Wrap Schlüssel”, der vom öffentlichen Schlüssel des Empfängers abgeleitet wird. Diese Schicht enthält:
- Einen zufälligen öffentlichen Schlüssel (nicht mit dem echten Absender verknüpft)
- Den öffentlichen Schlüssel des Empfängers
- Einen Zeitstempel
- Die versiegelte innere Nachricht
Die Seal Schicht (Innen)
Innerhalb des Gift Wraps befindet sich das Seal, das die eigentliche Nachricht enthält. Diese Schicht:
- Ist verschlüsselt mit einem frischen ephemeren Schlüsselpaar
- Enthält den echten öffentlichen Schlüssel des Absenders
- Beinhaltet den Nachrichteninhalt
- Hat einen eigenen Zeitstempel für Replay-Schutz
Gift Wrap (äußere Schicht)
Zufälliger pubkey, Empfänger-Hinweis — mehr sieht ein Relay nicht
Seal (innere Schicht)
Verschlüsselt mit einem ephemeren Schlüssel
Echter Nachrichteninhalt
Absender: echter pubkey · Zeitstempel: 1234567890
Hauptvorteile
- Metadaten-Privatsphäre: Niemand außer dem Empfänger kann bestimmen, wer die Nachricht gesendet hat oder an wen sie gesendet wurde
- Unverknüpfbarkeit: Mehrere Nachrichten zwischen denselben Parteien erscheinen Beobachtern als unzusammenhängende Events
- Bessere Forward Secrecy: Jede Nachricht nutzt einzigartige ephemere Schlüssel
Zustellung: Die DM-Relay-Liste (Kind 10050)
Seal und Gift Wrap beschreiben, wie eine Nachricht verpackt wird. Ein drittes Element — das kind-10050-Event — beschreibt, wohin sie zugestellt wird. Es ist eine kleine, öffentliche Liste der Relays, die deine privaten Nachrichten annehmen.
Die Spezifikation ist hier streng: Absender MÜSSEN Gift Wraps ausschließlich an die Relays in der kind-10050-Liste des Empfängers veröffentlichen. Hast du nie eine veröffentlicht, giltst du laut Spezifikation als “nicht bereit, Nachrichten zu empfangen”, und Clients sollen es gar nicht erst versuchen — an dich adressierte DMs werden also stillschweigend nie zugestellt. Auf keiner der beiden Seiten erscheint ein Fehler.
Zwei praktische Regeln:
- Veröffentliche eine Liste, bevor du NIP-17-DMs erwartest (siehe Schritt 3 des Migrations-Guides unten)
- Halte sie klein — die Spezifikation empfiehlt 1-3 Relays, und jedes gelistete Relay sieht, wer dir Nachrichten schickt
Migrations-Guide: Wechsel von NIP-04 zu NIP-17
Die Migration zu NIP-17 ist mit modernen Nostr Clients unkompliziert. So machst du den Wechsel.
Schritt 1: Prüfe Deine Client-Unterstützung
Bevor du migrierst, überprüfe, ob dein Client NIP-17 unterstützt:
| Client | NIP-17 Support | Status |
|---|---|---|
| Damus | Ja | Standard für neue DMs |
| Amethyst | Ja | Standard für neue DMs |
| Primal | Ja | Unterstützt |
| Coracle | Ja | Unterstützt |
| Iris | Ja | Unterstützt |
| Snort | Ja | Unterstützt |
| Nos | Ja | Unterstützt |
Schritt 2: Aktiviere NIP-17 in Deinem Client
Damus (iOS/macOS)
- Öffne Einstellungen → Privatsphäre & Sicherheit
- Scrolle zu “Nachrichten-Verschlüsselung”
- Schalte “NIP-17 für neue Nachrichten nutzen” auf AN
- Deine neuen DMs werden automatisch NIP-17 nutzen
Hinweis: Ältere NIP-04 Nachrichten bleiben lesbar, aber neue Nachrichten nutzen NIP-17.
Amethyst (Android)
- Gehe zu Einstellungen → Nachrichten
- Aktiviere “NIP-17 für DMs nutzen”
- Starte die App neu für vollständigen Effekt
Primal (iOS/Android/Web)
- Navigiere zu Einstellungen → Privatsphäre
- Unter “Direktnachrichten” wähle “NIP-17 (Empfohlen)”
- Änderungen gelten sofort für neue Konversationen
Schritt 3: Publiziere Deine DM-Relay-Liste (Kind 10050)
NIP-17-Absender liefern nur an die Relays, die du in deinem kind-10050-Event listest — ohne eine solche Liste werden Nachrichten an dich stillschweigend verworfen (siehe Zustellung: Die DM-Relay-Liste oben).
- Suche in deinem Client die Einstellung für DM-, Privatnachrichten- oder Messaging-Relays
- Füge ein bis drei Relays hinzu, die Gift Wraps (kind 1059) annehmen — manche Relays lehnen sie ab
- Speichern — dein Client veröffentlicht die kind-10050-Liste für dich
Manche Clients veröffentlichen diese Liste automatisch, wenn du NIP-17 aktivierst. Verlass dich nicht darauf: Verifiziere die Zustellung in Schritt 5, bevor du dich darauf verlässt.
Schritt 4: Kommuniziere mit Deinen Kontakten
NIP-17 funktioniert nur, wenn beide Parteien NIP-17 Unterstützung haben. Sende eine Nachricht an häufige Kontakte:
nostr:note1... # Migrations-Nachrichtenvorlage
"Hey! Ich upgrade auf NIP-17 für bessere Privatsphäre in unseren DMs.
Bitte aktualisiere deinen Nostr Client, falls du es noch nicht getan hast.
Unsere zukünftigen Nachrichten werden sicherer sein!"
Schritt 5: Verifiziere Migrationserfolg
Um zu bestätigen, dass NIP-17 funktioniert:
- Sende eine Testnachricht an dich selbst oder einen Freund
- Prüfe die Event-Art (sollte
1059für Gift Wraps sein) - Suche nach
kind: 1059in den Nachrichtendetails - Der
pTag sollte auf einen zufälligen ephemeren Schlüssel zeigen, nicht den echten Schlüssel deines Freundes
// Beispiel NIP-17 Event (vereinfacht)
{
"kind": 1059, // Gift wrap event
"pubkey": "<random_ephemeral_key>", // Nicht der echte Absender!
"tags": [["p", "<recipient_pubkey>"]],
"content": "<encrypted_seal_content>"
}
Client-Spezifische Setup-Guides
Damus
Damus hat NIP-17 zum Standard für neue Direktnachrichten in aktuellen Versionen gemacht. Wenn du eine ältere Version hast:
- Aktualisiere auf die neueste Damus Version aus dem App Store
- NIP-17 ist automatisch für neue Konversationen aktiviert
- Prüfe Nachrichtendetails (tippen und halten) um das “NIP-17” Badge zu sehen
Pro-Tipp: Damus zeigt ein Schloss-Symbol mit “NIP-17” Text bei sicheren Nachrichten.
Amethyst
Amethyst unterstützt NIP-17, kann aber explizite Aktivierung benötigen:
- Einstellungen → Erweitert → Protokoll-Einstellungen
- Aktiviere “NIP-17 Gift Wrap für DMs”
- Der Client wird automatisch NIP-17 mit unterstützten Kontakten aushandeln
Hinweis: Amethyst fällt elegant auf NIP-04 zurück, wenn der Empfänger NIP-17 nicht unterstützt.
Primal
Primal hat exzellente NIP-17 Unterstützung:
- Einstellungen → Sicherheit & Privatsphäre
- Unter “Messaging-Protokoll” wähle “NIP-17 (Privat)”
- Optional: Aktiviere “NIP-04 Konversationen automatisch upgraden” um bestehende Chats zu konvertieren
Sicherheits-Best-Practices
Maximiere deine Privatsphäre bei der Nutzung von NIP-17:
1. Verifiziere Client-Unterstützung Vor Sensibler Kommunikation
Bestätige immer, dass dein Kontakt einen NIP-17-fähigen Client nutzt, bevor du sensible Informationen teilst. NIP-17 an einen NIP-04-only Client zu senden wird in unlesbaren Nachrichten resultieren.
2. Mische Keine Protokolle im Selben Thread
Vermeide Verwirrung, indem du ein Protokoll pro Konversation nutzt. Wenn du mit NIP-04 startest, beende mit NIP-04, oder zeige klar an, wann du wechselst.
3. Nutze Frische Schlüssel für Hochsicherheits-Konversationen
Für maximale Sicherheit:
- Erstelle ein dediziertes Schlüsselpaar für sensible Kommunikation
- Teile den öffentlichen Schlüssel über einen sicheren Out-of-Band-Kanal
- Rotiere Schlüssel regelmäßig
4. Sei Dir Metadaten in Anderen Event-Typen Bewusst
NIP-17 schützt nur Direktnachrichten. Andere Event-Typen (Notes, Reactions, Follows) enthüllen weiterhin Social-Graph-Daten. Nutze mehrere Identitäten zur Kompartimentierung.
5. Wähle Privatsphäre-Fokussierte Relays
Selbst mit NIP-17 sind deine Traffic-Muster für Relays sichtbar. Nutze:
- Tor oder VPN für zusätzliche Netzwerk-Level-Privatsphäre
- Relays, die keine Nachrichten-Metadaten loggen oder speichern
- Mehrere Relays, um deinen Traffic zu verteilen
6. Verstehe die Limitierungen
NIP-17 bietet exzellente Privatsphäre, ist aber nicht perfekt:
- Relays können weiterhin IP-Adressen sehen (nutze VPN/Tor)
- Timing-Analyse kann Kommunikationsmuster enthüllen
- Kompromittierte Clients können Informationen leaken
- Der Empfänger sieht immer die Absender-Identität
Fehlerbehebung bei Häufigen Problemen
„Meine Nachrichten kommen nie an” — prüfe zuerst deine DM-Relay-Liste
Das ist der häufigste NIP-17-Fehler, und fast nie liegt es an der Verschlüsselung.
NIP-17-Absender liefern nicht an deine normalen Relays. Sie suchen nach einem kind-10050-Event — deiner veröffentlichten Liste von Relays, die deine Direktnachrichten annehmen — und schicken das Gift Wrap ausschließlich dorthin. Hast du nie eine veröffentlicht, hat der Client des Absenders kein Ziel und die Nachricht wird stillschweigend verworfen. In keiner der beiden Oberflächen erscheint etwas.
Lösung: Suche in einem Client mit NIP-17-Unterstützung die Relay-Einstellung für private Nachrichten und speichere mindestens ein Relay. Damit wird deine kind-10050-Liste veröffentlicht. Wähle ein Relay, das Gift Wraps tatsächlich annimmt — manche lehnen kind 1059 ab.
Halte die Liste kurz. Jedes Relay darauf ist ein Relay, das sieht, wer dir schreibt. (Das ist Schritt 3 des Migrations-Guides — wenn du ihn übersprungen hast, fang dort an.)
”Nachrichten zeigen sich als unlesbar oder Kauderwelsch”
Ursache: Empfänger unterstützt NIP-17 nicht Lösung: Bitte den Empfänger, seinen Client zu aktualisieren, oder wechsle vorübergehend zurück zu NIP-04
”Kann nicht sehen, ob jemand meine NIP-17 Nachricht gelesen hat”
Ursache: Lesebestätigungen noch nicht standardisiert für NIP-17 Lösung: Dies ist erwartetes Verhalten. NIP-17 priorisiert Privatsphäre über Zustellbestätigung.
”Nachrichten erscheinen in falscher Reihenfolge”
Ursache: Zeitverschiebung zwischen Geräten Lösung: Stelle sicher, dass deine Gerätezeit synchronisiert ist (aktiviere automatische Zeitsynchronisation)
“Relay lehnt NIP-17 Events ab”
Ursache: Alte Relay-Software Lösung:
- Prüfe unterstützte NIPs des Relays
- Füge moderne Relays hinzu, die NIP-17 unterstützen
- Melde es dem Relay-Betreiber
”Client zeigt sowohl NIP-04 als auch NIP-17 Optionen”
Erwartetes Verhalten: Viele Clients unterstützen beide während der Übergangsperiode. Wähle immer NIP-17, wenn verfügbar.
Die Zukunft Privater Nachrichten in Nostr
NIP-17 ist der aktuelle Goldstandard für private Nostr-Nachrichten, aber die Entwicklung geht weiter:
- NIP-44: Ein verbessertes Verschlüsselungsschema, das NIP-17 möglicherweise ablösen wird
- Gruppen-Verschlüsselung: Private Gruppennachrichten-Protokolle werden entwickelt
- Zahlungsintegration: Private Nachrichten mit Lightning-Zahlungen
Bleibe auf dem Laufenden, indem du folgst:
- nostr:npub1… # Nostr-Protokollentwicklung
- nostr:npub1… # Sicherheits-Best-Practices
Fazit
NIP-17 stellt einen großen Schritt vorwärts für Privatsphäre in Nostr dar. Indem es die Metadaten-Leakage-Probleme von NIP-04 behebt, ermöglicht es wirklich private Direktnachrichten, die sowohl Inhalt als auch Kommunikationsmuster schützen.
Der Migrationsprozess ist unkompliziert: Aktualisiere deinen Client, verifiziere, dass deine Kontakte NIP-17 unterstützen, und genieße verbesserte Privatsphäre. Mit weit verbreiteter Client-Unterstützung gibt es keinen Grund, das veraltete NIP-04 Protokoll weiter zu nutzen.
Aktionspunkte:
- ✅ Aktualisiere deinen Nostr Client auf die neueste Version
- ✅ Aktiviere NIP-17 in den Einstellungen
- ✅ Publiziere deine DM-Relay-Liste (kind 10050) — ohne sie kommt nichts an
- ✅ Verifiziere mit Kontakten, dass sie NIP-17 unterstützen
- ✅ Beginne NIP-17 für alle neuen privaten Konversationen zu nutzen
Denk dran: Privatsphäre ist eine Praxis, kein Produkt. NIP-17 gibt dir die Werkzeuge—nutze sie weise.
Teste Dein NIP-17 Wissen
Bereit, dein Verständnis sicherer Nachrichten zu testen?
NIP-17 Zweck
0/5 beantwortet
Zuletzt aktualisiert: 28. Juli 2026
Hast du Fragen? Nimm an der Diskussion auf Nostr teil oder öffne ein Issue in diesem Dokumentations-Repository.
Weiterlesen
Tippfehler entdeckt oder etwas unklar? Bearbeite diesen Guide auf GitHub.