1. हर नतीजा क्रिप्टोग्राफ़िक रैंडम जनरेटर से आता है
Spinvolta crypto.getRandomValues() से नतीजे निकालता है — हर आधुनिक ब्राउज़र और ऑपरेटिंग सिस्टम में मौजूद क्रिप्टोग्राफ़िक रूप से सुरक्षित रैंडम नंबर जनरेटर, वही स्रोत जिससे एन्क्रिप्शन कुंजियाँ बनती हैं। हम कभी कुछ तय करने के लिए Math.random() इस्तेमाल नहीं करते। (सिर्फ़ सजावटी चीज़ें, जैसे कॉन्फ़ेटी का टुकड़ा कहाँ उड़े, इसे इस्तेमाल कर सकती हैं।)
2. मॉड्यूलो बायस नहीं
32-बिट रैंडम नंबर को हमेशा, मान लीजिए, 7 विकल्पों में बराबर नहीं बाँटा जा सकता: 4,294,967,296 सात का गुणज नहीं है, इसलिए सीधा-सादा number % 7 कुछ विकल्पों को ज़रा-सा ज़्यादा मौका देता है। Spinvolta रिजेक्शन सैंपलिंग इस्तेमाल करता है: अगर नंबर रेंज के ऊपर बचे असमान हिस्से में गिरे, तो उसे छोड़कर नया नंबर निकाला जाता है। इससे हर विकल्प का मौका बिल्कुल बराबर होता है, विकल्प कितने भी हों।
3. वज़न सटीक हैं
वेटेड मोड में 1, 2.5 या 0.125 जैसे वज़न एक साझा पैमाने पर पूर्ण संख्याओं में बदलकर सटीक जोड़े जाते हैं। कुल पर एक एकसमान ड्रॉ विजेता चुनता है, इसलिए वज़न 2 वाला विकल्प वज़न 1 वाले से ठीक दोगुना संभावित है — और व्हील के हिस्सों का आकार यही सटीक संभावना दिखाता है।
4. बिना दोहराव कई विजेता
कई विजेता, टीमें, रैंडम क्रम, कार्ड फेंटाई और गिवअवे निष्पक्ष Fisher–Yates शफ़ल (उसी रिजेक्शन सैंपलिंग के साथ) इस्तेमाल करते हैं, इसलिए विजेताओं का हर संभावित क्रम या समूह बराबर संभावित है।
5. पहले नतीजा, फिर एनिमेशन
जब आप घुमाएँ दबाते हैं, विजेता व्हील हिलने से पहले तय हो जाता है। फिर एक सॉल्वर गति की गणना करता है — पीछे खिंचना, रफ़्तार, कितने चक्कर, आखिर का हल्का डोलना — जो जीतने वाले हिस्से के ठीक अंदर, किनारों से दूर किसी रैंडम जगह रुके। ज़ोर से झटकना, लंबा स्पिन चुनना या खुद रोकना सिर्फ़ दिखावट बदलता है। हमारे ऑटोमेटेड टेस्ट हज़ारों रैंडम स्पिन जाँचते हैं ताकि एनिमेशन हमेशा पहले से निकले नतीजे पर रुके और कभी पड़ोसी हिस्से में न खिसके।
6. गिवअवे और रूम के लिए साबित होने वाले निष्पक्ष ड्रॉ
गिवअवे (और हर उस ड्रॉ के लिए जहाँ भरोसा मायने रखता है) Spinvolta और आगे जाता है, ताकि आपको हम पर या होस्ट पर भरोसा न करना पड़े:
- ड्रॉ से पहले आपका ब्राउज़र सटीक एंट्री सूची और सेटिंग्स तय करके एक फ़िंगरप्रिंट प्रकाशित करता है — सूची, सेटिंग्स और एक गुप्त सीड का SHA-256 हैश। हमारा सर्वर दर्ज करता है कि उसे यह कब मिला।
- फ़िंगरप्रिंट drand League of Entropy रैंडमनेस बीकन के आगे आने वाले एक राउंड का नाम देता है — दुनिया भर के स्वतंत्र संगठनों द्वारा हर 3 सेकंड में बनाया गया सार्वजनिक मान, जिसका कोई अनुमान नहीं लगा सकता, न कोई उसे चुन सकता है।
- जब वह राउंड प्रकाशित होता है, तो विजेता फ़िंगरप्रिंट, बीकन मान और सीड से गणना किए जाते हैं।
- प्रमाण पेज सब कुछ दिखाता है। कोई भी जाँचें दबाकर अपने ब्राउज़र में सब दोबारा गणना कर सकता है, बीकन के क्रिप्टोग्राफ़िक सिग्नेचर की जाँच समेत।
होस्ट विजेता नहीं चुन सकता क्योंकि सूची तय होते समय बीकन मान मौजूद नहीं था। हम भी नहीं, क्योंकि फ़िंगरप्रिंट तय होने से पहले हम सीड नहीं देखते और drand हमारे नियंत्रण में नहीं है। अगर बीकन तक न पहुँचा जा सके, तो ड्रॉ साफ़ लेबल वाले कमिट-रिवील ड्रॉ पर आ जाता है।
7. सांख्यिकीय रूप से जाँचा गया
हमारा टेस्ट सूट हर बदलाव पर सैकड़ों हज़ार सिम्युलेटेड ड्रॉ पर काई-स्क्वेयर गुडनेस-ऑफ़-फ़िट टेस्ट चलाता है, और पूरे सूट में दस लाख से ज़्यादा ड्रॉ पर: एकसमान चुनाव, वेटेड चुनाव, फेंटाई और कई विजेताओं की जगहें। आप निष्पक्षता जाँच पेज पर अपना संस्करण चला सकते हैं।
जो हम साबित नहीं कर सकते
रोज़ के स्पिन में आप भरोसा करते हैं कि आपके ब्राउज़र में चलने वाला कोड वही है जो हम बताते हैं। यह पूरी तरह आपके डिवाइस पर चलता है, और आप इसे ब्राउज़र के डेवलपर टूल से देख सकते हैं। जब दाँव ऊँचे हों — इनाम, सार्वजनिक ड्रॉ — तो साबित होने वाला निष्पक्ष ड्रॉ इस्तेमाल करें, जिसके लिए किसी पर भरोसा नहीं करना पड़ता।
अक्सर पूछे जाने वाले सवाल
क्या व्हील में धांधली हो सकती है?
एनिमेशन से नहीं: नतीजा पहले निष्पक्ष रूप से निकलता है और गति उसे दिखाने के लिए हल की जाती है। संभावना बदलने का एकमात्र तरीका वेटेड मोड है, जो “वेटेड व्हील” बैज दिखाता है और हिस्सों का आकार उसी हिसाब से बनाता है।
एक ही नाम लगातार दो बार क्यों आया?
क्योंकि असली रैंडमनेस में सिलसिले होते हैं। 10 विकल्पों के साथ, वही विकल्प 10% बार लगातार दो बार आता है। अगर हर विकल्प सिर्फ़ एक बार चाहिए तो एलिमिनेशन मोड इस्तेमाल करें।
drand क्या है?
drand एक वितरित रैंडमनेस बीकन है जिसे League of Entropy चलाता है — स्वतंत्र विश्वविद्यालयों, कंपनियों और संगठनों का समूह। यह हर कुछ सेकंड में एक नया जाँचने योग्य रैंडम मान प्रकाशित करता है।