From 641047525f5991edbd8c38ec728944de37ed552c Mon Sep 17 00:00:00 2001 From: toadlyBroodle Date: Mon, 6 Mar 2023 22:50:22 +0900 Subject: [PATCH] more precisely define consensus_threshold, remove reference to fraudulent behavior, other minor clarifications --- 69.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/69.md b/69.md index c12a4eab..d8602d13 100644 --- a/69.md +++ b/69.md @@ -6,11 +6,13 @@ A poll note is a [nostr event](01.md) (kind `6969`) for conducting paid polls. A ## Purpose -The purpose of poll notes is to conduct quantitative public opinion polls over nostr by requiring voters pay to participate. By tallying results to real satoshi valuations, nostr polls intend to provide superior signal compared to 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 tallying results to real satoshi valuations, nostr polls intend to provide superior signal compared to other free polling models. Imposing real monetary costs for participation should also discourage undesired participants attempting to sway results. -By including a `value_maximum` limit, polls can reduce the likelihood of 'whale' votes discounting many smaller 'shrimp' votes. Likewise, by including a `value_minimum` limit, polls can make automated vote flooding attacks prohibitively expensive. However, both limits remain optional to allow for freedom in poll design. +By including a `value_maximum` limit, polls can stop single 'whale' votes discounting many smaller 'shrimp' votes. Likewise, by including a `value_minimum` limit, polls can make automated low-value vote flooding attacks prohibitively expensive. However, both limits remain optional to allow for freedom in poll design. -A careful balancing of all poll attributes should enable pollers to conduct polls with meaningful and valuable outcomes. +The optional `consensus_threshold` is intended as a simple 'measuring bar', defined as the minimum percentage for any single `poll_option`'s percentage of the total tally to attain poll consensus status. + +A careful balancing of all poll attributes should enable pollers to conduct tailored polls that deliver meaningful and valuable outcomes. ## Poll format @@ -22,6 +24,7 @@ A poll event: * a `closed_at` value of less than or equal to the `created_at` field indicates a poll SHOULD NOT be closed. * MAY specify a `value_maximum` satoshi value for zapped votes to be included in the tally * MAY specify a `value_minimum` satoshi value for zapped votes to be included in the tally + * `value_minimum` MUST be less than or equal to `value_maximum`, when both are specified * MAY include a `consensus_threshold` (0-100), representing a percentage threshold for any single vote option to achieve poll consensus * a `consensus_threshold` of '0' indicates no threshold is specified. @@ -47,7 +50,7 @@ A poll event: ## Zap vote format -Poll options are voted on by sending [zap events](57.md) (to the original poll event) which include 1 additional `poll_option` tag in the zap request event. +Poll options are voted on by sending [zap events](57.md) (referencing the original poll event) which include 1 additional `poll_option` tag in the zap request event. The zap request event (kind `9734`): * MUST include exactly 1 `poll_option` tag