מה פירושו provably fair בשפה פשוטה
לפני תחילת כל סיבוב, השרת מתחייב ל-seed שרת על ידי פרסום ה-hash שלו ב-SHA-256. ה-hash הוא טביעת אצבע חד-כיוונית, לא ניתן לשחזר את ה-seed ממנו בהנדסה לאחור. אתה יכול גם לראות את ה-client seed שלך (שאתה קובע בעצמך, או מקבל את ברירת המחדל), ואת ה-nonce של הסיבוב (שעולה ב-1 בכל סיבוב).
לאחר סגירת הסיבוב, השרת חושף את הזרע המקורי של השרת. אתה מבצע hash עליו יחד עם הזרע של הלקוח ועם ה-nonce. ה-hash המתקבל ממופה למספר ספציפי, שממופה לתוצאת הסיבוב (נקודת התרסקות, הטלת קובייה, חריץ פלינקו, לא משנה מה). אם החישוב מתאים למה שראית, הסיבוב היה הוגן. אם לא, הפלטפורמה רימתה.
האלגוריתם המדויק של Crash
- גיבוב של זרע השרת: יש לקחת את מחרוזת זרע השרת שנחשפה ולחשב SHA-256.
- שרשר עם זרע לקוח ו-nonce: הפורמט הוא hmac-sha256(serverSeed, clientSeed + ":" + nonce).
- קח את 13 התווים ההקסדצימליים הראשונים של הגיבוב שהתקבל.
- המר למספר שלם עשרוני h.
- חישוב נקודת ההתרסקות: crashPoint = floor((100 * 2^52) / (2^52 - h)) / 100, עם התאמה ליתרון הבית.
- השווה את נקודת הקריסה שראית בסיבוב. התאמה = כנות.
דוגמה מעשית: אימות סיבוב Crash
נניח סיבוב עם הפרמטרים הבאים (המספרים מקוצרים לצורך קריאות):
Seed שרת (נחשף): a1b2c3d4e5f6...
Client seed: myclientseed42
Nonce: 137
נקודת התרסקות המוצגת במשחק: 2.47x
הרץ hmac-sha256('a1b2c3d4e5f6...', 'myclientseed42:137'). קח את 13 התווים ההקסדצימליים הראשונים של הפלט. המר לעשרוני. הכנס לנוסחה לעיל. תוצאה: 2.47x. התאמה. הסיבוב היה הוגן.
כל ספריית פונקציות hash בכל שפת תכנות נותנת את אותה התשובה. התוצאה היא דטרמיניסטית. אם תגדיר את האימות פעם אחת, תוכל להריץ אותו בכל סיבוב שאתה משחק.
האלגוריתם המדויק של Dice
- חשב hmac-sha256(serverSeed, clientSeed + ":" + nonce).
- קח את 5 התווים ההקסדצימליים הראשונים.
- המר למספר שלם i.
- חשב roll = (i * 100) / 16^5, מעוגל לשני ספרות עשרוניות.
- השווה לתוצאת הגלגול המוצגת. התאמה = הוגן.
למה ה-client seed חשוב
אתה יכול להגדיר את זרע הלקוח שלך בעצמך. רוב השחקנים מקבלים את ברירת המחדל ולעולם לא נוגעים בו. אם אתה רוצה אמון מקסימלי, שנה את זרע הלקוח שלך באופן קבוע (Shuffle מאפשר לך לעשות זאת בהגדרות ← הוכחה הוגנת ← הגדרת זרע לקוח). כל שינוי מבטל את מחויבות זרע השרת הקודמת ומגלגל אחד חדש.
שינוי הסיד באמצע הסשן לא משנה את התשואה הצפויה שלך. זה פשוט אומר שהפלטפורמה לא יכלה להכין רצף של הטלות לא נוחות מתוך ידיעה מראש של סיד הלקוח שלך. ההגנה היא קריפטוגרפית, לא סטטיסטית.
אי־הבנות נפוצות
- הוגן באופן מוכח אינו משנה את יתרון הבית. Crash עדיין 99% RTP. Dice עדיין 99% RTP. האלגוריתם הוא כנה, אך המתמטיקה עדיין מעדיפה מעט את הבית.
- הוכחה הוגנת אינה מאפשרת לך לחזות את התוצאה הבאה. זרע השרת מחויב מראש ונחשף לאחר מכן, כך שחיזוי בלתי אפשרי קריפטוגרפית עד לסיום הסיבוב.
- הוכחת הגינות אינה מכסה משחקי סלוטס, משחקי שולחן או קזינו חי. אלה פועלים על גנרטורים של מספרים אקראיים של צד שלישי (סלוטס) או חומרה פיזית (שולחנות חיים) ומבוקרים על ידי iTech Labs או שווה ערך.
- פלטפורמה יכולה להיות הוכחת הגינות (provably fair) במשחקי Originals ועדיין לזייף משחקי סלוטים או לעכב משיכות. הוכחת הגינות מכסה סיכון אחד ספציפי: שלמות תוצאות ה-RNG הפנימיות.
- אם אתה מוצא אי-התאמה, צלם מסך של הכל (הזרעים, ה-nonce, התוצאה, חישוב האימות שלך) לפני יצירת קשר עם התמיכה. אי-התאמות הן נדירות ביותר וכמעט תמיד נובעות משגיאת משתמש בצד האימות.
שלב אחר שלב: אימות הסיבוב שלך
-
1
פתח הגדרות Shuffle ← הוכחה הוגנת
תראה את האש של סיד השרת הנוכחי שלך, את סיד הלקוח שלך ואת טווח הנונס.
-
2
שחק סיבוב ורשום את התוצאה
תרשמו את התוצאה, לא משנה מה היא.
-
3
סובב את ה-seed של השרת שלך
לחץ על "השתמש בזרע שרת חדש" או המשך לשחק עד לזרע חדש. זרע השרת הקודם נחשף כעת.
-
4
העתק את ה-server seed שנחשף, את ה-client seed שלך ואת ה-nonce
כל השלושה מופיעים בתצוגת היסטוריית הזרע.
-
5
הרץ את ה-hash בכל שפת תכנות
Python, JavaScript, כלי SHA-256 מקוונים - כולם עובדים. השתמש באלגוריתם למעלה עבור המשחק ששיחקת.
-
6
השווה
אם התוצאה המחושבת שלך תואמת את התוצאה במשחק, הסיבוב היה הוגן. חזור על כך בכל סיבוב שתרצה.
יתרונות וחסרונות של הוכחת הגינות כתכונה
What we like
- אפס צורך באמון, המתמטיקה ניתנת לאימות עצמאי
- היסטוריית זרעים ציבורית מכסה כל סיבוב ששיחקת אי פעם בחשבון שלך
- מונע קריפטוגרפית מהפלטפורמה לזייף תוצאות RNG פנימיות
- יישום תקני תעשייה, אותו מנגנון commit-reveal SHA-256 כמו ב-Stake, Roobet, BC.Game
- זמן האימות הוא בערך 30 שניות לסיבוב לאחר שמגדירים סקריפט
What we don't
- אינו מכסה משחקי סלוטס, קזינו חי או תוצאות הימורי ספורט
- האימות המתמטי אינו טריוויאלי עבור מי שאינם מפתחים
- רוב השחקנים למעולם לא מאמתים בפועל, מה שמבטל את היתרון המעשי
- הוכחה הוגנת אינה מגינה מפני מחלוקות משיכה או עיכובים ב-KYC
- החלפה תכופה של זרעי שרת היא מטרד בחווית המשתמש
שאלות נפוצות
נסו בעצמכם. פתחו עם הקוד MAXBET, שחקו סיבוב של Dice, ואז אמתו את התוצאה. המתמטיקה תתאים.
תבע MAXBET ב-Shuffle →