3 ms·
I agree. Customization provides more opportunities for employees to rig the RNGs. My ideal RNG would be an off-the-shelf computer with a stock image and a < 20
by teitelman 9y ago
I agree. Customization provides more opportunities for employees to rig the RNGs.
My ideal RNG would be an off-the-shelf computer with a stock image and a < 20 line Python script to display numbers. This could be developed in less than a day and the entire process could be supervised by a third party. There are still trust issues which need to be dealt with (e.g. how are we downloading the image?). These issues could be dealt with with assistance/supervision from a third party or two.
The problem is that lottery RNG vendors are selling a product. Lotteries like to see machines in custom boxes with custom user interfaces. The RNGs have hardcoded game parameters. Some are automated to produce numbers on a schedule without human interaction. Others require an operator to log in and select a game to produce numbers for.
These RNGs contain thousands of lines of code. Some take the form of multiple programs and services. In some cases they even contain multiple machines.
As an example I just ran sloccount on a source directory for one of these RNGs. Here's the (redacted) output:
62135 XXX cpp=62135
20447 XXX cs=20447
17642 XXX cpp=17642
9308 XXX cpp=5969,ansic=3339
4987 XXX cpp=4987
2414 XXX cs=2414
1926 XXX cpp=1926
1744 XXX cpp=1744
390 XXX cpp=390
150 XXX cpp=150
67 XXX cpp=67
35 XXX cpp=35
32 XXX cpp=32
...
Yeah. This RNG consists of over 120 thousand lines of code.
The systems which this program runs on are set up by a single developer. This setup process is not supervised so even if the developer isn't able to slip something into the source code or the binaries he could in theory place something (e.g. a rootkit or something which simply replaces the RNG program on start) on the system itself.
- mrb 9y agoI take it you are in the industry. Interesting :)