ब्लॉकचैन पर डेटा संग्रहीत करना महंगा है, इसलिए यदि आपको "ब्लॉकचैन शैली" (एक अपरिवर्तनीय, अनुमति रहित और वितरित तरीके से) में बड़ी मात्रा में डेटा स्टोर करने की आवश्यकता है, तो आपको बाहरी स्टोरेज समाधान का उपयोग करना होगा। IPFS का उपयोग करना सबसे आम विकल्प है, लेकिन बाजार में कुछ अन्य खिलाड़ी भी हैं। उनमें से एक एथेरियम झुंड है। इस लेख में, मैं आपको अपने अगले प्रोजेक्ट के लिए सही स्टोरेज समाधान चुनने में मदद करने के लिए झुंड और IPFS के बीच समानता और अंतर से परिचित कराऊंगा।
IPFS (इंटरप्लेनेटरी फाइल सिस्टम के लिए संक्षिप्त नाम) की स्थापना 2014 में प्रोटोकॉल लैब्स द्वारा की गई थी। यह एक वितरित फ़ाइल सिस्टम प्रोटोकॉल है जो वैश्विक नामस्थान में प्रत्येक फ़ाइल को विशिष्ट रूप से पहचानने के लिए कंटेंट एड्रेसिंग का उपयोग करता है। IPFS के पास कोई वास्तविक प्रोत्साहन प्रणाली नहीं है, यही कारण है कि प्रोटोकॉल लैब्स ने 2017 में FileCoin बनाया, जो कि इसका अपना भंडारण-केंद्रित ब्लॉकचेन है।
एथेरियम स्वार्म का विचार इथेरियम के संस्थापकों में से एक गेविन वुड से आया है। 2015 में फाउंडेशन की गेथ टीम के भीतर विक्टर ट्रॉन और डैनियल नेगी ने इस परियोजना को संभाला। एक सफल ICO के बाद, वे एथेरियम फाउंडेशन समर्थित स्वायत्त परियोजना के रूप में अपनी यात्रा करते हैं। आजकल (2022 में) झुंड कमोबेश सुविधा-पूर्ण और सक्रिय रूप से विकसित है।
दोनों प्रणालियाँ अपने स्वयं के प्रोत्साहन प्रणाली और क्रिप्टोकरेंसी के साथ एक वितरित, अपरिवर्तनीय और सामग्री-पता योग्य प्रणाली प्रदान करती हैं, और ये दोनों भी libp2p पर आधारित हैं। निम्नलिखित में, मैं दो प्रणालियों की चरण-दर-चरण तुलना करूँगा।
आईपीएफएस मूल रूप से एक भंडारण प्रदाता समुदाय है जहां नोड्स सामग्री प्रकाशित करते हैं जो इसकी सामग्री हैश द्वारा संदर्भित होती है। हैश के लिए स्टोरेज नोड्स की सूची DHT में स्टोर की जाती है। यदि आप सामग्री को पुनः प्राप्त करना चाहते हैं, तो पहले चरण में आपको सामग्री हैश द्वारा DHT में सहकर्मी सूची ढूंढनी होगी। दूसरे चरण में, पीयर आईडी को आईपी पते में अनुवादित करना होता है, और तीसरे चरण में, आप दिए गए पीयर से आईपी पते पर सामग्री डाउनलोड कर सकते हैं।
एथेरियम झुंड का एक अलग तर्क है क्योंकि यह सामग्री को डीएचटी में ही संग्रहीत करता है। वे इस प्रणाली को DISC (चंक्स के लिए वितरित अपरिवर्तनीय स्टोर) कहते हैं, और पूरे सिस्टम को इस DHT को कुशल बनाने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, जब कोई नोड कनेक्ट करने के लिए अन्य नोड्स चुनता है, तो यह प्रत्येक निकटता क्रम के लिए साथियों को चुनता है (यानी, अपने स्वयं के पते से परिमाण दूरी का क्रम)। कैडमेलिया कनेक्टिविटी के कारण, इस प्रणाली में एक हिस्सा खोजना वास्तव में तेज़ है। जब कोई नोड एक चंक को पुनः प्राप्त करना चाहता है, तो वह अपने साथियों से पूछता है। यदि किसी सहकर्मी के पास सामग्री है, तो वह उसे वापस कर देता है, यदि नहीं, तो वह अपने साथियों आदि के लिए पूछता है। सामग्री को हमेशा उन नोड्स द्वारा संग्रहीत किया जाता है, जिनकी इससे थोड़ी सी कैडमेलिया दूरी होती है, और कैडेमलिया कनेक्टिविटी के कारण, यह हमेशा संभव होता है लॉगरिदमिक लंबाई का पथ खोजें। जब स्टोरर नोड को रिट्रीवल रिक्वेस्ट मिलती है, तो यह आस्किंग नोड को सामग्री वापस देता है, जो बदले में इसे अनुरोध करने वाले नोड पर वापस भेज देता है, आदि जब तक कि यह अनुरोध के मूल में नहीं आता है। झुंड इस विधि को कैडमेलिया को अग्रेषित करता है, और यह गुमनामी प्रदान करता है। नोड्स केवल सामग्री के पूछने वाले साथियों को जानते हैं, लेकिन कोई नहीं जानता कि अनुरोध या सामग्री का मूल कौन है। यह कुछ वैसा ही है जैसा Tor नेटवर्क अनुरोधों को अज्ञात करने के लिए करता है। लेकिन कैडमेलिया को अग्रेषित करने का केवल एक फायदा गुमनामी है। यह सामग्री को वितरित करने में भी मदद करता है, लेकिन मैं इस बारे में बाद में लिखूंगा।
यदि आप आईपीएफएस पर परिवर्तनीय सामग्री (उदाहरण के लिए एक वेबपेज जो अक्सर बदलते हैं) को स्टोर करना चाहते हैं, तो आप आईपीएनएस का उपयोग कर सकते हैं। आईपीएनएस पर, परिवर्तनीय सामग्री का पता एक सार्वजनिक कुंजी है, और अंतर्निहित अपरिवर्तनीय सामग्री का पता उसके निजी कुंजी भाग द्वारा हस्ताक्षरित है। सार्वजनिक कुंजी -> हस्ताक्षरित सामग्री असाइनमेंट DHT में प्रकाशित होते हैं। यदि सामग्री बदलती है, तो सामग्री स्वामी नई सामग्री हैश पर हस्ताक्षर करता है और इसे सार्वजनिक कुंजी के लिए प्रकाशित करता है, ताकि पुनर्प्राप्तिकर्ता इससे सामग्री असाइनमेंट को ताज़ा कर सकें।
एथेरियम झुंड पर, दो प्रकार के चंक्स होते हैं। एक "सामान्य" सामग्री संबोधित चंक है, और दूसरा एकल मालिक चंक है। एकल-स्वामी चंक का पता स्वामी का हैश और एक अद्वितीय आईडी है। ये सिंगल-ओनर चंक्स भी अपरिवर्तनीय हैं, लेकिन आप किसी विषय के नाम और सीरियल नंबर से आईडी बना सकते हैं। जब आप सामग्री बदलते हैं, तो आपको बस क्रम संख्या बढ़ानी होती है और एक नया हिस्सा प्रकाशित करना होता है। पुनर्प्राप्तिकर्ता सिस्टम को मतदान कर सकते हैं, और यदि एक उच्च सीरियल नंबर के साथ एक नया हिस्सा उपलब्ध है तो वे इससे सामग्री को रीफ्रेश कर सकते हैं। झुंड इन क्रमांकित संरचना फ़ीड्स को कॉल करता है।
यदि आप IPFS पर सामग्री संग्रहीत करना चाहते हैं, तो आपके पास अधिक विकल्प हैं। आप बस Infura या Pinata जैसे एक केंद्रीकृत प्रदाता को चुन सकते हैं, अपनी सामग्री अपलोड कर सकते हैं, और अपनी सामग्री को IPFS पर उपलब्ध कराने के लिए भंडारण शुल्क का भुगतान कर सकते हैं, या आप बस अपनी मशीन पर एक IPFS नोड चला सकते हैं और इसे स्वयं प्रकाशित कर सकते हैं।
एक अन्य तरीका FileCoin का उपयोग कर रहा है, जो IPFS का "आधिकारिक" ब्लॉकचेन है (प्रोटोकॉल लैब्स द्वारा भी विकसित किया गया है, जिसने स्वयं IPFS विकसित किया है)। FileCoin मूल रूप से भंडारण प्रदाताओं के लिए एक बाज़ार है जहाँ आप अपनी सामग्री को संग्रहीत करने के लिए अनुबंध कर सकते हैं। FileCoin नेटवर्क के तंत्र आपकी सामग्री को सुरक्षित रखते हैं और अनुबंधित प्रदाताओं को दंडित करते हैं जो आपकी सामग्री नहीं रखते हैं या इसे उपलब्ध नहीं कराते हैं। यदि आप सामग्री को पुनः प्राप्त करते हैं, और डेटा स्थानांतरण सीमा तक पहुँच जाते हैं, तो आपको शुल्क का भुगतान करना होगा।
एथेरियम झुंड एक ब्लॉकचेन के बजाय अपनी स्वयं की भुगतान प्रणाली का उपयोग करता है जो लाइटिंग नेटवर्क जैसे भुगतान चैनलों के समान है, लेकिन थोड़ा अलग है। जब एक नोड दूसरे को भुगतान करता है, तो वह चेक द्वारा करता है। ये चेक वास्तविक दुनिया के चेक, हस्ताक्षरित दस्तावेजों के समान हैं जिनका उपयोग नोड के चेकबुक अनुबंध से धन निकालने के लिए किया जा सकता है।
स्वार्म पर, डेटा ट्रांसफर का शुल्क है। यदि कोई नोड अपने पीयर को डेटा भेजता है तो एक छोटा सा शुल्क गिना जाता है। प्रत्येक सहकर्मी कनेक्शन में एक संतुलन होता है, और यदि यह संतुलन एक सीमा तक पहुँच जाता है, तो नोड दूसरे को एक चेक देता है। सब कुछ ऑफ-चेन हो जाता है। केवल चेक को कैश करने के लिए ब्लॉकचेन एक्शन की जरूरत होती है।
यदि आप सामग्री को पुनः प्राप्त करना चाहते हैं, तो आपको उस सहकर्मी को भुगतान करना होगा जो इसे आपको देता है। यदि उसके पास सामग्री है, तो वह पूरी फीस रख सकता है, लेकिन यदि नहीं है, तो उसे देने वाले अपने साथी के लिए भुगतान करना पड़ता है। यह तर्क लोकप्रिय सामग्री को स्थानीय रूप से संग्रहीत करने के लिए नोड्स को प्रोत्साहित करता है, इसलिए झुंड एक अनुकूली सीडीएन के रूप में कार्य करता है।
झुंड नेटवर्क पर, कोई व्यक्तिगत प्रदाता नहीं हैं। सामग्री को हमेशा उन नोड्स पर संग्रहीत किया जाता है जिनके हैश से सबसे छोटी कदेमेलिया दूरी होती है (स्वार्म इन नोड्स पड़ोस को कॉल करता है)। DHT को प्रभावी रूप से खोजने योग्य बनाए रखने के लिए यह झुंड की एक आवश्यक संपत्ति है। आप किसी भी नोड पर सामग्री प्रकाशित कर सकते हैं, जो इसे निकटतम सहकर्मी तक पहुंचाएगा, जो इसे सर्वश्रेष्ठ भंडारण स्थान पर आगे बढ़ाता है। विधि सामग्री पुनर्प्राप्ति के समान है लेकिन विपरीत दिशा में है। यदि आप अपनी सामग्री को नेटवर्क में संग्रहीत करना चाहते हैं, तो आपको इसके लिए एक डाक टिकट संलग्न करना होगा। एक डाक टिकट एक चेक की तरह होता है जिसे केवल तभी भुनाया जा सकता है जब आप यह साबित कर सकें कि आप सामग्री रखते हैं।
एथेरियम इंटरऑपरेबिलिटी वह क्षेत्र है जहां एथेरियम झुंड वास्तव में मजबूत है। एथेरियम के "आधिकारिक" भंडारण के रूप में, सब कुछ "एथेरियम संगत" है।
उदाहरण के लिए, नोड का पता मालिक के एथेरियम पते से लिया गया है। इस वजह से, हम दिए गए नोड्स को एन्क्रिप्टेड संदेश भेजने के लिए चंक-फ़ॉरवर्डिंग सिस्टम का उपयोग कर सकते हैं। झुंड इस तकनीक को पीएसएस कहता है जो एथेरियम मैसेजिंग प्रोटोकॉल व्हिस्पर का उत्तराधिकारी है।
सिंगल ओनर चंक्स का ओनर भी एथेरियम एड्रेस है और सिग्नेचर मेथड एथेरियम के उपयोग के समान है, इसलिए आप इसे स्मार्ट कॉन्ट्रैक्ट पर चेक कर सकते हैं या फीड्स में मेटाडेटा असाइन करने के लिए इसका उपयोग कर सकते हैं। जब मैंने MyETHMeta (एथेरियम खातों के लिए एक Gravatar जैसी मेटाडेटा प्रणाली) का निर्माण किया, तो मुझे Ethereum एड्रेस -> मेटाडेटा URL मैपिंग को स्टोर करने के लिए एक स्मार्ट अनुबंध का उपयोग करना पड़ा। झुंड के साथ, यह ब्लॉकचेन के बिना एक साधारण फीड द्वारा किया जा सकता है।
झुंड के टुकड़े मेर्कल पेड़ हैं । इसका मतलब है कि चंक एड्रेस कंटेंट का मर्कल रूट है। यह उपयोगी है यदि आप उन्हें स्मार्ट अनुबंधों में जांचते हैं क्योंकि आप आसानी से सामग्री के लिए समावेशन प्रमाण बना सकते हैं। उदाहरण के लिए, यदि आप एक लंबी (>1000 तत्व) श्वेतसूची को स्टोर करना चाहते हैं, तो आप इसे ब्लॉकचेन के बजाय स्वार्म पर स्टोर कर सकते हैं, और मेर्कल प्रूफ का उपयोग करके स्मार्ट अनुबंध द्वारा सदस्यता की जांच कर सकते हैं। या आप झुंड पर पूर्ण रोलअप बना सकते हैं जहां राज्य रूट पूरे राज्य के लिए सामग्री का पता भी है।
जैसा कि आप देख सकते हैं, दोनों भंडारण समाधानों की अपनी ताकत और कमजोरियां हैं।
IPFS पुरानी प्रणाली है (एक अच्छे अर्थ में)। इसके कई उपयोग मामले हैं, यह अच्छी तरह से प्रलेखित और व्यापक रूप से उपयोग किया जाता है। कई केंद्रीकृत आईपीएफएस प्रदाता हैं, और आप अपनी सामग्री को स्टोर करने के लिए फाइलकॉइन का भी उपयोग कर सकते हैं।
एथेरियम झुंड अपेक्षाकृत नया है और विकास के अधीन है, लेकिन इसमें कुछ बहुत ही रोमांचक गुण हैं। अनाम सामग्री भंडारण और पुनर्प्राप्ति, सुपर कुशल DHT प्रबंधन, और मजबूत एथेरियम संगतता इस समाधान की अनूठी विशेषताएं हैं।