On-chain dueling game with a "Zero Risk" vulnerability: the loser waits 256 blocks, the blockhash expires, and a refund is unlocked. Predictable blockhash-based RNG. Self-dueling allowed.
- Zero Risk (business logic): loser recovers their bet after blockhash expires
- Predictable RNG derived from blockhash
- Self-dueling: same address on both sides