Context
The current centralized server naturally prevents pre-revelation: commit hashes are held privately and never broadcast to other players, so no player can prove their commitment to others.
When the game moves on-chain (Ethereum), commit hashes become public. A player could share their (choice, salt) and anyone could verify it against the on-chain hash, making pre-revelation provable and enabling explicit coordination that bypasses focal-point discovery.
Goal
Implement an anti-pre-revelation mechanism so that revealing your commitment to others before the reveal phase is economically unprofitable, preserving the independent-convergence property of the Schelling game.
References
- On Anti-Pre-Revelation Games (Vitalik Buterin, 2015): Proposes a parallel betting game where anyone who receives a pre-revelation can bet against the revealer, making pre-revelation a liability.
- The P + Epsilon Attack (Vitalik Buterin, 2015): Describes how credible conditional bribes can make voting for the attacker's preferred outcome a dominant strategy at zero cost.
Approach (TBD)
The leading candidate is the parallel betting mechanism from the anti-pre-revelation post: if Alice pre-reveals to Bob, Bob can register a bet predicting Alice's choice. If Alice follows through, she loses coins to Bob. This converts the public good of detecting collusion into a private good of profitable betrayal.
Alternatives to evaluate:
- Timelock/threshold encryption (external decryption service like drand)
- ZK-based commit schemes
- Hybrid approaches
Current state
The centralized server provides anti-pre-revelation as an implementation artifact (hashes are private). This issue tracks making it a designed, cryptoeconomic property for the on-chain version.
Context
The current centralized server naturally prevents pre-revelation: commit hashes are held privately and never broadcast to other players, so no player can prove their commitment to others.
When the game moves on-chain (Ethereum), commit hashes become public. A player could share their
(choice, salt)and anyone could verify it against the on-chain hash, making pre-revelation provable and enabling explicit coordination that bypasses focal-point discovery.Goal
Implement an anti-pre-revelation mechanism so that revealing your commitment to others before the reveal phase is economically unprofitable, preserving the independent-convergence property of the Schelling game.
References
Approach (TBD)
The leading candidate is the parallel betting mechanism from the anti-pre-revelation post: if Alice pre-reveals to Bob, Bob can register a bet predicting Alice's choice. If Alice follows through, she loses coins to Bob. This converts the public good of detecting collusion into a private good of profitable betrayal.
Alternatives to evaluate:
Current state
The centralized server provides anti-pre-revelation as an implementation artifact (hashes are private). This issue tracks making it a designed, cryptoeconomic property for the on-chain version.