diff options
| author | abhay-raizada <toabhayraizada@gmail.com> | 2024-06-25 14:08:23 +0530 |
|---|---|---|
| committer | abhay-raizada <toabhayraizada@gmail.com> | 2024-06-25 14:28:02 +0530 |
| commit | 70f1be5866a69768e4cc63447e2268a15e70ad3f (patch) | |
| tree | 1851a4e6fdb5a59615d09be1c3e7065a1059f4a3 | |
| parent | 4aa18e329a8858ed46727b970c28652c5a0f7b43 (diff) | |
Polls On Nostr
| -rw-r--r-- | 118.md | 36 |
1 files changed, 36 insertions, 0 deletions
| @@ -0,0 +1,36 @@ | |||
| 1 | # NIP-118 | ||
| 2 | |||
| 3 | ## Polls | ||
| 4 | |||
| 5 | `draft` `optional` | ||
| 6 | |||
| 7 | The purpose of this nip is to create a mechanism for polling on nostr. | ||
| 8 | The NIP aims to have the following properties. | ||
| 9 | |||
| 10 | 1. Provide a method for gauging eligibility. Only eligible votes should be counted. | ||
| 11 | 2. Provide a method for maintaining anonymity. Participants should be able to not reveal their identities to everyone, yet their votes should be counted. | ||
| 12 | 3. 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 | |||
| 18 | The 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). | ||
| 19 | This event has no other tags and completely defines the poll content, which is uneditable. | ||
| 20 | |||
| 21 | ### Responses | ||
| 22 | |||
| 23 | The response event is the same as the one on [nip-101](https://github.com/nostr-protocol/nips/pull/1190/files) | ||
| 24 | |||
| 25 | ### Eligibilty | ||
| 26 | |||
| 27 | Eligibility 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 | |||
| 32 | Results 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 | |||
| 36 | For 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. | ||