Round 10/Proposal Ideas: Difference between revisions
miraheze>CodeTriangle →Current draft: one hash per person |
miraheze>CodeTriangle →Current draft: this is maybe more readable |
||
Line 12: | Line 12: | ||
Create a rule with the title "Secret Information" and the text: | Create a rule with the title "Secret Information" and the text: | ||
:When the rules authorize a set of players to "secretly" take an action (a "secret action") then those players can only take that action by | :When the rules authorize a set of players to "secretly" take an action (a "secret action") then those players can only take that action by posting in #game-actions (or a channel defined by the rule that defines the secret action) the type of game action to be performed, along with an SHA-256 hash of: | ||
:#an unambiguous declaration that that player is performing that action, and | |||
:#at least one byte of unrelated text at the end (known as "salt") | |||
: | : | ||
: | :Secret action have the following properties: | ||
:*a maturation date | |||
:*a revelation date | |||
:If the rules do not define the maturation date, it is the beginning of the next rules-defined phase. If they fail to define the revelation date, it is 24 hours after the maturation date. | |||
: | : | ||
: | :During the period after the maturation date but before the revelation date of a secret action, the player who took that action must post the unhashed text corresponding to what they posted when taking the action (including the actions and the salt), and other players should verify that the unhashed text does match up to the hashed text. | ||
: | |||
:A secret action fails immediately after any of the following occur: | |||
:*At the revelation date, the player has not revealed the unhashed text | |||
:*It is before the maturation date and the message in which the hashed text was sent was edited | |||
: | : | ||
:Players may generate SHA-256 hashes by any method that results in a hash verifiable to be computed from the original message by other players. For convenience, here are a few unaffiliated websites that can be used to generate SHA-256 hashes: | :Players may generate SHA-256 hashes by any method that results in a hash verifiable to be computed from the original message by other players. For convenience, here are a few unaffiliated websites that can be used to generate SHA-256 hashes: | ||
Line 23: | Line 32: | ||
:*https://xorbin.com/tools/sha256-hash-calculator | :*https://xorbin.com/tools/sha256-hash-calculator | ||
Amend Rule "Auctions", subrule "Bidding" | Amend Rule "Auctions", subrule "Bidding" so that it reads in full: | ||
:As a secret action in #auctions with default maturation and revelation dates, players can place bids on one or more distinct active lots. When a bidder ceases to be a player, all of their bids on active auctions are withdrawn and cease to be bids, and the bidder ceases to be a bidder. | |||
: | |||
:In addition to normal failure conditions for secret actions, bids fail if any of the following occur: | |||
:*If a player has a successful attempt to bid on the current auction and attempts to post another bid attempt, then all new bids fail. | |||
:*If a player attempts to bid something that is not a natural number greater than zero or attempts to bid more than once on a single lot, then the bid fails. | |||
:As a secret action in #auctions with default maturation and revelation dates, players can place bids on one or more distinct active lots. | :*If the set of a player's bids that would otherwise succeed add up to a number more than how many points they have, then all of their bids fail. | ||
: | |||
:Priority on a lot is a total order over bidders on that lot, considering only bids that are successful as of the revelation date, and is defined as follows: | |||
:*If two bidders have different bids, the one with the higher bid has priority over the other. | |||
: | :*Otherwise, the bidder whose most recent start or increase of their bid was least recent has higher priority over the other. | ||
: | |||
:At the end of the Auction Phase, the auction concludes, and for each lot the following occur in the order listed: | |||
:*The lot is transferred to the possession of the sole bidder with the highest priority on that lot (if one exists). | |||
:At the | :*The player who received that lot loses the amount of points they bid. | ||
:*The player who | |||
</blockquote> | </blockquote> |
Revision as of 20:03, 19 June 2021
Feel free to expand ideas, write them out in more detail, add new ideas, etc
Sealed Bid Auctions
- To avoid issues with time zones and sniping at the end, eliminate live bidding. Instead, each player secretly bids, and the person with the top bid wins, for the second-highest price.
- Submit bids secretly by posting a (salted) hash in #auctions
- Reveal bids at the end
Current draft
Create a rule with the title "Secret Information" and the text:
- When the rules authorize a set of players to "secretly" take an action (a "secret action") then those players can only take that action by posting in #game-actions (or a channel defined by the rule that defines the secret action) the type of game action to be performed, along with an SHA-256 hash of:
- an unambiguous declaration that that player is performing that action, and
- at least one byte of unrelated text at the end (known as "salt")
- Secret action have the following properties:
- a maturation date
- a revelation date
- If the rules do not define the maturation date, it is the beginning of the next rules-defined phase. If they fail to define the revelation date, it is 24 hours after the maturation date.
- During the period after the maturation date but before the revelation date of a secret action, the player who took that action must post the unhashed text corresponding to what they posted when taking the action (including the actions and the salt), and other players should verify that the unhashed text does match up to the hashed text.
- A secret action fails immediately after any of the following occur:
- At the revelation date, the player has not revealed the unhashed text
- It is before the maturation date and the message in which the hashed text was sent was edited
- Players may generate SHA-256 hashes by any method that results in a hash verifiable to be computed from the original message by other players. For convenience, here are a few unaffiliated websites that can be used to generate SHA-256 hashes:
Amend Rule "Auctions", subrule "Bidding" so that it reads in full:
- As a secret action in #auctions with default maturation and revelation dates, players can place bids on one or more distinct active lots. When a bidder ceases to be a player, all of their bids on active auctions are withdrawn and cease to be bids, and the bidder ceases to be a bidder.
- In addition to normal failure conditions for secret actions, bids fail if any of the following occur:
- If a player has a successful attempt to bid on the current auction and attempts to post another bid attempt, then all new bids fail.
- If a player attempts to bid something that is not a natural number greater than zero or attempts to bid more than once on a single lot, then the bid fails.
- If the set of a player's bids that would otherwise succeed add up to a number more than how many points they have, then all of their bids fail.
- Priority on a lot is a total order over bidders on that lot, considering only bids that are successful as of the revelation date, and is defined as follows:
- If two bidders have different bids, the one with the higher bid has priority over the other.
- Otherwise, the bidder whose most recent start or increase of their bid was least recent has higher priority over the other.
- At the end of the Auction Phase, the auction concludes, and for each lot the following occur in the order listed:
- The lot is transferred to the possession of the sole bidder with the highest priority on that lot (if one exists).
- The player who received that lot loses the amount of points they bid.