इस पृष्ठ पर
स्लॉट मशीन (एन्क्रिप्टेड)
इस पृष्ठ पर
परिचय
यह पृष्ठ बताता है कि एन्क्रिप्टेड निष्पक्ष गेमिंग प्रक्रिया पर आधारित एक विशेष स्लॉट मशीन कैसे काम करती है। अंततः, सभी स्लॉट मशीनों का परिणाम यादृच्छिक संख्याओं के ड्रॉ पर आधारित होता है। एन्क्रिप्टेड गेम्स के मामले में, यादृच्छिक संख्याएँ यादृच्छिक वर्णों की एक लंबी श्रृंखला पर आधारित होती हैं।
प्रमाणित रूप से निष्पक्ष कैसीनो
विश्लेषण
क्रिप्टो.गेम्स पर खेली जाने वाली स्लॉट मशीन के मामले में, स्लॉट मशीन काफी सरल है। यह पाँच-रीलों वाला एक-लाइन गेम है। खिलाड़ी को 10 क्रेडिट दांव पर लगाने होते हैं। 10 क्रेडिट की कीमत खिलाड़ी द्वारा तय की जाती है। प्रत्येक रील में आठ अलग-अलग प्रतीक होते हैं: सेब, केला, चेरी, अंगूर, स्ट्रॉबेरी, संतरा, बिटकॉइन और आड़ू। प्रत्येक रील का परिणाम अन्य रीलों से स्वतंत्र होता है।
क्रिप्टो.गेम्स स्लॉट मशीन के लिए भुगतान तालिका नीचे दी गई है। प्रतीकों की स्थिति कभी मायने नहीं रखती। उदाहरण के लिए, अगर खिलाड़ी को दो बिटकॉइन प्रतीक मिलते हैं, तो उसे भुगतान किया जाएगा, चाहे वे भुगतान रेखा पर कहीं भी हों। सभी जीत "एक के लिए" के आधार पर होती हैं। एक ही फल के चार और एक बिटकॉइन के मामले में, मेरा मानना है कि खिलाड़ी को केवल एक ही तरह के चार की उच्च जीत के लिए भुगतान किया जाता है, हालाँकि खेल की सहायता फ़ाइल इस स्थिति का उल्लेख नहीं करती है।
वेतन तालिका
| आयोजन | भुगतान करता है |
|---|---|
| पाँच बिटकॉइन | 10000 |
| एक तरह के पाँच | 1500 |
| चार बिटकॉइन | 700 |
| एक तरह के चार | 100 |
| तीन बिटकॉइन | 70 |
| दो बिटकॉइन | 25 |
| एक बिटकॉइन | 11 |
खेल विश्लेषण
मुझे लगता है कि जिस तरह से क्रिप्टो.गेम्स स्लॉट मशीन को काम करने के लिए डिज़ाइन किया गया था, उसमें हर प्रतीक का भार या मौका बराबर होगा। अगर यह सच होता, तो नीचे दी गई तालिका मेरे विश्लेषण को दर्शाती है। रिटर्न कॉलम (जीत)*(संभावना)/10 है। 10 से भाग देने का कारण यह है कि खिलाड़ी को दस क्रेडिट दांव पर लगाने होंगे। नीचे दाएँ कॉलम में 98.03% रिटर्न दिखाया गया है।
रिटर्न तालिका - समान भार
| आयोजन | भुगतान करता है | युग्म | संभावना | वापस करना |
|---|---|---|---|---|
| पाँच बिटकॉइन | 10,000 | 1 | 0.000031 | 0.030518 |
| एक तरह के पाँच | 1,500 | 7 | 0.000214 | 0.032043 |
| चार बिटकॉइन | 700 | 35 | 0.001068 | 0.074768 |
| एक तरह के चार | 100 | 245 | 0.007477 | 0.074768 |
| तीन बिटकॉइन | 70 | 490 | 0.014954 | 0.104675 |
| दो बिटकॉइन | 25 | 3,430 | 0.104675 | 0.261688 |
| एक बिटकॉइन | 11 | 11,970 | 0.365295 | 0.401825 |
| परास्त | - | 16,590 | 0.506287 | 0.000000 |
| कुल | 32,768 | 1.000000 | 0.980286 |
हालाँकि, निष्पक्ष गेमिंग प्रक्रिया जिस तरह से काम करती है, उसमें कुछ प्रतीकों का भार दूसरों की तुलना में ज़्यादा होता है। विशेष रूप से, सेब, केला, चेरी, अंगूर और स्ट्रॉबेरी प्रत्येक का भार 26 है, जबकि संतरा, बिटकॉइन और आड़ू का भार 25 है। किसी भी दिए गए प्रतीक पर रील के रुकने की संभावना उसके भार के समानुपाती होती है। खेल का अधिकांश रिटर्न बिटकॉइन प्रतीकों से आता है। चूँकि एक बिटकॉइन का भार 25 है और कुल औसत 25.625 है, इसलिए एक रील के बिटकॉइन पर रुकने की संभावना 8 में से 1 से थोड़ी कम है। यह खेल के रिटर्न को कम करता है, जैसा कि नीचे दी गई तालिका में दिखाया गया है। नीचे दाएँ सेल में 95.06% रिटर्न दिखाया गया है।
रिटर्न तालिका - असमान भार
| आयोजन | भुगतान करता है | युग्म | संभावना | वापस करना |
|---|---|---|---|---|
| पाँच बिटकॉइन | 10,000 | 9,765,625 | 0.000027 | 0.026973 |
| एक तरह के पाँच | 1,500 | 78,938,130 | 0.000218 | 0.032705 |
| चार बिटकॉइन | 700 | 351,562,500 | 0.000971 | 0.067972 |
| एक तरह के चार | 100 | 2,748,092,600 | 0.007590 | 0.075904 |
| तीन बिटकॉइन | 70 | 5,062,500,000 | 0.013983 | 0.097880 |
| दो बिटकॉइन | 25 | 36,450,000,000 | 0.100677 | 0.251691 |
| एक बिटकॉइन | 11 | 130,836,733,750 | 0.361377 | 0.397515 |
| परास्त | - | 186,513,035,520 | 0.515157 | 0.000000 |
| कुल | 362,050,628,125 | 1.000000 | 0.950639 |
निष्पक्ष गेमिंग
क्रिप्टो.गेम्स प्रत्येक रील के रुकने का स्थान निर्धारित करने के लिए निम्नलिखित प्रक्रिया का उपयोग करता है। यह मानकर चला जाता है कि पाठक को हैशिंग और आधार-16 गणित की मूल बातें पता हैं। यदि नहीं, तो मैं अपने डाइस (एन्क्रिप्टेड संस्करण) पृष्ठ पर इस पर चर्चा करूँगा।
- सर्वर सीड और क्लाइंट सीड को एक साथ जोड़ें, पहले सर्वर सीड।
- चरण 1 का SHA-512 हैश लें।
- बाईं ओर से शुरू करते हुए, चरण 2 से हैश से दो अक्षर लें।
- चरण 3 के दो वर्णों को हेक्साडेसिमल से दशमलव में परिवर्तित करें।
- चरण 4 के परिणाम का अंतिम अंक लें।
- यदि चरण 5 का परिणाम 1 से 8 है, तो इसे एक प्रतीक से मैप करें, इस प्रकार:
- 1 = सेब
- 2 = केला
- 3 = चेरी
- 4 = अंगूर
- 5 = स्ट्रॉबेरी
- 6 = नारंगी
- 7 = बिटकॉइन
- 8 = आड़ू
- यदि चरण 6, 1 से 8 की श्रेणी में था, तो उस प्रतीक को बाईं ओर से शुरू करते हुए, रील पर निर्दिष्ट करें।
- चाहे प्रतीक मिले या नहीं, हैश में दो स्थान आगे बढ़ें और चरण 3 पर वापस लौटें, जब तक कि 1 से 8 की श्रेणी में पांच संख्याएं न मिल जाएं (प्रत्येक रील के लिए एक)।
उदाहरण
एक उदाहरण के लिए प्रक्रिया इस प्रकार काम करती है।
ऊपर दिए गए Provably Fair पैनल के चित्र में, मैंने अपना क्लाइंट सीड चुना है। फिर मैंने सर्वर सीड और क्लाइंट सीड के हैश को कॉपी करके कहीं और पेस्ट किया है, और उन्हें "अगला सर्वर सीड SHA256" लेबल किया है। इस स्थिति में, वे हैं:
क्लाइंट सीड: sdf96dsf9876s9dd78f6 अगला सर्वर बीज हैश: bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c
मैंने शर्त लगाई और खेला। बाएँ से दाएँ, मेरा नतीजा चेरी-सेब-केला-स्ट्रॉबेरी-केला था, जो हार गया।
एक बार जब मैं अपना क्लाइंट सीड चुन लेता हूँ, तो मैं यह सुनिश्चित करने के लिए Provably Fair पैनल पर वापस जाता हूँ कि परिणाम पूर्वनिर्धारित था। मैं ये कदम उठाता हूँ:
- सबसे पहले मैं अंतिम सर्वर सीड पर ध्यान देता हूँ, जिसके बारे में वे कहते हैं कि यह था:
ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL
मैंने इसे SHA-256 हैशिंग प्रोग्राम के माध्यम से डाला। उस बीज का हैश है:
bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c
यह नेक्स्ट सर्वर सीड हैश से मेल खाता है जो मुझे शर्त लगाने से पहले दिया गया था, इसलिए मैं आश्वस्त हो सकता हूं कि परिणाम क्लाइंट सीड चुनने के बाद, लेकिन शर्त लगाने से पहले ही पूर्वनिर्धारित था।
हालाँकि, मैं जानना चाहता हूँ कि नतीजा चेरी-सेब-केला-स्ट्रॉबेरी-केला क्यों निकला। इसकी पुष्टि करने का तरीका यह है:
- ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhLsdf96dsf9876s9dd78f6 प्राप्त करने के लिए, सर्वर बीज और क्लाइंट बीज को उसी क्रम में संयोजित करें।
- 3F8CEF835C55B60C8682C580C1A0C6DCA5013F4614A82A6797273495CCE46418EA044CCD964B83D0765C9CE6A174F93E20DB56E118CF8AE82B2D0864FC09B066 प्राप्त करने के लिए चरण 1 का SHA-512 हैश लें।
- पहले दो अक्षर, 3F, लें और उन्हें हेक्साडेसिमल से दशमलव में बदलें: 3*16 + 15 = 48 + 15 = 63.
- 63 का आखिरी अंक, जो 3 है, लीजिए। चूँकि यह 1 से 8 के बीच है, इसलिए इसे ऊपर दिए गए फेयर गेमिंग निर्देशों के अनुसार किसी प्रतीक से मैप करें। इस स्थिति में, 3, चेरी से मैप होगा।
- चरण 2 से हैश में दो प्रतीकों को आगे बढ़ाएं, जो 8C हैं।
- 8C को हेक्साडेसिमल से दशमलव में बदलें: 8*16 + 12 = 140.
- 140 का अंतिम अंक 0 है, जो किसी भी चीज़ से मेल नहीं खाता, इसलिए 8C को छोड़ दें।
- चरण 2 से हैश में दो प्रतीकों को आगे बढ़ाएं, जो EF हैं।
- EF को हेक्साडेसिमल से दशमलव में परिवर्तित करें: 14*16 + 15 = 239.
- 239 का अंतिम अंक 9 है, जो किसी भी चीज़ से मेल नहीं खाता, इसलिए EF को छोड़ दें।
- चरण 2 से हैश में दो प्रतीकों को आगे बढ़ाएं, जो 83 हैं।
- EF को हेक्साडेसिमल से दशमलव में परिवर्तित करें: 8*16 + 3 = 131.
- 131 का आखिरी अंक, जो 1 है, लीजिए। चूँकि 1, 1 से 8 के बीच की सीमा में है, इसलिए इसे ऊपर दिए गए फेयर गेमिंग निर्देशों के अनुसार किसी प्रतीक से मैप करें। इस स्थिति में, 1, एक सेब से मैप होगा।
- चरण 2 से हैश में दो प्रतीकों को आगे बढ़ाएं, जो 5C हैं।
- 5C को हेक्साडेसिमल से दशमलव में बदलें: 5*16 + 12 = 92.
- 92 का आखिरी अंक, जो 2 है, लीजिए। चूँकि 2, 1 से 8 के बीच की सीमा में है, इसलिए इसे ऊपर दिए गए फेयर गेमिंग निर्देशों के अनुसार किसी प्रतीक से मैप करें। इस स्थिति में, 2, केले से मैप होगा।
- चरण 2 से हैश में दो प्रतीकों को आगे बढ़ाएं, जो 55 हैं।
- 55 को हेक्साडेसिमल से दशमलव में बदलें: 5*16 + 5 = 85.
- 85 का आखिरी अंक, जो 5 है, लीजिए। चूँकि 5, 1 से 8 के बीच होता है, इसलिए इसे ऊपर दिए गए फेयर गेमिंग निर्देशों के अनुसार किसी प्रतीक से मैप करें। इस स्थिति में, 5, स्ट्रॉबेरी से मैप होगा।
- चरण 2 से हैश में दो प्रतीकों को आगे बढ़ाएं, जो B6 हैं।
- B6 को हेक्साडेसिमल से दशमलव में बदलें: 11*16 + 6 = 182.
- 182 का आखिरी अंक, जो 2 है, लीजिए। चूँकि 2, 1 से 8 के बीच की सीमा में है, इसलिए इसे ऊपर दिए गए फेयर गेमिंग निर्देशों के अनुसार किसी प्रतीक से मैप करें। इस स्थिति में, 2, केले से मैप होगा।
- पांच प्रतीक पाए गए हैं, इसलिए खिलाड़ी को उसके दांव के परिणाम के रूप में केंद्र भुगतान रेखा पर एक चेरी, सेब, केला, स्ट्रॉबेरी और केला दिखाया जाता है।
निष्पक्ष गेमिंग कोड
अगर आपको लगता है कि ये सब करने में बहुत सारे चरण हैं, तो मैं मान जाऊँगा। इसीलिए, मैंने आपके लिए इसे आसानी से करने के लिए एक PHP प्रोग्राम लिखा है। बस उस लिंक पर क्लिक करें और इन निर्देशों का पालन करें:
- लाइन 4 पर सर्वर सीड दर्ज करें।
- लाइन 5 पर क्लाइंट सीड दर्ज करें।
- लाइन 6 पर अगला सर्वर सीड हैश दर्ज करें।
- "निष्पादित करें" पर क्लिक करें।
सर्वर सीड का सत्यापन और दांव का परिणाम नीचे परिणाम बॉक्स में प्रदर्शित किया जाएगा।
मैं कोड की एक प्रति भी रखता हूं, जिसे आप नीचे दिए गए स्पॉयलर बटन पर क्लिक करके देख सकते हैं।
[बिगाड़ने वाला]
// Crypto.Games के लिए स्लॉट मशीन रूपांतरण $server_seed = "ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL"; $client_seed = "sdf96dsf9876s9dd78f6"; $next_server_seed_hash = "bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c"; $reel_strip_array=array("त्रुटि","सेब","केला","चेरी","अंगूर","स्ट्रॉबेरी","संतरा","सिक्का","आड़ू"); $win_array=array(10000,1500,700,100,70,25,11,0); $server_seed_hash=hash('sha256', $server_seed); यदि ($server_seed_hash==$next_server_seed_hash) { echo "सर्वर बीज मिलान.\n"; } अन्य { प्रतिध्वनि "सर्वर बीज बेमेल!\n"; प्रतिध्वनि "सर्वर बीज =\t$server_seed\n"; प्रतिध्वनि "सर्वर बीज हैश =\t$server_seed_hash\n"; प्रतिध्वनि "कथित अगला हैश=\t$next_server_seed_hash\n"; } $reels_found=0; $स्थिति=0; $संयुक्त_बीज = $सर्वर_बीज.$क्लाइंट_बीज; प्रतिध्वनि "संयुक्त बीज = $combined_seed\n"; $combined_hash = हैश('sha512', $combined_seed); प्रतिध्वनि "संयुक्त बीज का हैश = $combined_hash\n"; करना { $first_two=substr($combined_hash,$position,2); $hex_to_dec=hexdec($first_two)%10; यदि (($hex_to_dec>=1)&&($hex_to_dec<=8)) { $reels_array[$reels_found] = $hex_to_dec; $रील्स_फाउंड++; इको "रील $reels_found =\t$reel_strip_array[$hex_to_dec]\n"; } $स्थिति+=2; यदि ($स्थिति==128) { इको "त्रुटि - हैश में अब कोई स्थान नहीं है।\n"; $reels_found=5; } } while ($reels_found<5); $coins=0; for ($i=0; $i<=4; $i++) { if ($reels_array[$i]==7) { $coins++; } } if ($coins==5) { $win=0; } elseif ( ($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) { $win=1; } // एक तरह के पांच elseif ($coins==4) { $win=2; } elseif ((($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3])) || (($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[1]==$reels_array[2]) && ($reels_array[1]==$reels_array[3]) && ($reels_array[1]==$reels_array[4]))) { $win=3; } // एक तरह के चार elseif ($coins==3) { $win=4; } elseif ($coins==2) { $win=5; } elseif ($coins==1) { $win=6; } else { $win=7; } echo "Win =\t$win_array[$win]\n" // प्रक्रिया // 1. "स्थिति" को 0 पर और "रील्स मिली" को 0 पर ले जाएँ। // 2. उस क्रम में सर्वर और क्लाइंट सीड और सर्वर सीड को मिलाएँ। // 3. स्ट्रिंग का SHA-512 हैश उत्पन्न करें चरण 2 से। // 4. चरण 3 के हैश की "स्थिति" से शुरू करते हुए, पहले दो अक्षरों को हेक्साडेसिमल से दशमलव में बदलें। // 5. 4 से अंतिम अंक लें। // 6. यदि चरण 5 का परिणाम 1 से 8 है, तो इसे नीचे दी गई तालिका के अनुसार एक प्रतीक में मैप करें, और "रील मिली" को 1 से बढ़ाएँ। // 7. यदि पाँच रील मिल गई हैं, तो रुकें, अन्यथा "स्थिति" को 1 से बढ़ाएँ और चरण 4 पर वापस जाएँ। // 8. पाँच रील मिल जाने के बाद, उन्हें बाएँ से दाएँ प्रदर्शित करें, क्रम में कि वे हैश में पाए गए थे। // 9. प्रतीक मैप: // 1 = सेब // 2 = केला // 3 = चेरी // 4 = अंगूर // 5 = स्ट्रॉबेरी // 6 = संतरा // 7 = सिक्का // 8 = आड़ू ?>[/बिगाड़ने वाला]


