सामान्य आधार जिस पर पिकॉ पर बने ड्रॉ की पूरी संरचना और तकनीक टिकी हुई है।

geometry
Drawchain™ का सार्वजनिक और सत्यापन योग्य हिस्सा वर्तमान में विकास के अधीन है और बहुत जल्द उपलब्ध होगा। पिकॉ के लॉन्च के बाद से पहले से ही मौजूद होने के कारण, यह पूर्वव्यापी रूप से सत्यापन योग्य होगा । इसके आगमन की सूचना पाने के लिए हमें सोशल मीडिया पर फॉलो करें!

ड्राचैन™ का अवलोकन

Drawchain™
Seed Pool
Seed 45cdz4W0Cc28sZaQ
Seed yVQ42tfQ8McEjIIA
Seed RWwjzQw4ShULofUd
Seed Pool
Seed nnWqTElLhG6OvPPF
Seed 06nrizrLXKHhbEAg
Seed FLvwQhNjahe6WGrO

आरंभ करने के लिए, यहां आपको एक मानसिक तस्वीर देने और बाकी को बेहतर ढंग से समझने के लिए Drawchain™ का एक प्रतिनिधि आरेख है, जो थोड़ा अधिक तकनीकी होगा।

Drawchain™

- बीज पूल का सेट।

ड्रॉचैन™ पिकॉ पर सीड पूल के बीच लिंक के माध्यम से सभी ड्रॉ को नियंत्रित करता है।

Seed Pool

- बीज का सेट।

प्रत्येक दिन एक बीज पूल से मेल खाता है जो उसी दिन बनाए गए ड्रॉ द्वारा उत्पन्न और उपयोग किए गए बीजों के मूल में होता है।

Seed

- वर्णों की स्ट्रिंग।

प्रत्येक बीज अद्वितीय है और प्रक्रिया और परिणाम के उत्पादन और पुनरुत्पादन के लिए ड्रॉ के साथ जोड़ा जा सकता है।

तकनीकी परिभाषाएं

मामले की तह तक जाने से पहले, इस पृष्ठ पर आपको कई बार मिलने वाली शर्तों से परिचित होने के लिए तकनीकी परिभाषाओं की एक सूची यहां दी गई है:

  • 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 से कुछ समय पहले हमारे अनुरोध पर होती है।

इसलिए seed_pool में 24 घंटे की अवधि के लिए सभी ड्रॉ की सूची होती है।

इसके बाद इस master_seed का उपयोग hash की इतनी बड़ी सूची बनाने के लिए किया जाता है कि seed_pool के पूरे जीवनकाल में सभी ड्रॉ उपलब्ध करा सकें।

hash की सूची बनाने के चरण यहां दिए गए हैं:

  • 1. hash #1 बनाने के लिए sha256 के साथ master_seed हैश करना
  • 2. hash #2 बनाने के लिए hash #1 को sha256 के साथ हैश करना
  • 3. चरण (2.) को तब तक दोहराएं जब तक आपके पास hash की सूची काफी बड़ी न हो

इसलिए सभी hash लगातार उत्पन्न होते हैं और master_seed पर निर्भर करते हैं।

ending_hash अंतिम उत्पन्न hash है, इसका उपयोग नहीं किया जाता है और केवल यह सुनिश्चित करता है कि seed_pool की शुरुआत (master_seed) और अंत (ending_hash) हो ताकि यह साबित हो सके कि इसे बदला नहीं गया है अपने जीवनकाल के दौरान।

Seed Pool
199bd291b6a487bdcc2c2ee694fe33795ce68a7f98980f5b122850311c8b0c58
dff3c4d48755ba4b5d502abeeaf634f641d648912ea0f2112a19994446ed2234
054ef27ac47492d889f3ee68bbe31c5a748b1445d0c8d0c39f3434c9ab1563e9
3172b0dbd9355666b0dd60ca841066adde4d8bdae0123998ea0f936d2ae1ea2a
0bebacec2587be7b59279dd0785ddf7d503879e84dc52129d08e73c3d78f2803
...
f866064fc6962b11c85221f3be57bc68d1d017151dc4a9d1b3aee5e06f83660b
970ee7b2a0c4697c2344b8217c0f63c310ac52d6b9bea9b265b5c2d27d007635
TSSJNvGrhPgWYx833cU8DRYCr6Ge6Q8s
master_seed ending_hash hash
master_seed और hash जिनका अभी तक उपयोग नहीं किया गया है, को स्वैच्छिक रूप से तब तक रोक दिया जाता है जब तक कि hash या seed की किसी भी भविष्यवाणी से बचने के लिए seed_pool को सेवा से बाहर नहीं कर दिया जाता है और इसलिए एक ड्रा परिवर्तन संभव है..

