Pawnshake v0.1.0 · draft

The Pawnshake protocol

Chess you can sign.

Two players sign every move and send it straight to each other. One network hop per move, a game that can run with no server at all, and a cheater who always leaves proof behind.

1. e4, exactly as it travels
0100e8070d44fae652+60
seq, seen, timemove code 1364-byte signature
Pawnshake: a pink milkshake with a pawn on the cup
1 byteper move: its index among the legal moves
~70 Bper signed record on the wire
1 hopplayer to player, the server listens beside
0servers needed to play a valid game

What it is

Pawnshake is a small protocol for chess games with a clock (bullet, blitz, rapid, classical). Every move and every command (resign, offer a draw, take back, abort, flag) is a record the player signs with a device key and sends directly to the opponent. The records of both players form one chain. Anyone holding that chain can replay and check the whole game from the signatures alone.

One move, one hop. The server stays off the path between the players.
White Black Serversigns 1. e4 (seq 1)MOVE e4 · 70 Banchor the head (optional)ACK · seen 1thinks, signs 1... e5MOVE e5 · seen 1 White Black Serversigns 1. e4 (seq 1)MOVE e4 · 70 Banchor the head (optional)ACK · seen 1thinks, signs 1... e5MOVE e5 · seen 1

Why bother

Speed

One hop per move

A move goes player to player. A server, when there is one, is told beside the move, never in front of it.

Proof

Cheating leaves evidence

Sending two different moves for one turn means two signatures for one number. That pair is a fork, and the signer loses.

Offline

Games without internet

Play over Bluetooth or a LAN. Upload later: the chain proves every move, and the server saves it like any game.

Three ways to play

The game's genesis fixes how much of a referee (the arbiter) takes part. The records are the same in all three.

Where to go next