הוגנות הקוביות בשש בש: איך RNG בצד השרת עובד באמת

כל שחקן שש בש מקוון הקליד פעם גרסה כלשהי של אותה שאילתה: הקוביות מכורות? השאלה הזאת ראויה לתשובה אמיתית ולא למשיכת כתפיים שיווקית. לפניכם הגרסה הטכנית: מאיפה מגיעות קוביות דיגיטליות, מה באמת יכול להשתבש, ואיך משחק שבנוי כהלכה מוציא זריקה מהישג ידם של כולם דרך הארכיטקטורה ולא דרך הבטחה.

איפה נולדת קובייה דיגיטלית

קובייה פיזית מוגרלת על ידי הפיזיקה: הגלגול, הקפיצה, הבד. קובייה דיגיטלית היא מספר שמייצר מחולל מספרים אקראיים (RNG), תוכנה שלא פעם ניזונה גם מחומרה, ותפקידה להוציא ערכים שאיש אינו יכול לחזות או לשחזר.

לא כל המחוללים שווים. מחולל פסאודו אקראי בסיסי, מהסוג שמערבב רשימת שירים, מייצר רצף שנקבע במלואו על ידי ערך הפתיחה שלו, הזרע. מי שמכיר את הזרע ואת האלגוריתם מכיר כל מספר "אקראי" שהמחולל הזה יוציא אי פעם. לרשימת שירים זה מספיק לגמרי, למשחק שיש בו מה להפסיד זה חסר ערך. משחקים רציניים משתמשים במחוללים מאובטחים קריפטוגרפית (CSPRNG), שנזרעים מחדש כל העת מאנטרופיה של העולם האמיתי: רעש חומרה, ריצוד בתזמונים, הכאוס של אירועי מערכת ההפעלה. התכונה שמגדירה אותם היא בדיוק זו שמשחק קוביות זקוק לה: גם תוקף שצפה בכל הפלטים הקודמים אינו יכול לחזות את הבא.

השאלה החשובה עוד יותר: איפה זה רץ?

כאן מגיע החלק שרוב השחקנים לא חושבים לשאול עליו. פחות חשוב איזה מחולל מייצר את הזריקה שלכם, וחשוב הרבה יותר איפה הוא רץ. אם הקוביות נוצרות על המכשיר של השחקן, המשחק שבור מבנית ולא משנה כמה האלגוריתם טוב: אפליקציה שעברה שינוי יכולה לזרוק שוב ושוב עד שהתוצאה מוצאת חן בעיניה, לשנות את התוצאה בזיכרון, או להציץ בערכים לפני שהיא מתחייבת למהלך. קוביות בצד הלקוח הן הבטחה, והבטחות אפשר לעקוף בעריכה של האפליקציה.

הארכיטקטורה הנכונה היא שרת כמקור סמכות: הזריקה מתרחשת בשרת המשחק, בסביבה ששום חומרה של שחקן לא נוגעת בה. המכשיר שלכם מקבל זריקה שכבר קיימת ורק מנפיש אותה. במשחק שלנו, כפי שאנחנו מסבירים בעמוד המשחק ההוגן, העיקרון הזה חורג הרבה מעבר לקוביות: השרת מאמת כל ניסיון מהלך מול החוקים, ושתי האפליקציות בודקות בלי הרף את הלוח שלהן מול טביעת אצבע שהשרת משדר עם כל עדכון. אין רגע שבו סומכים על המכשיר של שחקן בשום דבר שחשוב.

ההחלטה התכנונית האחת הזאת מבטלת בבת אחת קטגוריות שלמות של רמאות. אף אחד לא יכול לזרוק שוב, כי הזריקה קודמת לתור שלו. אף אחד לא יכול לקרוא את המספר הבא מהמכשיר שלו, כי הוא פשוט לא נמצא שם. ואף אחד לא יכול לכופף את הלוח בשקט, כי לוח שחלוק על זה של השרת נזרק ומסונכרן מחדש בתוך הלוך ושוב אחד.

מה באמת אומרת "הוגנות מוכחת"