एक बार सभी hash उत्पन्न हो जाने के बाद, seed_pool अंततः उपयोग करने के लिए तैयार है। पिछला एक अक्षम है और नया कार्यभार संभालता है; पिछला master_seed अब सार्वजनिक है और इसकी जाँच की जा सकती है (नीचे देखें)।

बीज का उत्पादन और उपयोग

जब पिकॉ पर ड्रॉ का अनुरोध किया जाता है, तो मौजूदा seed_pool के ऊपर से एक hash हटा दिया जाता है और एक अद्वितीय seed जेनरेट करता है जिसे असाइन किया जाएगा और ड्रॉ के लिए उपयोग किया जाएगा।

hash का उपयोग seed_pool के अंत से किया जाता है ताकि यह सुनिश्चित किया जा सके कि अगले वाले को प्रिंट बदलने की भविष्यवाणी नहीं की जा सकती है (एक अनुस्मारक के रूप में, hash जिनका अभी तक उपयोग नहीं किया गया है, वे सार्वजनिक रूप से दिखाई नहीं दे रहे हैं)।

seed उत्पन्न करने के चरण यहां दिए गए हैं:

  • 1. hash को आधार 10 में बदल दिया जाता है और फिर एक seed (6216) के सीमा मान से विभाजित किया जाता है ताकि केवल शेष भाग को रखा जा सके (इस ऑपरेशन को modulo भी कहा जाता है)
  • 2. प्राप्त मान को base62 में परिवर्तित किया जाता है, जो 16 वर्णों की स्ट्रिंग का उत्पादन करने के लिए आवश्यक के रूप में कई शून्यों द्वारा पूर्वनिर्धारित होता है: इसलिए हम seed प्राप्त करते हैं
जैसा ऊपर बताया गया है, एक बीज base62 में 16 वर्णों की एक स्ट्रिंग है। जिसका अर्थ है कि इसे बड़ी संख्या में परिवर्तित किया जा सकता है, और इसके विपरीत। इसका दशमलव मान (आधार 10) इसलिए 0 (शामिल) और 62 16 (बहिष्कृत) के बीच हो सकता है, यानी 4767240170682823533450263330816।

उत्पन्न seed सहेजा जाता है और अब इसका उपयोग ड्रा को जन्म देने के लिए किया जा सकता है... और इसी तरह जब तक seed_pool सेवा से बाहर नहीं ले जाया जाता है।

Seed Pool
199bd291b6a487bdcc2c2ee694fe33795ce68a7f98980f5b122850311c8b0c58
dff3c4d48755ba4b5d502abeeaf634f641d648912ea0f2112a19994446ed2234lidjXjrPQvOVTNcM
054ef27ac47492d889f3ee68bbe31c5a748b1445d0c8d0c39f3434c9ab1563e9veBU6I7Kr7ATAk6l
3172b0dbd9355666b0dd60ca841066adde4d8bdae0123998ea0f936d2ae1ea2aEH5WZd5kvxgPp2Fc
0bebacec2587be7b59279dd0785ddf7d503879e84dc52129d08e73c3d78f2803SJvamW7ILjC7hQEr
...
f866064fc6962b11c85221f3be57bc68d1d017151dc4a9d1b3aee5e06f83660bunused
970ee7b2a0c4697c2344b8217c0f63c310ac52d6b9bea9b265b5c2d27d007635unused
TSSJNvGrhPgWYx833cU8DRYCr6Ge6Q8s
master_seed ending_hash hash seed

हम इस प्रतिनिधित्व पर देख सकते हैं कि 4 बीज उत्पन्न किए गए थे (seed_pool के अंतिम hash से) जब तक कि इसे सेवा से बाहर नहीं ले जाया गया था। अन्य hash अप्रयुक्त हैं और इसके परिणामस्वरूप seed का निर्माण नहीं हुआ है.

