ड्राचैन™ पिकॉ पर सभी ड्रॉ को नियंत्रित करता है और आपको यह जांचने की अनुमति देता है कि सब कुछ सामान्य रूप से चल रहा है। 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™ और उसका तंत्र, जिसने अकेले कई महीनों का काम किया, आपके लिए और कोई रहस्य नहीं है! हमें उम्मीद है कि ये स्पष्टीकरण स्पष्ट हैं और आपको खोया नहीं है।