- डिवाइस या ऑब्जेक्ट्स को बिल्कुल भी डुप्लिकेट न होने वाला ID देने के तरीकों की पड़ताल की गई है, और random तथा deterministic तरीकों की तुलना की गई है
- random तरीका काफी बड़े bit-size का उपयोग करने पर collision की संभावना को व्यावहारिक रूप से 0 के करीब ला सकता है, और इसमें UUID (122-बिट) से लेकर पूरे ब्रह्मांड की computational limit (798-बिट) तक कई स्तर शामिल हैं
- deterministic तरीके में central counter, delegated hierarchy (Dewey), binary tree (Binary), token (Token) जैसी कई schemes प्रस्तावित की गई हैं, और हर तरीके की ID length growth characteristics का simulation के जरिए विश्लेषण किया गया है
- यह गणितीय प्रमाण भी दिया गया है कि सभी deterministic schemes worst case में linear growth से बच नहीं सकतीं
- नतीजतन, ब्रह्मांडीय विस्तार के स्तर पर भी व्यावहारिक और कुशल तरीका random ID generation ही है, जबकि deterministic तरीके अक्षम साबित होते हैं
यूनिक ID की ज़रूरत और समस्या की रूपरेखा
- ऑब्जेक्ट पहचान manufacturing, logistics, communication, security जैसे सभी systems की बुनियाद है, और बड़े पैमाने पर विस्तार होने पर बिना duplication वाले ID देना एक मुख्य चुनौती बन जाता है
- अगर मानव सभ्यता आकाशगंगा स्तर तक फैलती है, तब भी डुप्लिकेट-रहित ID system की आवश्यकता होगी
- समस्या को इस तरह रखा गया है: “ऐसा ID कैसे बनाया जाए जो कभी भी डुप्लिकेट न हो?”
random तरीका
- सबसे सरल तरीका है कोई भी random संख्या चुन लेना
- इसे कहीं से भी, बिना central management या synchronization के generate किया जा सकता है
- collision की संभावना को bit-size बढ़ाकर नियंत्रित किया जा सकता है, और इसे व्यावहारिक रूप से 0 के बहुत करीब लाया जा सकता है
- UUID (122-बिट) में लगभग $2^{61}$ IDs generate होने पर collision की उम्मीद की जा सकती है
- पूरे ब्रह्मांड की computational limit (10¹²⁰ बार) को ध्यान में रखें तो 798-बिट की आवश्यकता होगी
- atomic scale (10⁸⁰ इकाइयाँ) के लिए 532-बिट, और 1g nanobots (10⁵⁶ इकाइयाँ) के लिए 372-बिट
- वास्तविक randomपन सुनिश्चित करना महत्वपूर्ण है, इसलिए CSPRNG या quantum random source के उपयोग की सिफारिश की गई है
- सामान्य seed या constant ID (जैसे all-zero) पर रोक ज़रूरी है
deterministic तरीका
- central counter तरीके में एक single server क्रमवार IDs जारी करता है
- accessibility की समस्या के कारण satellite-डिवाइस delegation structure (Dewey) प्रस्तावित किया गया है
- Dewey scheme:
A.B.C रूप का hierarchical ID, जिसे Elias omega coding से व्यक्त किया जाता है
- tree structure के आधार पर इसमें logarithmic या linear growth होती है
- Binary scheme ID space को binary tree में विभाजित करती है, और कुछ स्थितियों में Dewey से अधिक कुशल होती है
- 2-Adic Valuation गणितीय uniqueness की गारंटी देता है, और यह Binary का एक परिवर्तित रूप है
- Token scheme chain structure में logarithmic growth दिखाती है, लेकिन चौड़ाई बढ़ने पर linear में बदल जाती है
linear growth की अनिवार्यता का प्रमाण
- यह मानकर कि ID आवंटन का हर path अद्वितीय होना चाहिए, संभव paths की संख्या की गणना की गई है
- जब nodes की संख्या n हो, तो आवश्यक IDs की संख्या $2^{n-1}$ तक बढ़ती है
- इसलिए ID length कम-से-कम O(n) होगी, यानी worst case में linear growth अनिवार्य है
- कोई भी algorithm हर स्थिति में logarithmic growth बनाए नहीं रख सकता
विस्तार मॉडल simulation
- Random Recursive Tree, Preferential Attachment, Fitness Model जैसे कई growth models पर प्रयोग किए गए
- छोटे पैमाने (2,048 nodes) पर Binary बेहतर रहा, जबकि Dewey और Token का प्रदर्शन स्थिति पर निर्भर था
- Preferential model में Dewey सबसे कुशल रहा
- Fitness model में Dewey और Binary का प्रदर्शन लगभग समान था
- दस लाख nodes के पैमाने पर भी Dewey और Token ने logarithmic growth बनाए रखी
- ID length को लगभग
6.55 × ln(n) के रूप में निरूपित किया जा सकता है
आकाशगंगा और ब्रह्मांडीय पैमाने का विस्तार मॉडल
- ग्रहों के बीच प्रसार को एक निश्चित गति वाले wave front के रूप में model किया गया है
- हर ग्रह लगभग 10⁹ IDs generate करने के बाद अगले ग्रह तक फैलता है
- आकाशगंगा की त्रिज्या लगभग 2,121 ग्रह मानी गई, और पूरे प्रसार पर ID length लगभग 288,048-बिट हुई
- आकाशगंगाओं के बीच प्रसार (लगभग 7,816 चरण) तक विचार करने पर लगभग 2.2 अरब बिट (281MB) की आवश्यकता पड़ती है
- deterministic तरीके अक्षम हैं, और random तरीका (798-बिट या कम) बेहद अधिक कुशल है
सुरक्षा और अतिरिक्त विचार
- ID forgery रोकने के लिए signature-based verification system लागू किया जा सकता है
- random IDs में public key को ID की तरह इस्तेमाल किया जा सकता है, जबकि deterministic scheme में parent child key पर signature करता है
- error-correcting code और version management की आवश्यकता है
- ऐसी वस्तुएँ जिनमें ID store नहीं किया जा सकता (जैसे ग्रह), उन्हें कई IDs की mapping से प्रबंधित किया जा सकता है
- Theseus के जहाज़ की समस्या की तरह, components बदलने पर ID बना रहना चाहिए या नहीं, इस पर भी चर्चा है
- संबंधित अवधारणाएँ: Decentralized Identifiers (DID), Ancestry Labeling Schemes
निष्कर्ष
- deterministic schemes सैद्धांतिक रूप से रोचक हैं, लेकिन व्यावहारिकता कम है
- random ID generation ब्रह्मांडीय पैमाने पर भी वास्तविक और कुशल है
- ID collision की संभावना को “व्यावहारिक रूप से 0” तक ले जाना ही सबसे सुरक्षित और उपयोगी विकल्प है
अभी कोई टिप्पणी नहीं है.