ड्रॉ का सत्यापन

अब जब आप जानते हैं कि seed_pool और seed कैसे उत्पन्न होते हैं, तो हम दिलचस्प और इंटरैक्टिव भाग पर आते हैं: हम कैसे साबित करते हैं कि विजेता मौके के फलों से आते हैं। एक संयोग है कि आप अपने आप के लिए जाँच कर सकते हैं!

सत्यापन Drawchain™ के किसी भी स्तर से और कई अलग-अलग तरीकों से किया जा सकता है जिन्हें हम नीचे सूचीबद्ध करते हैं।

master_seed से

प्रारंभ करने के लिए, आप यह जाँच सकते हैं कि जिस master_seed का उपयोग हम किसी seed_pool के hash को जनरेट करने के लिए करते हैं, वह Random.org से सीधे Drawchain™ या प्रश्न में बीज पूल से सीधे master_seed से अनुलग्न लिंक का उपयोग करके है.

एक अनुस्मारक के रूप में, Random.org के साथ जाँच करने की यह विधि केवल seed_pool के बंद होने के बाद ही संभव है, जिसमें से master_seed संबंधित है।

seed_pool से

साथ ही, आप किसी भी समय जांच सकते हैं कि उत्पन्न hash की सूची में बदलाव नहीं किया गया है और ऊपर वर्णित तर्क का पालन करता है। यह सुनिश्चित करने के लिए, हमने अपनी पीढ़ी को पुन: पेश करने में सक्षम होने के लिए नीचे उपलब्ध एक JSFiddle बनाया है:

इसका उपयोग कैसे करें?

  • 1. "प्रारंभ हैश" फ़ील्ड में कोई master_seed (या hash का seed_pool) दर्ज करें
  • 2. "एंड हैश*" फ़ील्ड में एक ही seed_pool के भीतर ending_hash (या बाद में hash) दर्ज करें
  • 3. "गणना!" बटन पर क्लिक करें

seed से

अंत में, ड्रा किए गए व्यक्तियों के पदों को ड्रा पूरा होते ही seed से किसी भी समय चेक किया जा सकता है। यह सुनिश्चित करने के लिए, हमने पदों की पीढ़ी को पुन: उत्पन्न करने में सक्षम होने के लिए नीचे उपलब्ध एक jsFiddle बनाया है:

इसका उपयोग कैसे करें?

  • 1. "ड्रा का बीज" फ़ील्ड में ड्रा के seed दर्ज करें
  • 2. "प्रविष्टियों की संख्या" फ़ील्ड में प्रतियोगिता प्रविष्टियों की संख्या दर्ज करें
  • 3. "विजेताओं की संख्या" फ़ील्ड में तैयार किए जाने वाले विजेताओं की संख्या दर्ज करें
  • 4. "गणना!" बटन पर क्लिक करें
बहुत अधिक सादगी के लिए, हम यह साबित करने के लिए आवेदन के स्रोत कोड को प्रकाशित कर सकते थे कि ड्रॉ कला के नियमों के अनुसार किया जाता है। दुर्भाग्य से यह संभव नहीं है क्योंकि हमारा कोड मालिकाना है और हम इसे तीसरे पक्ष को प्रदान नहीं करना चाहते हैं, इसलिए इस पृष्ठ का अस्तित्व! और फिर कुछ भी यह सुनिश्चित नहीं करता कि हमने इस ओपन सोर्स संस्करण का अच्छी तरह से उपयोग किया होगा, एक बार फिर हमें इसके लिए अपना शब्द लेना होगा ताकि हम अपने सभी जानकारियों को साझा न करें। इसके अलावा, अभी भी सादगी में, हम केवल 1 और प्रविष्टियों की संख्या के बीच एक यादृच्छिक संख्या ले सकते थे, लेकिन यह पिकॉ 😉 नहीं है

वहाँ आप जाते हैं, अब Drawchain™ और उसका तंत्र, जिसने अकेले कई महीनों का काम किया, आपके लिए और कोई रहस्य नहीं है! हमें उम्मीद है कि ये स्पष्टीकरण स्पष्ट हैं और आपको खोया नहीं है।