Proto: Ansible

Summary:

By requiring the initiator of a space battle to publish a hash of eir energy
value when initiating the battle, we speed up the process, simplify the rule
because we don't need to talk about multiple methods of private
communication, and one officer (the Astronomor) can handle it all.  The
disadvantage is all attackers need to hash stuff to play.

Additional bonus is a generic hash method.

I'm sure lots 'o editing is needed here.

------------------------------------------------------------------------

Create the following Rule, "Hashed Communications", power-tbd:

      A person (the actor) initiates the communication of information by
      hash (a "hashed communication") by publishing a text string (the
      hash) clearly labeled as a hash and clearly specifying a hash
      method[*].  The initiation is UNSUCCESSFUL if, at the time of
      initiation, it is clear that the published hash could not be an
      output of the specified hash method.

      The actor completes a hashed communication that e initiated by
      publishing a clearly-delimited document (the plaintext), while in
      the same message clearly referencing the initiation of the
      communication (including the hash, the hash method, and the
      context of the initiation).  The completion is SUCCESSFUL if and
      only if all of the following are true:

      - it occurs when the Revelation Window for that communication is
        open;
      - that communication has not been previously completed;
      - the specified hash method produces the hash as its output when
        the plaintext is used as the method's input.

      By default, the revelation window for a hashed communication opens
      when the communication is initiated, and closes 7 days later. The
      rules may set different revelation windows for specific types of
      hashed communications.

      A player is considered to have communicated the plaintext of
      a hashed communication only when the communication is completed.

      In completing the communication, the necessary publication of the
      plaintext is considered "informational only" and is not taken to
      perform any by-announcement actions.

      If a hashed communication is initiated in association with
      performing a regulated action (other than the communication
      itself), failure to complete the communication within the
      revelation window is the Class-4 Crime of Losing the Codebook.[**]

[* do we need to define what a "hash method" is or is that in
common-enough use to leave to common definitions?]
[** we need to make "taking back a move by not revealing the plaintext"
expensive, so it's not seen as a legit gaming strategy.]


Amend Rule 2593 (Space Battles) to read in full:

      If the Rules enable a player (the attacker) to initiate a space
      battle (syn: attack) between eir spaceship and another spaceship,
      that player initiates it by an announcement specifying the owner
      of the other spaceship (the defender) in a message that also
      initiates a hashed communication associated with that battle (the
      targeting command). These two players are the "combatants" of the
      Space Battle, and the two Spaceships are then "engaging" in the
      Space Battle until it is resolved.

      The plaintext of the targeting command MUST clearly specify a
      valid amount of energy to spend in the battle (the attack value) -
      failue to do so is the Class-4 Crime of Bad Targeting, committed
      when the hashed communication is completed.  The revelation window
      for the targeting command opens either when the defender announces
      a defense value for the battle, as described below, or 4 days
      after the battle is initated, whichever is sooner.  The revelation
      window closes 7 days after it opens.

      The attack value for the battle is set when the hashed
      communication of the targeting command is completed; if it is not
      completed when the revelation window closes, or the plaintext of
      the targeting command when revealed does not clearly specify a
      valid attack value, the attack value is set to 0.

      In the 7 days after the battle is initated, the defender CAN,
      once, and SHOULD, set the defense value (a valid amount of energy
      to spend in the specified battle) by announcement.  If e does not
      do so in a timely fashion, the defense value for the battle is set
      to 0.

      After both the attack and defense values have been set for a
      battle, the Astronomor CAN, and SHALL in a timely fashion, resolve
      the Space Battle by announcing the changes in each Spaceship's
      Energy balance and Armour (described below), and the Winner (if
      any) of the Space Battle.

      When a Space Battle is resolved:

      1) N Energy is revoked from each Spaceship, where N is the lesser
         of the Spaceship's Energy balance and the amount of Energy
         decided on by the Spaceship's owner, or 0 if the Spaceship's
         owner failed to do so;
      2) each Spaceship's Armour is decreased by X, where X is the
         lesser of the Spaceship's Armour and the amount of Energy
         revoked from the other Spaceship;
      3) the Winner of the Space Battle is the combatant, if any, whose
         Spaceship's Armour was reduced by a smaller amount than the
         other Spaceship's.


Create the following Rule, "Terms of Engagement"

      Two players are "allied" if they agree to be allied or if one is
      the master of the other; otherwise they are "opponents". For the
      purposes of this rule, agreement includes both consent and
      agreement specified by contract.

      A player who owns a Pilotable Spaceship in the same Sector as one
      of eir opponents' Pilotable Spaceships CAN
      initiate a Space Battle between the two Spaceships.

      A Space Battle CANNOT be initiated if either of the two involved
      Spaceships has been engaging in a Space Battle within the last 24
      hours or if the prior Space Battle the spaceship initiating the
      Space Battle has been in was against the spaceship it is
      attacking.

------------------------------------------------------------------------

Reply via email to