במשך שנים התשובה של התעשייה לשאלה "הקוביות ישרות?" הייתה תעודה: מעבדה בודקת את המחולל פעם אחת ומנפיקה חותמת שמבקשים מכם להאמין לה. אנחנו חושבים שמגיע לכם משהו חזק מחותמת. הוגנות מוכחת פירושה שאתם לא צריכים לסמוך עלינו בכלל, כי כל זריקה נושאת איתה את ההוכחה שלה. השיטה היא מנגנון התחייבות עם חילופין תור אחר תור, והיא נראית כך: חפיסת פתקים חתומים לכל שחקן, ועוד מעטפה חתומה שלנו.

  • נעילה. לפני שנזרקת הקובייה הראשונה השרת מייצר זרע סודי ומוסר לכם טביעת אצבע קריפטוגרפית שלו, גיבוב, בזמן שהתוצאה עדיין לא ידועה. באותו רגע עצמו האפליקציה של כל שחקן חותמת חפיסת פתקים ממוספרת משלה ומפרסמת רק את טביעת האצבע של החפיסה. שלוש טביעות האצבע מוקפאות יחד לרשומה אחת, כך שאי אפשר להחליף אחת מהן בדיעבד, ואף אחת מהן לא מסגירה את מה שהיא מסתירה.
  • חילופין. הקוביות אינן נקבעות מראש. הן נבנות אחת אחת לפי נוסחה קבועה ופומבית, וכל אחת מהן זקוקה לפתק משתי החפיסות. בכל תור השחקן שעומד לזרוק מפרסם קודם את הפתק הבא שלו, היריב משחרר את שלו רק אחרי שהפתק ההוא ננעל, והקובייה מחושבת אחרונה, מתוך שני הפתקים והזרע החתום. החותם של כל פתק נגזר מהפתק הבא בחפיסה, ולכן אי אפשר להחליף פתק בדיעבד. ומכיוון שהקלט הלא ידוע האחרון תמיד יושב בצד השני של הלוח, אף אחד, ואנחנו בכלל זה, לא יכול לדעת מהי קובייה כל עוד פתוחה החלטה שעדיין עשויה לשנות אותה.
  • בדיקה. כשהמשחק נגמר השרת פותח את המעטפה ומראה לכם את הזרע, וכל הרשומה מתפרסמת. אתם מגבבים את הזרע ומוודאים שהוא תואם לטביעת האצבע שקיבלתם בהתחלה, הוכחה שהוא מעולם לא הוחלף; אתם בודקים שכל פתק שייך לחפיסה שהצד שלו התחייב לה; ואז אתם מריצים את אותה נוסחה פומבית וגוזרים מחדש בעצמכם כל זריקה. אילו קובייה אחת הייתה מוזזת קצת, החישוב מחדש לא היה מסתדר, והזיוף היה גלוי לעין.

זה כל ההבדל בין "תסמכו על התעודה שלנו" לבין "תבדקו בעצמכם". אתם לא צריכים להאמין שהקוביות שלנו ישרות; אתם יכולים לבדוק אותן, משחק גמור אחד בכל פעם, במתמטיקה שכל אחד יכול להריץ. עמוד המשחק ההוגן נושא את הכלי שעושה בדיוק את זה: תנו לו משחק שהסתיים וצפו בכל זריקה נגזרת מחדש מול העיניים שלכם מתוך הרשומה שפורסמה. הדבר היחיד שעמוד פומבי אינו יכול לעשות הוא לאשר שהרשומה היא באמת המשחק שלכם, כי רק המכשיר שלכם שמר את העותק של טביעות האצבע שהוא נעל לפני שהתחלתם לשחק; הבדיקה האחרונה הזאת חיה בתוך האפליקציה.

הערה ישרה אחת שההוכחה לא משנה: קוביות הוגנות מוכחות עדיין אינן קוביות חלקות, מנומסות ומתחלפות לסירוגין. זרע שאפשר לאמת מייצר גושים, רצפים ובצורות בדיוק בתדירות שההסתברות חוזה. דווקא רצף בלי רצפים היה החשוד. אקראיות אמיתית היא גושית, וזאת בדיוק הסיבה שהיא מרגישה כל כך הרבה פעמים מכורה.

למה קוביות הוגנות מרגישות מכורות

