[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Authenticating the identity of a remote go-playingcomputer program
On Sun, 10 Dec 2000, William Harold Newman wrote:
> If you have a proposal for preventing [cheating] without making it
> impossible for programs to use real-time clocks for time management,
> bring it on.
Easy enough:
1) Managing your own time: require that the program measures time solely
by querying a game clock on the tournament server (make that part of the
communications protocol). This is not limiting since the game clock is
indeed the only time that matters - just like "true randomness", "real
time" is quite irrelevant here. During tournament play, the server
records all the program's time queries together with its own answers
to them. During verification, the server expects the same sequence of
queries, and responds with the same recorded answers, regardless of the
actual timing.
2) Using your opponent's time: if your program does this, it's bound to be
organized such that its computation can be interrupted by the opponent's
move at certain well-defined points. At these points, have the program
poll the server "has opponent moved yet?". The tournament server relies
on your polling to communicate the opponent's moves (no interrupts).
During tournament play, it records the number of polls received from
you for each opponent move. For verification, server reproduces its
responses to your polls faithfully, regardless of the actual timing.
Any holes in this?
- nic
--
Dr. Nicol N. Schraudolph mobile: +41-76-585-3877 <-- new!
IDSIA, Galleria 2 home: -91-970-3877
CH-6928 Manno, Switzerland work: -91-610-8669
http://www.idsia.ch/~nic/ fax: -8661