The Rock Paper Scissors game implementation lacks sufficient penalties and protections against timeout abuse and griefing behavior. Players can strategically manipulate timeouts and reveals to gain unfair advantages or grief opponents.
Attack Scenario:
Player A and B both commit moves
Player A reveals their move
Player B sees they would lose, intentionally doesn't reveal
Game times out, both players get refunded
No penalty for B's griefing behavior
Attack Scenario:
Player A reveals first
Player B waits until near timeout
B can decide whether to reveal or timeout based on A's move
No incentive for timely reveals
Attack Scenario:
Malicious player creates multiple games
Times out or griefs consistently
No reputation system or penalties
Wastes gas and time of honest players
Players can avoid losses through timeout manipulation
No incentive for timely play
Potential DOS through mass game creation
Poor player experience
Reduced protocol adoption
Implement Timeout Penalties:
Add Anti-Griefing Mechanisms:
Implement Progressive Reveal Requirements:
Add Economic Incentives:
Reputation System:
Track player history
Adjust requirements based on reputation
Implement progressive penalties
Time Management:
Dynamic timeout periods
Grace periods for network issues
Sliding scale penalties
Economic Balance:
Carefully tune penalty amounts
Ensure rewards cover gas costs
Consider protocol revenue impact
Implementation Requirements:
Extensive testing of timeout scenarios
Clear documentation of penalties
User interface warnings
Emergency pause functionality
The vulnerabilities should be addressed before mainnet deployment to ensure fair gameplay and protocol sustainability.
timeoutReveal function incorrectly allows execution and game cancellation even when only one player has committed
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.