enhance definitions

-add detailed 'count' tally method requirements
-add option tag reference
-remove bolt11 references
This commit is contained in:
landonMutch 2023-03-02 12:51:18 +09:00 committed by GitHub
parent 9573ad34d4
commit ce4c128ea6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

12
69.md
View File

@ -1,18 +1,22 @@
# Poll event # Poll event
A poll note is a nostr event type (kind 6969) for conducting valuation polls. A poll presents two or more voting options, each represented by a unique zappable bolt11 address. Voters may participate in polls by zapping one or more chosen option(s). Poll results may be blinded, until after users have voted. Polls may specify a closing time, after which results should be unblinded, closed to new votes, and considered final. A poll note is a nostr event type (kind 6969) for conducting valuation polls. A poll presents two or more voting options, which participants my vote on by sending zap events indicating a single chosen option. Poll results may be blinded, until after users have voted. Polls may specify a closing time, after which results should be unblinded, closed to new votes, and considered final. Polls may also specify a consensus threshold.
## Purpose ## Purpose
The purpose of poll notes is to conduct quantitative public opinion polls over nostr by requiring voters pay to participate. By tying vote amounts and counts to real satoshi valuations, nostr polls should provide superior signal compared with other free polling models. Imposing real monetary costs on participants should also discourage attempts at fraudulent result manipulation, by automated or other means. The purpose of poll notes is to conduct quantitative public opinion polls over nostr by requiring voters pay to participate. By tying vote amounts and counts to real satoshi valuations, nostr polls intend to provide superior signal compared with other free polling models. Imposing real monetary costs on participants should also discourage attempts at fraudulent result manipulation, by automated or other means.
## Poll format ## Poll format
A poll is a self-contained nostr event which MUST have a primary description along with a predefined number (2..n) of voting options. Each voting option also MUST contain its own secondary description along with an associated bolt11 address, used to tally corresponding vote amounts and counts. A poll should specify a primary tally method ('value' or 'count') and a closing time. It may also include a consensus threshold percentage. A poll is a self-contained nostr event which MUST have a primary description along with a predefined number of voting options. A poll MUST include at least 2 unique voting options, and each option MUST contain a corresponding secondary description. A poll MUST specify a primary tally method ('value' or 'count') and SHOULD specify a closing time. Polls MAY also include a consensus threshold percentage.
Poll options are voted on by referencing a chosen option, using the 'poll_option' tag, within zap events sent to the original poll note. 'poll_option' tags MUST include exactly 1 option selected from the predefined choice of voting options.
## Poll outcomes ## Poll outcomes
Votes may be tallied either by value or by count. To avoid ambiguity of a winning outcome, a primary tally method SHOULD be specified as either 'value' or 'count'. If a closing time is specified, after it is passed, a poll should be unblinded publicly and MUST be treated as closed (additional votes must not be tallied). Once closed, depending upon the specified tally method, the option associated with either the most satoshis (value) or the most votes (counts) MUST be accepted as the winning option; while the distribution percentages across all vote options MUST be considered respresentative of the distribution of opinion amongst participants. Votes may be tallied either by value or by count. To avoid ambiguity of a winning outcome, a primary tally method MUST be specified as either 'value' or 'count'. When a 'count' tally method is specified, only a single vote (the most recent) per unique voter MUST be included in the tally, zap amounts MUST be ignored, and anonymous zaps MUST NOT be counted.
If a closing time is specified, after it is passed, a poll should be unblinded publicly and MUST be treated as closed (late votes must not be tallied). Once closed, the option associated with either the most satoshis (value) or the most votes (counts), depending on tally method, MUST be treated as the winning option; while the distribution percentages across all vote options MUST be considered respresentative of the distribution of opinion amongst participants.
Additionally, if a consensus threshold percentage is specified, and any single option's associated value (or vote count) percentage of the poll's total value (or vote count, respectively) exceeds the consensus threshold, then consensus MUST be considered attained. Additionally, if a consensus threshold percentage is specified, and any single option's associated value (or vote count) percentage of the poll's total value (or vote count, respectively) exceeds the consensus threshold, then consensus MUST be considered attained.