קוביות הוגנות, משחק הוגן
כל שחקן שש-בש שהפסיד לדאבל בהטלה האחרונה תהה זאת: האם הקוביות האלה הוגנות? זו השאלה הנכונה לשאול על כל אפליקציית שש-בש. הנה בדיוק כיצד הקוביות שלנו נוצרות, מדוע איש, כולל אנחנו, אינו יכול להטות אותן, וכיצד נשמרת יושרתו של שאר המשחק גם כן.
אמתו בעצמכם כל משחק שהסתיים
דיבורים זולים, אז הנה ההוכחה שאתם יכולים להריץ בעצמכם. כשמשחק מסתיים אנחנו חושפים את זרע השרת ואת ההתחייבות שפרסמנו לפני ההטלה הראשונה. הדביקו למטה את חבילת החשיפה, והדף הזה יגזור מחדש כל קובייה מאפס, בדיוק אותו חישוב שהשרתים שלנו הריצו, ויאמר לכם אם הקוביות תואמות. הוא מיישם מחדש את חשבון הקוביות שלנו בגלוי: גזירה נקייה מוכיחה שכל קובייה נובעת מהזרע שנחשף, כך שאף הטלה לא הוחלפה ולא הוטלה מחדש כנגדו. לתוצאה הירוקה המלאה «הוגן באופן שניתן להוכחה», הוסיפו את זרע הלקוח שהאפליקציה שלכם רשמה בתחילת המשחק: הוא מוכיח שהאקראיות שלכם עורבבה פנימה, כך שגם לא ניתן היה לבחור את הקוביות מראש.
הקוביות: הוגנות באופן שניתן להוכחה, מוטלות בשרת
כל הטלה בכל משחק מיוצרת על ידי מחולל מספרים אקראיים הרץ בשרתי המשחק שלנו, והיא הוגנת באופן שניתן להוכחה. לפני ההטלה הראשונה אנחנו מפרסמים התחייבות: טביעת אצבע קריפטוגרפית של הזרע הסודי שממנו יבואו הקוביות. כשהמשחק מסתיים אנחנו חושפים את הזרע ההוא, וכל אחד יכול לגזור מחדש כל קובייה ממנו ולבדוק אותה מול ההתחייבות שנעלנו מראש. אל תסמכו עלינו, אמתו בעצמכם. ומכיוון שזרע הלקוח שלכם מעורבב פנימה גם הוא, איש אינו יכול, כולל אנחנו, לבחור, להחליף או להטיל מחדש את הקוביות.
חשוב לא פחות הוא היכן מתרחשת ההטלה. הקוביות לעולם אינן נוצרות במכשיר שלכם, הטלפון שלכם רק מציג הטלה שהשרת כבר ביצע. החלטת תכנון אחת זו מבטלת את כל משפחת רמאויות הקובייה: אפליקציה ששונתה אינה יכולה להטיל מחדש, קפיצת עיכוב אינה יכולה לשכפל הטלה, ואף תחבולה בצד הלקוח אינה יכולה להציץ במספר הבא, כי המספר הבא אינו קיים בשום מקום עד שהשרת יוצר אותו.
וההטלות לעולם אינן מכוונות. אין «עקומת מעורבות», אין מכניקת קאמבק, אין דחיפה לשחקנים ברצף הפסדים. המחולל אינו יודע ואינו מתעניין מי מנצח.
הלוח: מאומת בכל מהלך ומהלך
קוביות הוגנות לא היו שוות הרבה אילו הלוח עצמו יכול היה לסטות או להיות מחובל, ולכן המשחק רץ על מודל סמכות-שרת נוקשה. המכשיר שלכם לעולם אינו אומר לשרת כיצד נראה הלוח, הוא שולח רק את הכוונה שלכם («הזז את החייל הזה מנקודה 13 לנקודה 8»). השרת בודק את המהלך מול החוקים הרשמיים והלוח הרשמי; מהלכים לא חוקיים פשוט נדחים, ולא משנה מה יטען לקוח ששונה.
אחר כך מגיעה הבדיקה הכפולה: עם כל עדכון מצב השרת משדר טביעת אצבע מהודקת (האש) של מצב הלוח האמיתי. המכשיר שלכם מחשב את אותה טביעת אצבע מהלוח המקומי שלו ומשווה. אם אפילו חייל אחד שונה, הלקוח משליך את העותק שלו ומסתנכרן מחדש מהשרת. כך ניתן להוכיח ששני השחקנים מביטים באותו משחק בכל רגע, אי-סנכרונים מרפאים את עצמם בהלוך ושוב אחד, ואין חלון שבו ניתן לשחק על לוח מיושן או מנוצל.
היריבים: התאמה בשיטת Glicko-2
הגינות היא גם עניין של מול מי אתם משחקים. הדירוג כאן משתמש ב-Glicko-2, היורש המודרני של אֵלו, העוקב הן אחר עוצמת המשחק שלכם והן אחר ביטחון המערכת באומדן הזה, כך ששחקנים חדשים מתכנסים במהירות לרמתם האמיתית במקום לבלות חמישים משחקים כאבן דרך לאחרים. ההתאמה מזווגת אתכם עם יריבים בעלי דירוג דומה, ותוצאות מדורגות מוזנות בחזרה למערכת אחרי כל משחק.
התוצאה: כשאתם מנצחים, גברתם על שווה. כשאתם מפסידים, יש משהו אמיתי ללמוד, בדרך כלל במדריכי האסטרטגיה.
איך קוביות הוגנות מרגישות באמת
הנה האמת הלא נוחה: קוביות אקראיות באמת מרגישות יותר גליות ממה שרוב האנשים מצפים. אקראיות אמיתית מפיקה ארבעה דאבלים ברצף, ריקודי כניסה מול בית של נקודה אחת, ונסים בהטלה האחרונה, בדיוק בתדירויות שההסתברות חוזה. פגיעה של 17 מתוך 36 מחטיאה פעמיים ברצף ביותר מרבע מהמקרים. הזיכרון שומר את השערוריות ומשליך את השגרתי, ולכן לכל שחקן מקוון מנוסה יש סיפור «קוביות מזויפות», ואף ביקורת סטטיסטית לא תמכה כאן ולו באחד מהם.
אם ברצונכם לכייל את האינסטינקטים שלכם, מדריך יסודות ההסתברות פורש את המספרים האמיתיים: 36 צירופים, סיכויי פגיעה בכל מרחק, סיכויי כניסה מהבר. הידיעה שכל מספר מסוים מופיע 11 פעמים ב-36 הופכת «מזל בלתי אפשרי» ל«יום שלישי רגיל».
המחויבות שלנו
- קוביות שנוצרות בשרת, הוגנות באופן שניתן להוכחה: לעולם אינן מוטלות במכשיר, לעולם אינן מכוונות לשום שחקן או מצב, וניתנות לאימות בידי כל אחד לאחר סיום המשחק.
- אכיפת חוקים במקור: כל מהלך מאומת בידי השרת; לקוחות ששונו אינם מרוויחים דבר.
- אימות לוח מתמשך: נבדק בהאש בכל עדכון, מרפא את עצמו בכל אי-התאמה.
- זיווג מבוסס מיומנות: דירוגי Glicko-2 והתאמה לפי דירוג.
קוביות הוגנות פירושן שהיתרון היחיד שנותר על השולחן הוא מיומנות, ומיומנות ניתנת ללמידה. התחילו בחוקים, חדדו אותה עם אסטרטגיה, ובחנו אותה בשידור חי: השולחן שלמטה חינמי, בדפדפן שלכם, בלי שום התקנה.