וכאן אנחנו מגיעים לפסיכולוגיה, כי התחושה של קוביות מכורות אמיתית גם כשהקוביות לא. שלוש הטיות מתועדות היטב עושות את העבודה:

זיכרון סלקטיבי. אתם זוכרים את הערב שבו רקדתם על הבר ארבעה תורות ברצף. אתם לא זוכרים את מאות הכניסות השגרתיות שקדמו לו. תוצאות כואבות נחרתות חזק יותר, ולכל שחקן מנוסה יש מוזיאון פרטי של עוולות ואפס תיעוד של הרגיל.

חוק המספרים הקטנים. בני אדם מצפים שמדגמים זעירים ייראו כמו ממוצעים ארוכי טווח. ב-36 זריקות "אמורה" כל זריקה להופיע בערך פעם אחת, אבל מדגמים אמיתיים של 36 זריקות פרועים ולא אחידים, עם מספרים שנעדרים לגמרי ואחרים שמופיעים פי שלושה. ערב אחד של שש בש הוא מדגם זעיר. השונות שולטת בו, והשונות מרגישה אישית.

אסימטריית ההפסד. הזדמנות אכילה של 17 מתוך 36 שפוגעת בכם מרגישה כמו עוול; 19 הפעמים שהיא מחטיאה לא מרגישות כלום. ומכיוון ששש בש מכריע כל הזמן אירועים של 30 עד 70 אחוז, יש אספקה קבועה של תוצאות "בלתי אפשריות", שמגיעות בדיוק בקצב האפשרי שלהן.

התרופה היא להכיר את המספרים האמיתיים. כל מספר מסוים מופיע ב-11 מתוך 36 הזריקות. דאבל מגיע פעם בשש זריקות. אבן בודדת במרחק שישה פיפים נאכלת כמעט מחצית מהפעמים. מדריך יסודות ההסתברות שלנו פורש את כל הטבלה, וברגע שהמספרים האלה בראש שלכם, רוב הרגעים ה"מכורים" מסווגים את עצמם מחדש כימי שלישי רגילים.

שאלת האינטרס

עוד נקודה ישרה אחת: למפעילת משחק שש בש אין מה להרוויח מקוביות עקומות ויש לה הכול להפסיד. שחקנים תחרותיים, אלה שנשארים שנים, הם בדיוק האנשים שעוקבים אחרי הסיכויים ומבחינים בחריגות. מערכות דירוג משמשות גם כמסלול ביקורת פומבי: אילו הקוביות היו מעדיפות מישהו באופן שיטתי, התפלגויות הדירוג היו נודדות בדרכים שאפשר למדוד. קוביות הוגנות אינן מידה טובה שאנחנו מציגים לראווה; הן מודל העסק היציב היחיד שיש למשחק מיומנות.

איך לבדוק את זה בעצמכם

אל תאמינו למילה של אף מפעילה, שלנו כולל. תלמדו את שיעורי הבסיס ממדריך ההסתברות, ואז תצפו במשחקים שלכם עם המספרים האלה בראש: סיכויי כניסה מול לוח סגור בשני בתים, תדירות הדאבלים לאורך מפגש ארוך, אחוזי פגיעה בהזדמנויות ישירות. קוביות ישרות מתכנסות לתחזיות הטבלה במהירות מרשימה. ואם בא לכם על פרטי הארכיטקטורה, ההתחייבויות והחילופין תור אחר תור, זריקות בצד השרת, אימות לוח בכל מהלך והתאמת יריבים לפי Glicko-2, עמוד המשחק ההוגן הוא ההצהרה המלאה על איך השולחן שלנו בנוי, כלי האימות בכלל זה. אז המשתנה שמכריע משחקים הוא זה שאמור להכריע: כמה טוב אתם משחקים את הזריקות שקיבלתם. מדריכי האסטרטגיה נכתבו בדיוק בשביל זה.

מהתיאוריה למשחק

הדרך המהירה ביותר ללמוד שש-בש היא פשוט לשחק. שחקו מול שחקנים אמיתיים ישירות בדפדפן: בחינם, בלי התקנה ובלי הרשמה.

שחקו שש-בש בחינםבדפדפן · בלי התקנה