NIP-70 definiert eine Möglichkeit für Autoren, ein Event mit dem einfachen Tag [["-"]] als geschützt zu markieren. Ein geschütztes Event kann nur akzeptiert werden, wenn ein Relay dieses Verhalten unterstützt und verifiziert, dass der authentifizierte Publisher derselbe Pubkey wie der Event-Autor ist.

Funktionsweise

Die Kernregel ist kurz. Wenn ein Event den [["-"]]-Tag enthält, sollte ein Relay es standardmäßig ablehnen. Ein Relay, das geschützte Events unterstützen möchte, muss zunächst den NIP-42 AUTH-Flow durchführen und bestätigen, dass der authentifizierte Client sein eigenes Event veröffentlicht.

Das macht NIP-70 zu einer Veröffentlichungsautoritätsregel, nicht zu einer Verschlüsselungsregel. Der Inhalt kann weiterhin lesbar sein. Was sich ändert, ist, wer dieses Event auf einem Relay platzieren darf, das den Tag beachtet. Das erlaubt Relays, halbgeschlossene Feeds und andere Kontexte zu unterstützen, in denen Autoren möchten, dass ein Relay die Wiederveröffentlichung durch Dritte ablehnt.

{
  "id": "cb8feca582979d91fe90455867b34dbf4d65e4b86e86b3c68c368ca9f9eef6f2",
  "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
  "created_at": 1707409439,
  "kind": 1,
  "tags": [
    ["-"]
  ],
  "content": "hello members of the secret group",
  "sig": "fa163f5cfb75d77d9b6269011872ee22b34fb48d23251e9879bb1e4ccbdd8aaaf4b6dc5f5084a65ef42c52fbcde8f3178bac3ba207de827ec513a6aa39fa684c"
}

AUTH-Flow-Implikationen

Geschützte Events sind nur nützlich, wenn Relays tatsächlich die Autorenidentität beim Veröffentlichen durchsetzen. Deshalb hängt NIP-70 so direkt von NIP-42 ab. Ein Relay, das [["-"]]-Events ohne passende Auth-Prüfung akzeptiert, behandelt den Tag als Dekoration, nicht als Richtlinie.

Relay-Verhalten und Grenzen

NIP-70 verspricht nicht, dass Inhalte für immer eingeschlossen bleiben. Jeder Empfänger kann weiterhin kopieren, was er sieht, und ein neues Event anderswo veröffentlichen. Die Spezifikation gibt Relays nur einen Standardweg, die Absicht des Autors zu respektieren und die direkte Wiederveröffentlichung geschützter Events abzulehnen.

Deshalb sind Folgearbeiten wichtig. PR #2251 erweitert die Regel auf Reposts, die geschützte Events einbetten, und schließt einen einfachen Bypass, bei dem das Original-Event geschützt blieb, das Wrapper-Event aber nicht.

Implementierungen

  • strfry PR #156 - NIP-42-Auth-Unterstützung für geschützte Events hinzugefügt
  • strfry PR #176 - Lehnt Reposts ab, die geschützte Events einbetten
  • SNSTR v0.3.3 - Fügt Helper-Unterstützung für Protected-Event-Behandlung hinzu

Primärquellen:

Erwähnt in:

Siehe auch: