ड्राचैन™ पिकॉ पर सभी ड्रॉ को नियंत्रित करता है और आपको यह जांचने की अनुमति देता है कि सब कुछ सामान्य रूप से चल रहा है। It is the common base on which the entire structure and technique of the draws made on Pickaw rests.
आरंभ करने के लिए, यहां आपको एक मानसिक तस्वीर देने और बाकी को बेहतर ढंग से समझने के लिए Drawchain™ का एक प्रतिनिधि आरेख है, जो थोड़ा अधिक तकनीकी होगा।
ड्रॉचैन™ पिकॉ पर सीड पूल के बीच लिंक के माध्यम से सभी ड्रॉ को नियंत्रित करता है।
प्रत्येक दिन एक बीज पूल से मेल खाता है जो उसी दिन बनाए गए ड्रॉ द्वारा उत्पन्न और उपयोग किए गए बीजों के मूल में होता है।
प्रत्येक बीज अद्वितीय है और प्रक्रिया और परिणाम के उत्पादन और पुनरुत्पादन के लिए ड्रॉ के साथ जोड़ा जा सकता है।
मामले की तह तक जाने से पहले, इस पृष्ठ पर आपको कई बार मिलने वाली शर्तों से परिचित होने के लिए तकनीकी परिभाषाओं की एक सूची यहां दी गई है:
master_seed
: base62
में 32 वर्णों की एक अद्वितीय और यादृच्छिक स्ट्रिंग।seed_pool
: क्रमिक रूप से उत्पन्न hash
की परिमित सूची।hash, global_hash, ending_hash
64 हेक्साडेसिमल वर्णों की अनूठी और यादृच्छिक स्ट्रिंग।seed
: base62
में 16 वर्णों की अनूठी और यादृच्छिक स्ट्रिंग।sha256
: मानकीकृत और अत्यधिक सुरक्षित हैश फ़ंक्शन।base62
: 62 वर्णों में जानकारी को कोड करना।आरंभ करने का समय आ गया है! जैसा कि ऊपर बताया गया है, ड्राचैन™ सीड पूल की सूची को दिया गया एक नाम है। तो अब हम देखेंगे कि इसमें क्या है और सीड पूल इसे कैसे खिलाते हैं!
seed_pool
की उत्पत्ति हमारे अनुरोध पर Random.org द्वारा जेनरेट किए गए master_seed
से होती है, जो अगले दिन के लिए मध्यरात्रि UTC से कुछ समय पहले हमारे अनुरोध पर होती है।
seedPool
में 24 घंटे की अवधि के लिए सभी ड्रॉ की सूची होती है।इसके बाद इस master_seed
का उपयोग hash
की इतनी बड़ी सूची बनाने के लिए किया जाता है कि seed_pool
के पूरे जीवनकाल में सभी ड्रॉ उपलब्ध करा सकें।
hash
की सूची बनाने के चरण यहां दिए गए हैं:
hash
#1 बनाने के लिए sha256
के साथ master_seed
हैश करनाhash
#2 बनाने के लिए hash
#1 को sha256
के साथ हैश करनाhash
की सूची काफी बड़ी न होइसलिए सभी hash
लगातार उत्पन्न होते हैं और master_seed
पर निर्भर करते हैं।
ending_hash
अंतिम उत्पन्न hash
है, इसका उपयोग नहीं किया जाता है और केवल यह सुनिश्चित करता है कि seed_pool
की शुरुआत (master_seed
) और अंत (ending_hash
) हो ताकि यह साबित हो सके कि इसे बदला नहीं गया है अपने जीवनकाल के दौरान।
master_seed
और hash
जिनका अभी तक उपयोग नहीं किया गया है, को स्वैच्छिक रूप से तब तक रोक दिया जाता है जब तक कि hash
या seed
की किसी भी भविष्यवाणी से बचने के लिए seed_pool
को सेवा से बाहर नहीं कर दिया जाता है और इसलिए एक ड्रा परिवर्तन संभव है..एक बार सभी hash
उत्पन्न हो जाने के बाद, seed_pool
अंततः उपयोग करने के लिए तैयार है। पिछला एक अक्षम है और नया कार्यभार संभालता है; पिछला master_seed
अब सार्वजनिक है और इसकी जाँच की जा सकती है (नीचे देखें)।
जब पिकॉ पर ड्रॉ का अनुरोध किया जाता है, तो मौजूदा seed_pool
के ऊपर से एक hash
हटा दिया जाता है और एक अद्वितीय seed
जेनरेट करता है जिसे असाइन किया जाएगा और ड्रॉ के लिए उपयोग किया जाएगा।
hash
का उपयोग seed_pool
के अंत से किया जाता है ताकि यह सुनिश्चित किया जा सके कि अगले वाले को प्रिंट बदलने की भविष्यवाणी नहीं की जा सकती है (एक अनुस्मारक के रूप में, hash
जिनका अभी तक उपयोग नहीं किया गया है, वे सार्वजनिक रूप से दिखाई नहीं दे रहे हैं)।seed
उत्पन्न करने के चरण यहां दिए गए हैं:
hash
को आधार 10 में बदल दिया जाता है और फिर एक seed
(6216) के सीमा मान से विभाजित किया जाता है ताकि केवल शेष भाग को रखा जा सके (इस ऑपरेशन को modulo भी कहा जाता है)base62
में परिवर्तित किया जाता है, जो 16 वर्णों की स्ट्रिंग का उत्पादन करने के लिए आवश्यक के रूप में कई शून्यों द्वारा पूर्वनिर्धारित होता है: इसलिए हम seed
प्राप्त करते हैंउत्पन्न seed
सहेजा जाता है और अब इसका उपयोग ड्रा को जन्म देने के लिए किया जा सकता है... और इसी तरह जब तक seed_pool
सेवा से बाहर नहीं ले जाया जाता है।
हम इस प्रतिनिधित्व पर देख सकते हैं कि 4 बीज उत्पन्न किए गए थे (seed_pool
के अंतिम hash
से) जब तक कि इसे सेवा से बाहर नहीं ले जाया गया था। अन्य hash
अप्रयुक्त हैं और इसके परिणामस्वरूप seed
का निर्माण नहीं हुआ है.
अब जब आप जानते हैं कि seed_pool
और seed
कैसे उत्पन्न होते हैं, तो हम दिलचस्प और इंटरैक्टिव भाग पर आते हैं: हम कैसे साबित करते हैं कि विजेता मौके के फलों से आते हैं। एक संयोग है कि आप अपने आप के लिए जाँच कर सकते हैं!
सत्यापन Drawchain™ के किसी भी स्तर से और कई अलग-अलग तरीकों से किया जा सकता है जिन्हें हम नीचे सूचीबद्ध करते हैं।
master_seed
सेप्रारंभ करने के लिए, आप यह जाँच सकते हैं कि जिस master_seed
का उपयोग हम किसी seed_pool
के hash
को जनरेट करने के लिए करते हैं, वह Random.org से सीधे Drawchain™ या प्रश्न में बीज पूल से सीधे master_seed
से अनुलग्न लिंक का उपयोग करके है.
seed_pool
के बंद होने के बाद ही संभव है, जिसमें से master_seed
संबंधित है।seed_pool
सेसाथ ही, आप किसी भी समय जांच सकते हैं कि उत्पन्न hash
की सूची में बदलाव नहीं किया गया है और ऊपर वर्णित तर्क का पालन करता है। यह सुनिश्चित करने के लिए, हमने अपनी पीढ़ी को पुन: पेश करने में सक्षम होने के लिए नीचे उपलब्ध एक JSFiddle बनाया है:
इसका उपयोग कैसे करें?
master_seed
(या hash
का seed_pool
) दर्ज करेंseed_pool
के भीतर ending_hash
(या बाद में hash
) दर्ज करेंseed
सेअंत में, ड्रा किए गए व्यक्तियों के पदों को ड्रा पूरा होते ही seed
से किसी भी समय चेक किया जा सकता है। यह सुनिश्चित करने के लिए, हमने पदों की पीढ़ी को पुन: उत्पन्न करने में सक्षम होने के लिए नीचे उपलब्ध एक jsFiddle बनाया है:
इसका उपयोग कैसे करें?
seed
दर्ज करेंवहाँ आप जाते हैं, अब Drawchain™ और उसका तंत्र, जिसने अकेले कई महीनों का काम किया, आपके लिए और कोई रहस्य नहीं है! हमें उम्मीद है कि ये स्पष्टीकरण स्पष्ट हैं और आपको खोया नहीं है।