מבוא משחק הימורים הוא משחק שתוצאתו לא מבוססת על יכולת השחקן אלא על ידי גורם אקראי. לדוגמא: כאשר מטילים קוביה, אין לאדם השפעה על תוצאת הקוביה (בהנחה שלא בוצע ניסיון רמאות), גורמים פיזיקליים הם שיקבעו את התוצאה. באינטרנט קיימים אתרי קזינו רבים שמאפשרים לגולשים לשחק במשחקי-מזל ולהמר בכסף אמיתי.
איך מנגנון הזכיה מיושם באתרים אלו? מנגנון הזכיה מיושם כולו בקוד התוכנה של האתר. לדוגמא: כאשר שחקן משחק במכונת-מזל בקזינו באינטרנט, לאחר הפעלת המכונה במשחק, קוד התוכנה מבצע בדיקה האם הגולש זכה או לא ומציג לשחקן הודעה בהתאם. הבדיקה שמבוצעת על ידי קוד התוכנה משתמשת במחולל מספרים אקראיים (Random Number Generator), מחולל המספרים האקראיים יכול להיות מבוסס-תוכנה או מבוסס-חומרה.
מהו מחולל מספרים אקראיים מבוסס-תוכנה? מחולל מספרים אקראיים מבוסס-תוכנה הוא אלגוריתם שנועד לבחור מספר מתוך קבוצת מספרים בצורה אקראית. במחשבים לא קיימים גורם אקראי, מחשב פועל באמצעות מעבד שמבצע פקודות מוגדרות בזו אחר זו במהירות גבוהה. לפיכך מחולל מספרים אקראיים מבוסס-תוכנה הוא בעל אקראיות מדומה ומשתמש באלמנט משתנה (לדוגמא: זמן) שיש למעבד גישה אליו כדי לחשב את הפלט שלו. כאשר יש אתרי-הימורים שמרחשות בהם תופעות טבע כנגד כל חישוב-הסתברותי, אתרים אלו לאו דווקא מרמים את השחקנים, ייתכן שמחולל המספרים האקראיים שלהם הוא מבוסס-תוכנה.
מהו מחולל מספרים אקראיים מבוסס-חומרה? במחולל מספרים אקראיים מבוסס-חומרה קיים רכיב חומרה שמחובר לאחד משרתי האתר. רכיב החומרה משתמש בגורם פיזיקלי כדי לבחור מספר. מחולל זה מבצע פעולה דומה לדוגמת הטלת הקוביה בתחילת המאמר מכיוון שהוא משתמש בגורם טבעי ליצירת האקראיות.
איך שחקנים יכולים להיות בטוחים שאתר הימורים משתמש במחולל מספרים אקראיים ולא מרמה אותם? השחקנים יכולים לבדוק האם לאתר מסויים יש רישיון הימורים תקף והאם מחולל המספרים האקראיים נבדק על ידי גורם מוסמך. אתר בעל רישיון הימורים יציג פרטים אלו באתרו, ניתן לבצע אימות באתר המדינה בה הרישיון הונפק. בפיתרון זה קיימים פגמים מכיוון שהתגלו אתרים בעלי רישיונות הימורים שרימו את השחקנים ורישיונם נשלל, לאחר שעברו את כל הבדיקות הקפדניות לקבלת הרישיון.
חשבתי על פיתרון אחר שאין בו שימוש היום ויכול לפתור את הבעיה על ידי הפיכת מנגנון הזכיה באתרים לשקוף כך שהשחקנים יהיו גם המפקחים. פירוט טכני: הקמת שרת ייעודי שבו יותקן מנגנון הזכיה. עבור כל משחק תישלח לשרת הודעה לבדיקה האם השחקן זכה או לא, כל בקשה תכיל מספר משחק. מספר המשחק יופיע גם בממשק המשתמש של המשחק כך שהשחקן יידע מהו המספר. בשרת יותקן דף אינטרנט שהשחקנים יוכלו לגלוש אליו, להזין את מספר המשחק שלהם ולראות את התוצאה, בנוסף יוכלו לראות סטטיסטיקה ואת תוצאות מספרי-המשחקים האחרים והפיקוח על תכולת השרת (וכל עדכון בו) לא יהיה רק באחריות מפעיל המשחק אלא גם על ידי הגוף שהקצה את הרישיון.
המאמר נכתב ע"י אלעד כהן - מתכנת פלאש בחברת GAME DEV LTD.