रैंडम ड्रॉ सत्यापित करें
जाँचने के लिए एक प्रमाणपत्र कोड पेस्ट करें।
यह टूल क्या जाँचता है
किसी ने ड्रॉ किया और आपको एक प्रमाणपत्र कोड दिया। यह पेज बताता है कि वह कोड आंतरिक रूप से सुसंगत है या नहीं — क्या संख्याएँ वाकई उस सीड से आती हैं जिसे आयोजक ने प्रकाशित किया था, और क्या फ़िंगरप्रिंट वाकई उस सीड और उन सेटिंग को कवर करता है।
सब कुछ आपके ब्राउज़र में चलता है। प्रमाणपत्र कभी कहीं नहीं भेजा जाता।
दो जाँचें
फ़िंगरप्रिंट। प्रमाणपत्र में सीड और ड्रॉ की सेटिंग पर SHA-256 हैश होता है। यह पेज उस हैश की दोबारा गणना करता है। यदि यह प्रमाणपत्र में सहेजे गए हैश से मेल नहीं खाता, तो प्रतिबद्धता बनने के बाद सीड या सेटिंग में बदलाव किया गया था।
रीप्ले। सीड-आधारित जनरेटर पूरी तरह निर्धारक (deterministic) होता है, इसलिए एक जैसी सीड और एक जैसी सेटिंग हमेशा एक जैसी संख्याएँ देती हैं। यह पेज ड्रॉ को दोबारा चलाता है और तुलना करता है। यदि संख्याएँ अलग हों, तो परिणाम में बदलाव किया गया था।
प्रमाणपत्र तभी पास होता है जब दोनों जाँचें पास हों।
पास होने वाली जाँच क्या साबित करती है और क्या नहीं
यह साबित करता है कि आयोजक ने प्रतिबद्ध होने के बाद चुपचाप सीड, सेटिंग या संख्याएँ नहीं बदलीं।
यह नहीं साबित करता कि सीड अप्रत्याशित थी। यदि आयोजक ने खुद सीड चुनी और ड्रॉ से पहले फ़िंगरप्रिंट कभी प्रकाशित नहीं किया, तो हो सकता है उन्होंने कई सीड आज़माईं और जो पसंद आई वही रखी। फ़िंगरप्रिंट का मतलब तभी होता है जब इसे ड्रॉ से पहले प्रकाशित किया गया हो, कहीं टाइमस्टैम्प के साथ — किसी पोस्ट, कमेंट या मैसेज में।
प्रतिबद्धता के चरण का यही पूरा उद्देश्य है: यह “मुझ पर भरोसा करें” को ऐसी चीज़ में बदल देता है जिसे कोई भी बाद में जाँच सके।
ऐसा ड्रॉ चलाना जिसे लोग सत्यापित कर सकें
- अपनी सीमा और आपको कितनी संख्याएँ चाहिए, यह तय करें।
- फ़िंगरप्रिंट बनाएँ दबाएँ। मिलने वाले हैश को प्रकाशित करें — गिवअवे पोस्ट में, कमेंट में, जहाँ भी प्रतिभागी इसे टाइमस्टैम्प के साथ देख सकें।
- एंट्री बंद करें, फिर ड्रॉ करें।
- सीड और प्रमाणपत्र प्रकाशित करें। कोई भी इसे यहाँ पेस्ट कर सकता है।
चरण 2 छोड़ने से प्रमाणपत्र केवल सजावटी रह जाता है। फ़िंगरप्रिंट को पहले प्रकाशित करना ही इसे वज़न देता है।
अकेली सीड पर्याप्त क्यों नहीं है
सीड बस एक टेक्स्ट है। यह तभी संख्याएँ बनाती है जब आपको पता हो कि इसे कैसे संख्याओं में विस्तारित किया गया — कौन-सा एल्गोरिदम, कौन-सी सीमा, कितनी संख्याएँ, दोहराव की अनुमति थी या नहीं।
इसीलिए फ़िंगरप्रिंट सीड और सेटिंग दोनों को कवर करता है। इसके बिना, आयोजक एक सीड प्रकाशित कर सकता था और बाद में दावा कर सकता था कि ड्रॉ किसी और सीमा पर चला और संख्याओं का कोई और सेट असली परिणाम था। प्रतिबद्धता यह रास्ता बंद कर देती है।
फ़िंगरप्रिंट को जाली क्यों नहीं बनाया जा सकता
SHA-256 हैश एक तरफ़ा फ़ंक्शन है: आगे की दिशा में गणना करना आसान है, और पीछे की ओर चलाने का कोई ज्ञात तरीका नहीं है। यही बात प्रतिबद्धता को बाध्यकारी बनाती है।
धोखा देने के लिए, आयोजक को एक फ़िंगरप्रिंट प्रकाशित करना होगा और बाद में एक अलग सीड सामने लानी होगी जो वही हैश बनाए — यानी सेकंड-प्रीइमेज अटैक (second-preimage attack)। SHA-256 के खिलाफ अब तक किसी को ऐसा कोई तरीका नहीं मिला है, और खोज का दायरा इतना विशाल है कि ब्रूट फ़ोर्स बेमानी हो जाता है: 2²⁵⁶ अवलोकनीय ब्रह्मांड में अनुमानित परमाणुओं की संख्या से भी अधिक है।
वे परिणाम को भी हल्का सा नहीं बदल सकते। सीड के एक अक्षर को बदलने भर से हैश के लगभग आधे बिट अप्रत्याशित रूप से बदल जाते हैं। ऐसी कोई सीड खोजना संभव नहीं है जो प्रकाशित फ़िंगरप्रिंट से भी मेल खाए और कोई मनचाहा विजेता भी दे, क्योंकि इसके लिए पहले हैश तय करना होगा, और हैश हर चीज़ पर निर्भर करता है।
तो फ़िंगरप्रिंट सीड और सेटिंग दोनों को पूरी तरह तय कर देता है। यह जो तय नहीं कर सकता, वह है कब इसे प्रकाशित किया गया — इसीलिए आपकी पोस्ट पर लगा टाइमस्टैम्प आधा काम कर देता है।
सत्यापन योग्य ड्रॉ कहाँ मायने रखते हैं
- गिवअवे और प्रतियोगिताएँ — जो प्रतिभागी नहीं जीतते, वही सवाल पूछते हैं
- कम्युनिटी और DAO चुनाव — किसे स्लॉट, ग्रांट या भूमिका मिलेगी, यह तय करना
- शोध (research) — एक सैंपलिंग योजना जिसे कोई समीक्षक दोबारा चलाकर पुष्टि कर सके
- कानूनी जोखिम वाली पुरस्कार योजनाएँ — कुछ क्षेत्राधिकारों में सिर्फ़ दावा नहीं, एक प्रदर्शन योग्य तरीका चाहिए होता है
- कोई भी मामला जहाँ किसी अजनबी को भरोसा करना पड़े — दर्शक जितना दूर होगा, “हमने रैंडम चुना” उतना ही कम मायने रखता है