Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add nip for delegated aggregate signature verification #1682

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions xx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
NIP-XX
======

Delegated aggregate signature verification
------------------------------------------

`draft` `optional`

Relays MAY choose to strip signatures from events. If they do so, they MUST provide a proof to clients that the relay has validated signatures for all events returned for a given REQ, using the `REQ-PROOF` verb with the request ID as the first argument, and the proof string as the second argument. This proof MUST be provided after the given `EVENT`s are sent, and applies to all previous events returned for the request since the last proof.

```
-> ["REQ", "<req-id>", <filter>]
<- ["EVENT", "<req-id>", <event1>]
<- ["EVENT", "<req-id>", <event2>]
<- ["EOSE", "<req-id>"]
<- ["REQ-PROOF", "<req-id>", "<proof>"] // This proof applies to the previous two events
<- ["EVENT", "<req-id>", <event3>]
<- ["REQ-PROOF", "<req-id>", "<proof>"] // This proof applies to the most recent event only
-> ["CLOSE", "<req-id>"]
```