קוביות הוגנות, משחק הוגן

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

אמתו בעצמכם כל משחק שהסתיים

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

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

או

אנחנו בודקים רק את שדות ההגינות של אותו משחק, לעולם לא את זהות השחקן.

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

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

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

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

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

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

הלוח: מאומת בכל מהלך ומהלך

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

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

היריבים: התאמה בשיטת Glicko-2

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

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

איך קוביות הוגנות מרגישות באמת

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

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

המחויבות שלנו

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

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

שאלות נפוצות

האם הקוביות בשש-בש מקוון מזויפות?

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

למה נדמה לי שאני מקבל קוביות גרועות משל יריבי?

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

האם היריב שלי יכול לרמות או לשנות את הלוח?

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

כיצד ההתאמה בין יריבים נשארת הוגנת?

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

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

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

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