upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorabhay-raizada <toabhayraizada@gmail.com>2024-06-25 14:08:23 +0530
committerabhay-raizada <toabhayraizada@gmail.com>2024-06-25 14:28:02 +0530
commit70f1be5866a69768e4cc63447e2268a15e70ad3f (patch)
tree1851a4e6fdb5a59615d09be1c3e7065a1059f4a3
parent4aa18e329a8858ed46727b970c28652c5a0f7b43 (diff)
Polls On Nostr
-rw-r--r--118.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/118.md b/118.md
new file mode 100644
index 0000000..86201c6
--- /dev/null
+++ b/118.md
@@ -0,0 +1,36 @@
1# NIP-118
2
3## Polls
4
5`draft` `optional`
6
7The purpose of this nip is to create a mechanism for polling on nostr.
8The NIP aims to have the following properties.
9
101. Provide a method for gauging eligibility. Only eligible votes should be counted.
112. Provide a method for maintaining anonymity. Participants should be able to not reveal their identities to everyone, yet their votes should be counted.
123. Provide a mechanism for verifiability. Participants should be able to verify that their votes have been counted, under an eligibility criteria.
13
14## Events
15
16### Poll Content
17
18The poll event is defined as a `kind:1068` event. This event carries over the `name` , `description` and `field` tags as defined in [nip-101](https://github.com/nostr-protocol/nips/pull/1190/files).
19This event has no other tags and completely defines the poll content, which is uneditable.
20
21### Responses
22
23The response event is the same as the one on [nip-101](https://github.com/nostr-protocol/nips/pull/1190/files)
24
25### Eligibilty
26
27Eligibility to a vote is determined by another `kind:30180` event that can be created by anyone and is essentially a reference to a list of pubkeys, the author of the eligibility event is interested in. The eligibility event MUST contain an "e" tag to the poll event, and
28"list" tags which references either a `kind:3` (contact list) or a `kind:30000`(follow sets) containing a list of "p" tags.
29
30### Counting Results.
31
32Results can be counted for different eligibility events, by querying for `kind:1069` events only authored by the pubkeys mentioned in the eligibility event.
33
34### Anonymous Voting
35
36For people that wish to maintain anonymity, while still having their votes counted can do so by signing the response event with a random private key and sending over the corresponding pubkey to the author of a `kind:30180` eligibility event. The author of the eligibility event may demand "proofs of eligibility" before adding the pubkey in any of the lists.