NIP-43: Relay Access Metadata and Requests
NIP-43 definiert, wie Relays Mitgliedschaftsinformationen veröffentlichen und wie Nutzer Aufnahme, Einladungen oder Entfernung bei eingeschränkten Relays beantragen. Es gibt der Relay-Zugangskontrolle eine standardisierte Event-Oberfläche, anstatt jedes private oder halbprivate Relay zu zwingen, sein eigenes Beitrittsprotokoll zu erfinden.
Funktionsweise
Die Spezifikation kombiniert mehrere Event-Kinds:
- Kind
13534veröffentlicht eine Relay-Mitgliedschaftsliste - Kind
8000kündigt an, dass ein Mitglied hinzugefügt wurde - Kind
8001kündigt an, dass ein Mitglied entfernt wurde - Kind
28934erlaubt einem Nutzer, einen Beitrittsantrag mit einem Claim-Code einzureichen - Kind
28935erlaubt einem Relay, auf Anfrage einen Einladungscode zurückzugeben - Kind
28936erlaubt einem Nutzer, den Widerruf seines eigenen Zugangs zu beantragen
Der Mitgliedschaftsstatus wird absichtlich nicht aus einem einzigen Event abgeleitet. Ein Client muss möglicherweise sowohl die Relay-signierten Mitgliedschafts-Events als auch die eigenen Events des Mitglieds konsultieren, bevor er entscheidet, ob der Zugang aktuell ist.
Warum das wichtig ist
NIP-43 gibt eingeschränkten Relays einen Standardweg, Aufnahme- und Mitgliedschaftsstatus auszudrücken. Das ist wichtig für Gruppensysteme, Einladungs-Communities und Relays, die maschinenlesbares Onboarding benötigen, ohne auf externe Webformulare oder manuelle Betreiber-Workflows zurückzugreifen.
Die offene Klarstellung in PR #2267 präzisiert einen praktischen Punkt: Relays sollten einen autoritativen Mitgliedschaftsstatus pro Pubkey führen. Das hilft Clients, mehrdeutige Replay-Historien zu vermeiden, bei denen ein altes Hinzufügen- oder Entfernen-Event als aktueller Status fehlinterpretiert werden kann.
Interop-Hinweise
NIP-43 setzt voraus, dass das Relay seine Unterstützung über sein NIP-11-Dokument ankündigt. Beitrittsanträge, Einladungsanfragen und Austrittsanträge sollten nur an Relays gesendet werden, die explizit angeben, dieses NIP zu unterstützen.
Da die Events gleichzeitig im Relay-kontrollierten und im Nutzer-kontrollierten Raum liegen, benötigen Implementierungen klare Konfliktregeln. Deshalb ist die Klarstellung zum Mitgliedschaftsstatus wichtiger, als sie zunächst erscheint.
Primärquellen:
- NIP-43-Spezifikation
- PR #2267 - Klarstellung zur Mitgliedschaftsstatus-Behandlung
Erwähnt in:
Siehe auch: