ब्लॉकचेन - त्वरित गाइड
हाल के वर्षों में, ब्लॉकचैन पर बहुत चर्चा है। कई लोगों ने इसे दशक की सबसे विघटनकारी तकनीक बताया है। विशेष रूप से, वित्तीय बाजार सबसे अधिक प्रभावित हो सकते हैं।
तकनीक को कई वर्टिकल जैसे हेल्थकेयर, मेडिसिन, इंश्योरेंस, स्मार्ट प्रॉपर्टीज, ऑटोमोबाइल्स और यहां तक कि सरकारों में भी बदला जा रहा है।
हालांकि, अब तक ब्लॉकचेन का सबसे सफल कार्यान्वयन बिटकॉइन - ए पीयर-टू-पीर इलेक्ट्रॉनिक कैश सिस्टम है, जो संयोगवश ब्लॉकचेन तकनीक का पहला कार्यान्वयन भी है। इस प्रकार, ब्लॉकचेन तकनीक को समझने के लिए, यह समझना सबसे अच्छा है कि बिटकॉइन सिस्टम कैसे डिज़ाइन और कार्यान्वित किया जाता है।
इस लेख में, आप सीखेंगे कि ब्लॉकचेन, इसकी वास्तुकला, इसे कैसे लागू किया जाता है और इसकी विभिन्न विशेषताएं हैं। मैं ब्लॉकचेन की पेचीदगियों का वर्णन करते हुए बिटकॉइन कार्यान्वयन को सूचीबद्ध करूंगा।
ब्लॉकचेन आर्किटेक्चर इतना तुच्छ नहीं है और कई ने कई लेखों सहित अच्छे लेख, ट्यूटोरियल लिखे हैं। इनमें नौसिखिए से लेकर पेशेवर तक के श्रोता हैं। इस ट्यूटोरियल में, मैं Novice और Professionals को ध्यान में रखते हुए, ब्लॉकचेन आर्किटेक्चर की वैचारिक समझ पर ध्यान केंद्रित करूँगा। ब्लॉकचेन में जाने से पहले, यह जानना महत्वपूर्ण है कि इस नई तकनीक की आवश्यकता क्यों उत्पन्न हुई? इस प्रश्न का उत्तर उस स्थिति में है जो कि ज्ञात हैDouble − Spending।
छवि में दिखाई गई स्थिति पर विचार करें -
जैसा कि यहाँ स्पष्ट रूप से देखा गया है, बॉब एक पुस्तक के बदले में लिसा को $ 10 का बिल दे रहा है। एक बार जब लिसा को यह भौतिक $ 10 बिल प्राप्त होता है, तो बॉब के लिए इस पैसे को कुछ अन्य लेनदेन के लिए फिर से उपयोग करने का कोई रास्ता नहीं है, क्योंकि भौतिक मुद्रा अब लिसा के कब्जे में है।
अब, ऐसी स्थिति पर विचार करें जहां डिजिटल रूप में पैसे का भुगतान किया जाता है। यह छवि में सचित्र है -
जैसा कि मुद्रा विनिमय का प्रारूप डिजिटल प्रारूप में है, यह अनिवार्य रूप से एक बाइनरी भौतिक फ़ाइल है जो बॉब के डिवाइस पर कहीं संग्रहीत है। के बाद बॉब लिसा को यह फाइल (डिजिटल पैसा) देता है, वह एलिस को फाइल की एक प्रति भी दे सकता है। दोनों अब सोचते हैं कि डिजिटल सिक्के को प्रमाणित करने का कोई साधन न होने के कारण उन्हें यह पैसा मिला है और इस तरह वे बॉब को अपना सामान वितरित करेंगे। यह कहा जाता हैdouble-spending जहाँ प्रेषक कई विक्रेताओं से सेवाएँ या सामान प्राप्त करने के लिए एक ही स्थान पर एक ही पैसा खर्च करता है।
दोहरे खर्च की इस समस्या को हल करने के लिए, सभी लेनदेन की निगरानी के लिए एक केंद्रीकृत प्राधिकरण को नियुक्त करेगा। यह छवि में सचित्र है -
केंद्रीयकृत प्राधिकरण, जो सामान्य शब्दों में आपका बैंक है, सभी लेन-देन की रिकॉर्डिंग करने वाली एक बही खाता रखता है। अब, बॉब को अपना डिजिटल पैसा बैंक को भेजना होगा जो बॉब के खाते में अपने खाता बही में प्रवेश करेगा। यह सुनिश्चित करने के बाद कि बॉब के पास डिजिटल पैसे के लिए भुगतान करने के लिए पर्याप्त शेष राशि है जिसे वह भेजना चाहता है, लिसा को उसके खाते में उसके खाते में जमा करने के लिए पैसा भेजेगा।
अब, यह गारंटी है कि बॉब दोगुना पैसा खर्च नहीं कर सकता है। यदि प्रत्येक डिजिटल लेनदेन को इस तरह केंद्रीकृत प्राधिकरण के माध्यम से रूट किया जाता है, तो दोहरे खर्च की समस्या हल हो जाएगी। यह लेनदेन में प्राप्त होने वाले प्रत्येक सिक्के (डिजिटल मनी) की प्रामाणिकता को प्रमाणित करने में एक और लाभ प्रदान करता है। तो नकली पैसा (डुप्लीकेट पैसा बॉब के मामले में ऐलिस को एक कॉपी का उपयोग करके भुगतान) आसानी से पता लगाया जाएगा और संचलन से रोका जा सकेगा।
केंद्रीयकृत प्राधिकरण का परिचय हालांकि यह दोहरे खर्च की समस्या को हल करता है, एक और प्रमुख मुद्दे का परिचय देता है - केंद्रीय प्राधिकरण को बनाने और बनाए रखने की लागत।
जैसा कि बैंकों को अपने संचालन के लिए धन की आवश्यकता होती है, वे अपने ग्राहकों के लिए प्रत्येक मुद्रा लेनदेन पर कमीशन काटना शुरू करते हैं। यह कभी-कभी बहुत महंगा हो सकता है, विशेष रूप से धन के विदेशी हस्तांतरण में जहां पूरे सौदे में कई एजेंट (बैंक) शामिल हो सकते हैं।
उपरोक्त सभी मुद्दे डिजिटल मुद्रा की शुरुआत से हल किए गए हैं, जिन्हें बिटकॉइन कहा जाता है। अब मैं आपको इसकी संक्षिप्त पृष्ठभूमि दूंगा कि बिटकॉइन अपने डिजाइन और वास्तुकला में क्या है।
बिटकॉइन को इस दुनिया में सतोशी नाकामोटो द्वारा बिटकॉइन: ए पीयर-टू-पीर इलेक्ट्रॉनिक कैश सिस्टम नामक अनुसंधान शैली के माध्यम से वर्ष 2008 में पेश किया गया था।
बिटकॉइन ने न केवल दोहरे खर्च की समस्या को हल किया है, बल्कि कई और फायदे भी पेश किए हैं, यहां उल्लेख के लायक एक फायदा यह है कि लेनदेन में गुमनामी है। सातोशी जिन्होंने इस प्रणाली को बनाया और इस प्रणाली पर कुछ सिक्कों का लेन-देन किया वे पूरी दुनिया के लिए पूरी तरह से गुमनाम हैं।
जरा सोचिए, सोशल मीडिया की इस दुनिया में, जब प्रत्येक व्यक्ति की निजता दांव पर है, तो दुनिया अब तक यह पता लगाने में सक्षम नहीं है कि सतोशी कौन है? वास्तव में, हम नहीं जानते कि सतोशी एक व्यक्ति है या लोगों का समूह है। Googling ने इस तथ्य को भी उजागर किया कि बिटकॉइन Satoshi Nakamoto की कीमत लगभग 19.4 बिलियन डॉलर है - यह पैसा अब Bitcoin प्रणाली में लावारिस बना हुआ है। तो बिटकॉइन क्या है - आइए हम एक नज़र डालते हैं!
बिटकॉइन क्या है?
जैसा कि आपने पहले देखा, बैंक प्रत्येक लेन-देन की रिकॉर्डिंग के लिए एक बही खाता रखता है। यह खाता निजी रूप से बैंक द्वारा रखा और बनाए रखा जाता है। सातोशी ने प्रस्ताव दिया कि इस बही को सार्वजनिक किया जाए और समुदाय द्वारा इसे बनाए रखा जाए।
जिस क्षण आप इस तरह के बही-खाते को सार्वजनिक करते हैं, आपके दिमाग में कई विचार आते हैं। इस बहीखाता को छेड़छाड़-सबूत होना चाहिए ताकि कोई भी इसकी प्रविष्टियों को संशोधित न कर सके। जैसा कि खाता बही में प्रत्येक प्रविष्टि सार्वजनिक रूप से दिखाई देती है, हमें यह पता लगाना होगा कि गुमनामी को कैसे बनाए रखा जाए - जाहिर है कि आप दुनिया में हर किसी को यह जानना पसंद नहीं करेंगे कि मैंने आपको एक मिलियन डॉलर का भुगतान किया।
इसके अलावा, चूंकि दुनिया में प्रत्येक लेनदेन का केवल एक ही खाता बही है, इसलिए बही के आकार में एक और बड़ी चिंता होगी। इन पेचीदगियों का हल प्रदान करना तुच्छ नहीं था और यही मैं यहाँ कोशिश कर रहा हूँ ताकि आप सरल शब्दों में बिटकॉइन की अंतर्निहित वास्तुकला को समझ सकें।
यह अंतर्निहित वास्तुकला है Blockchainऔर यही इस ट्यूटोरियल के बारे में है। ब्लॉकचेन आर्किटेक्चर को समझने के लिए, आपको कुछ प्रमुख विशेषताओं को समझने की आवश्यकता है, जिस पर यह आधारित है। तो, चलिए PKI - पब्लिक की क्रिप्टोग्राफी के साथ शुरुआत करते हैं।
सार्वजनिक कुंजी क्रिप्टोग्राफी या संक्षेप में PKI को असममित क्रिप्टोग्राफी के रूप में भी जाना जाता है। यह दो जोड़ी कुंजियों का उपयोग करता है - सार्वजनिक और निजी। एक कुंजी कुछ लंबी बाइनरी संख्या है। सार्वजनिक कुंजी दुनिया भर में वितरित की जाती है और सही मायने में सार्वजनिक होती है जैसा कि इसके नाम से पता चलता है। निजी कुंजी को सख्ती से निजी रखा जाना चाहिए और किसी को इसे कभी नहीं खोना चाहिए।
बिटकॉइन के मामले में, यदि आप कभी भी अपने बिटकॉइन वॉलेट की निजी कुंजी खो देते हैं, तो आपके पर्स की पूरी सामग्री तुरंत चोरी की चपेट में आ जाएगी और इससे पहले कि आपको यह पता चले, आपका सारा पैसा (आपके बटुए की सामग्री) बिना नहीं जाएगा सिस्टम में तंत्र यह पता लगाने के लिए कि किसने चुराया है - यह उस सिस्टम में गुमनामी है जिसे मैंने पहले उल्लेख किया था।
PKI दो कार्यों - प्रमाणीकरण और एन्क्रिप्शन / डिक्रिप्शन तंत्र के माध्यम से संदेश गोपनीयता को पूरा करता है। अब मैं इन दोनों कार्यों की व्याख्या करूंगा -
प्रमाणीकरण
जब दो पक्ष संदेशों का आदान-प्रदान करते हैं, तो प्रेषक और रिसीवर के बीच एक विश्वास स्थापित करना महत्वपूर्ण है। विशेष रूप से, रिसीवर को संदेश के स्रोत पर भरोसा करना चाहिए। बॉब के हमारे पहले के परिदृश्य (चित्र 1 में दर्शाए गए) पर जाकर लिसा को उसके पास से कुछ सामान खरीदने के लिए कुछ पैसे भेजते हैं, आइए देखें कि पीकेआई बॉब और लिसा के बीच इस विश्वास को कैसे बनाता है। नीचे देखें छवि -
पहली जगह में, यदि बॉब कुछ पैसे लिसा को भेजना चाहता है, तो उसे अपनी खुद की एक निजी / सार्वजनिक कुंजी बनानी होगी। ध्यान दें कि दोनों कुंजियों को हमेशा एक साथ रखा जाता है और आप अलग-अलग व्यक्तियों या अलग-अलग उदाहरणों की निजी और सार्वजनिक कुंजियों को नहीं मिला सकते हैं।
अब, बॉब का कहना है कि वह लिसा को $ 10 भेज रहा है। इसलिए वह बॉब (प्रेषक) सार्वजनिक कुंजी, लिसा (रिसीवर) सार्वजनिक कुंजी, और राशि ($ 10) युक्त एक संदेश (एक सादा पाठ संदेश) बनाता है।
इस प्रेषण का उद्देश्य जैसे "मुझे आपसे कद्दू खरीदना है" भी संदेश में जोड़ा गया है। संपूर्ण संदेश अब बॉब की निजी कुंजी का उपयोग करके हस्ताक्षरित है। जब लिसा को यह संदेश मिलता है, तो वह पीकेआई और बॉब की सार्वजनिक कुंजी के हस्ताक्षर सत्यापन एल्गोरिथ्म का उपयोग करेगी ताकि यह सुनिश्चित हो सके कि संदेश वास्तव में बॉब से उत्पन्न हुआ था। पीकेआई कैसे काम करता है यह इस ट्यूटोरियल के दायरे से परे है। इच्छुक पाठक को पीकेआई पर अधिक विस्तृत चर्चा के लिए इस साइट पर भेजा जाता है । यह संदेश प्रवर्तक की प्रामाणिकता स्थापित करता है। अब, हम संदेश की गोपनीयता देखें।
संदेश गोपनीयता
अब, जैसा कि लिसा ने अपना भुगतान प्राप्त कर लिया है, वह अपने ईबुक की लिंक भेजना चाहती है जिसे बॉब खरीदना चाहता है। इसलिए लिसा एक संदेश बनाएगी और बॉब को भेजेगी जैसा कि छवि में दिखाया गया है -
लिसा एक संदेश बनाता है जैसे "यहां मेरी ईबुक की लिंक है जिसे आपने अनुरोध किया था", यह बॉब की सार्वजनिक कुंजी के साथ संकेत करता है कि उसे बॉब के अनुरोध संदेश में मिला है और कुछ गुप्त कुंजी का उपयोग करके संदेश को एन्क्रिप्ट करता है जो दोनों के बीच साझा किया जाता है HTTPS हैंडशेक के दौरान।
अब, लिसा सुनिश्चित है कि केवल बॉब निजी कुंजी का उपयोग करके संदेश को डीकोड कर सकते हैं जो केवल बॉब द्वारा आयोजित किया गया है। साथ ही, संदेश को बाधित करने वाला कोई व्यक्ति इसकी सामग्री को पुनर्प्राप्त नहीं कर पाएगा क्योंकि सामग्री केवल बॉब और एलिस द्वारा रखी गई एक गुप्त कुंजी द्वारा एन्क्रिप्ट की गई है। यह लिसा को गारंटी देता है कि उसकी ईबुक तक पहुंच केवल बॉब को दी गई है।
PKI द्वारा निहित, दोनों विशेषताओं, प्रमाणीकरण और संदेश गोपनीयता को देखने के बाद, हम आगे देखते हैं कि बिटकॉइन पीकेआई का उपयोग कैसे करता है ताकि सार्वजनिक बही को सुरक्षित करने के लिए जो मैंने अध्याय "बिटकॉइन?" में उल्लेख किया है।
आपके ज्ञान के लिए - सबसे लोकप्रिय पीकेआई एल्गोरिदम आरएसए और ईसीडीएसए हैं , बिटकॉइन बाद वाले का उपयोग करता है।
PKI में सबसे महत्वपूर्ण कार्य हैशिंग फ़ंक्शन है। एक हैश फ़ंक्शन निश्चित आकार के डेटा के लिए किसी भी मनमाने आकार के डेटा को मैप करता है। बिटकॉइन SHA-256 हैश फ़ंक्शन का उपयोग करता है जो 256 बिट्स (32 बाइट्स) के हैश (आउटपुट) का उत्पादन करता है। यह छवि में सचित्र है -
बॉब, लिसा के साथ एक आदेश देते हुए, ऊपर दिखाए गए के समान एक संदेश बनाता है। यह संदेश हैश फ़ंक्शन के माध्यम से हैश किया जाता है जो 32 बाइट हैश का उत्पादन करता है। इस हैश की सुंदरता सभी व्यावहारिक उद्देश्यों के लिए हैश (256-बिट संख्या) संदेश की सामग्री के लिए अद्वितीय माना जाता है। यदि संदेश संशोधित किया गया है, तो हैश मान बदल जाएगा। इतना ही नहीं कि एक हैश मूल्य दिया, मूल संदेश को फिर से संगठित करना असंभव है।
हैशिंग के महत्व को देखने के बाद, हम बिटकॉइन में एक और अवधारणा पर चलते हैं जो खनन है।
जब बॉब लिसा के लिए एक खरीद अनुरोध बनाता है, तो वह इसे केवल लिसा को नहीं भेजता है। बल्कि अनुरोध संदेश पूरे नेटवर्क पर प्रसारित किया जाता है जिससे वह जुड़ा हुआ है। बॉब के नेटवर्क को छवि में दर्शाया गया है।
संदेश सभी जुड़े नोड्स (मशीनों) को जाता है। आरेख में कुछ नोड्स को खनिक के रूप में चिह्नित किया गया है। ये वे मशीनें हैं जो बिटकॉइन संदेश के खनन के लिए सॉफ्टवेयर का एक टुकड़ा चलाते हैं। मैं अब आपको समझाता हूं कि इस खनन का क्या मतलब है।
खनन प्रक्रिया
जैसा कि पूरे नेटवर्क को व्यापक रूप से वितरित किया गया है, नेटवर्क में प्रत्येक खनिक को किसी भी समय की अवधि में कई विक्रेताओं से कई संदेश प्राप्त होने की उम्मीद है। खनिक क्या करता है वह इन संदेशों को एक ब्लॉक में जोड़ता है। यह छवि में सचित्र है -
संदेशों का एक ब्लॉक बनने के बाद, खनिक पहले से वर्णित हैशिंग फ़ंक्शन का उपयोग करके ब्लॉक पर एक हैश बनाता है। अब, जैसा कि आप जानते हैं कि यदि कोई तीसरा पक्ष इस ब्लॉक की सामग्री को संशोधित करता है, तो उसका हैश अमान्य हो जाएगा। संयोग से, प्रत्येक संदेश को समय-मुद्रांकित किया जाता है ताकि ब्लॉक के हैश मूल्य को प्रभावित किए बिना कोई भी अपने कालानुक्रमिक क्रम को संशोधित न कर सके। इस प्रकार, ब्लॉक में संदेश छेड़छाड़ से पूरी तरह से सुरक्षित हैं। इस तथ्य का उपयोग कैसे किया जाता है कि नेटवर्क में सभी लेनदेन को सुरक्षित करने के लिए आगे समझाया गया है।
विभिन्न खनिकों द्वारा बनाए गए ब्लॉकों को एक साथ जमाने के लिए बनाया जाता है, जिन्हें वास्तव में वितरित सार्वजनिक खाता बही के रूप में जाना जाता है।
श्रृंखला में प्रत्येक ब्लॉक में कई संदेश (लेनदेन) होते हैं जैसा कि पहले चित्र 8 में देखा गया है। श्रृंखला में एक ब्लॉक किसी भी खनिक से आ सकता है। ब्लॉक की श्रृंखला बनाते समय, हम नियम का पालन करते हैं कि पिछले ब्लॉक का हैश वर्तमान ब्लॉक में जोड़ा जाता है।
इस प्रकार, ब्लॉक बनाते समय एक खनिक, श्रृंखला में अंतिम ब्लॉक के हैश को चुनता है, इसे संदेशों के अपने सेट के साथ जोड़ता है और अपने नए बनाए ब्लॉक के लिए एक हैश बनाता है। यह नया बना ब्लॉक अब श्रृंखला के लिए नया अंत बन गया है और इस प्रकार श्रृंखला बढ़ती रहती है क्योंकि खनिकों द्वारा अधिक से अधिक ब्लॉक इसमें जोड़े जाते हैं।
जैसा कि सभी लेनदेन पर मुहर लगी है, हमें पीयर-टू-पीयर नेटवर्क पर एक वितरित टाइमस्टैम्प सर्वर को लागू करने की आवश्यकता है। इसके लिए कुछ अतिरिक्त कार्यान्वयन की आवश्यकता होती है और यह है कि मैं अब जो भी वर्णन करूंगा उसका प्रमाण है प्रत्येक ब्लॉक में, अब हम एक और आइटम कहते हैंNonce जैसा कि नीचे दिए गए चित्र में दिखाया गया है -
नॉनस एक ऐसी संख्या है जो ब्लॉक की हैश एक निश्चित मानदंड से मिलती है। यह मानदंड यह हो सकता है कि उत्पन्न हैश के शून्य होने के लिए उसके चार अंक होने चाहिए।
इस प्रकार, उत्पन्न हैश 000010101010xxx जैसा दिखेगा। आम तौर पर, माइनर 0 के नॉनस वैल्यू से शुरू होता है और इसे तब तक बढ़ाता रहता है जब तक कि जेनरेट हैश निर्दिष्ट मानदंड को पूरा नहीं करता है।
ध्यान दें कि हैश पीढ़ी यादृच्छिक पर काम करती है और आपके नियंत्रण से बाहर है - यानी आप एक निश्चित हैश उत्पन्न करने के लिए हैश फ़ंक्शन को बाध्य नहीं कर सकते। इस प्रकार, चार प्रमुख शून्य के साथ वांछित हैश उत्पन्न होने तक इसमें कई पुनरावृत्तियां हो सकती हैं। बिटकॉइन सिस्टम में ब्लॉक उत्पन्न करने का अपेक्षित समय 10 मिनट है। एक बार जब खनिक सफलतापूर्वक ब्लॉक को बंद कर देता है, तो वह जारी करता है कि सिस्टम में यह अब श्रृंखला का अंतिम ब्लॉक है।
ध्यान दें कि वैध ब्लॉक उत्पन्न करने के लिए कई खनिक प्रतिस्पर्धा कर रहे हैं। बिटकॉइन प्रणाली उसे कुछ बिटकॉइन देकर पहला सफल खननकर्ता प्रदान करती है। सामान्य तौर पर, अधिक कंप्यूटिंग शक्ति वाला खनिक एक शुरुआती विजेता हो सकता है। यह उन लोगों द्वारा पूरे सिस्टम पर हमले का कारण बन सकता है जिनके पास एक विशाल प्रसंस्करण शक्ति है। मैं हमलों का वर्णन करूंगा और इस ट्यूटोरियल के अंत में इन्हें कैसे कम किया जाएगा।
अब मैं ऊपर वर्णित चरणों को संक्षेप में बताऊंगा; नेटवर्क में ऐसा होता है -
जो कोई भी तीसरे पक्ष से सेवाएं प्राप्त करना चाहता है, जिसने नेटवर्क पर विज्ञापन दिया है, पहले एक लेनदेन (वांछित प्राप्तकर्ता को संदेश) बनाता है।
एक निश्चित अवधि में, इस तरह के लेनदेन को बनाने वाले कई प्रेषक (खरीदार) और रिसीवर (विक्रेता) हो सकते हैं।
सभी लेनदेन नेटवर्क पर सभी नोड्स पर प्रसारित किए जाते हैं। ध्यान दें कि यह आवश्यक नहीं है कि एक दिया गया लेनदेन नेटवर्क में प्रत्येक और प्रत्येक नोड तक पहुंचना चाहिए।
प्रत्येक नोड नए लेनदेन को एक ब्लॉक में असेंबल करता है। ध्यान दें कि प्रत्येक ब्लॉक में लेनदेन का सेट दूसरों द्वारा बनाए गए ब्लॉकों में सेट से स्वतंत्र है और स्वाभाविक रूप से दूसरों की तुलना में अलग होगा। इससे कोई फर्क नहीं पड़ता; सिस्टम यह सुनिश्चित करता है कि नेटवर्क पर प्रसारित प्रत्येक लेनदेन उचित समय पर कुछ ब्लॉक में शामिल हो जाए। आम तौर पर, प्रेषक अपने प्रयासों के लिए खननकर्ता को एक निश्चित मात्रा में बिटकॉइन की पेशकश करके नोड को प्रोत्साहित करेगा। खनिक उच्च प्रोत्साहन वाले लोगों को ब्लॉक में शामिल करने के लिए प्राथमिकता देने का विकल्प चुन सकता है।
नोड अब अपने इकट्ठे ब्लॉक के लिए प्रूफ-ऑफ-वर्क खोजने पर काम करता है।
जब नोड प्रूफ-ऑफ-वर्क पाता है, तो यह नेटवर्क पर इकट्ठे ब्लॉक को प्रसारित करता है।
नया ब्लॉक प्राप्त करने वाले नोड यह सत्यापित करने के बाद ही स्वीकार करेंगे कि ब्लॉक में सभी लेनदेन वैध हैं और पहले से ही खर्च नहीं किए गए हैं।
यदि ब्लॉक को मान्य माना जाता है, तो जो नोड अपने नए ब्लॉक पर काम कर रहा है, उसे अपने ब्लॉक में लेनदेन को फिर से सुनिश्चित करना होगा कि लेनदेन डुप्लिकेट नहीं हैं। नोड अब अपने नए बनाए ब्लॉक पर प्रूफ-ऑफ-वर्क खोजने पर काम करता है; ऐसा करते समय यह पिछले हैश के रूप में स्वीकृत ब्लॉक का हैश ले जाएगा।
इसी तरह, ब्लॉकचेन हमेशा के लिए बढ़ रहा है।
अब, जैसा कि हमने देखा है कि पूरी प्रणाली कैसे काम करती है, मुझे कुछ दुष्प्रभावों का वर्णन करने और उन्हें कैसे हल करना है।
जैसा कि हमने बिटकॉइन - माइनिंग के अध्याय में देखा है, किसी भी समय किसी भी अवधि में कई लेनदेन के साथ एक खनिक बाढ़ हो सकती है। ब्लॉक के लिए अधिकतम आकार पूर्व-परिभाषित प्रणाली में आवश्यक है कि ब्लॉक में केवल एक निश्चित संख्या में लेनदेन शामिल हो।
ब्लॉक में लेनदेन की संख्या पूर्व-परिभाषित ब्लॉक आकार और प्रत्येक ब्लॉक की औसत लंबाई से निर्धारित होती है। यहां एक महत्वपूर्ण टिप यह है कि प्रेषक को अपने संदेश में बहुत अधिक जानकारी शामिल नहीं करनी चाहिए ताकि इसे छोटा किया जा सके और जिससे अन्य छोटे संदेशों से पहले इसे स्वीकार करने के लिए खनिक को प्रोत्साहित किया जा सके।
एक प्रेषक आम तौर पर बिटकॉइन की एक निश्चित संख्या के संदर्भ में एक लेनदेन शुल्क भी जोड़ देगा ताकि अपने ब्लॉक में शुरुआती समावेश के लिए खननकर्ता को प्रोत्साहित किया जा सके।
ब्लॉकचेन के निर्माण में अन्य परिणाम इसका मात्र आकार है। समय की अवधि के दौरान, पूरे ब्लॉकचैन नोड के लिए बहुत बड़ा हो सकता है ताकि इसे उसकी डिस्क पर संग्रहीत किया जा सके। यह मर्कल ट्री का उपयोग करके हल किया जाता है जो आगे वर्णित है।
एक नोड में डिस्क स्थान का मुद्दा आसानी से दूर हो जाता है क्योंकि एक ब्लॉक में सभी लेनदेन मर्कल ट्री में हैशेड होते हैं जैसा कि छवि में दिखाया गया है -
ब्लॉक हेडर में अब पिछले ब्लॉक, एक नॉन और हैश का हैश होता है Root Hashएक मर्कल ट्री में वर्तमान ब्लॉक के सभी लेनदेन। इस प्रकारRoot Hashब्लॉक के भीतर सभी लेनदेन के हैश शामिल हैं, इन लेनदेन डिस्क स्थान को बचाने के लिए छंटनी हो सकती है। तो अब आपका ब्लॉकचेन नीचे दी गई छवि की तरह दिखाई देगा -
इससे डिस्क स्थान में बहुत सारी बचत हो सकती है। इस रणनीति का उपयोग एक सामान्य ग्राहक द्वारा किया जाता है जो केवल दूसरों से भुगतान प्राप्त करने में रुचि रखता है। हालांकि, खनिकों को पूर्ण ब्लॉकचेन को बचाने की आवश्यकता है। अब सवाल यह उठता है कि एक रिसीवर अपने मूल के अधिकार को प्राप्त सिक्के का पता लगाने की क्षमता के बिना भुगतान का सत्यापन कैसे करता है। यह आगे बताया गया है।
एक ऐसे मामले पर विचार करें जिसके तहत एक विक्रेता के रूप में आप अतीत में किए गए एक निश्चित भुगतान को सत्यापित करना चाहते हैं। जैसा कि ब्लॉकचैन आप अपनी मशीन पर रख रहे हैं, उसमें केवल ब्लॉक हेडर शामिल हैं जैसा कि पहले के आंकड़े में दिखाया गया है, जो लेनदेन आप खोज रहे हैं वह आपके ब्लॉकचेन की कॉपी में गायब है।
अब आप ब्लॉकचैन की अपनी कॉपी में पीछे की ओर तब तक खोज सकते हैं जब तक कि आपको एक ऐसा ब्लॉक नहीं मिल जाता है जिसमें वांछित लेनदेन टाइमस्टैम्प्ड हो। अब, चयनित ब्लॉक के मर्कल ट्री का अनुरोध करें और आपके पास वह लेनदेन होगा जिसकी आपको तलाश है। यह चित्र के नीचे सचित्र है -
यहां, हम मानते हैं कि आप Tx103 की तलाश कर रहे हैं। यद्यपि आप Tx103 की सामग्री को देखने में सक्षम नहीं हो सकते हैं, लेकिन आप जानते हैं कि यह उस ब्लॉक द्वारा स्वीकार किया गया है जिसके अंतर्गत यह है और श्रृंखला के सभी बाद के ब्लॉक हैं। इस प्रकार, आप सुरक्षित रूप से इस लेनदेन पर भरोसा कर सकते हैं और अपने व्यवसाय के साथ आगे बढ़ सकते हैं।
जैसा कि हमने देखा है कि बिटकॉइन नेटवर्क में कई खनिक होते हैं। यह संभव है, कि दो अलग-अलग खनिक एक ही समय में सबूत के काम को हल करते हैं और इस प्रकार श्रृंखला में अंतिम ज्ञात ब्लॉक में अपने ब्लॉक जोड़ते हैं। इसका चित्र नीचे चित्र में दिया गया है -
अब, ब्लॉक 3 के बाद हमारी दो शाखाएँ हैं। दोनों शाखाएँ मान्य हैं। तो अगले खनन ब्लॉक को किसी भी शाखा में जोड़ा जा सकता है। मान लीजिए, माइनर नए खनन वाले ब्लॉक को ब्लॉक 104-ए में जोड़ता है, ब्लॉक 104-ए युक्त शाखा ब्लॉक 104-बी वाली शाखा से अधिक लंबी होगी। इसका चित्र नीचे चित्र में दिया गया है -
बिटकॉइन आर्किटेक्चर में, सबसे लंबी शाखा हमेशा जीतती है और छोटे लोगों को पर्स दिया जाता है। तो ब्लॉक 104-बी को शुद्ध करना होगा। इस ब्लॉक को शुद्ध करने से पहले, इस ब्लॉक के सभी लेन-देन को लेन-देन पूल में लौटा दिया जाएगा ताकि उन्हें खनन करके भविष्य के किसी ब्लॉक में जोड़ दिया जाए। इस तरह से संघर्षों का समाधान होता है और सिस्टम द्वारा केवल एक ही ब्लॉक की श्रृंखला को बनाए रखा जाता है।
जैसा कि सभी बिटकॉइन लेनदेन को रिकॉर्ड करने वाला खाता बही वास्तव में सार्वजनिक किया जाता है, गोपनीयता दांव पर है। दुनिया में कोई भी यह जानने में सक्षम होगा कि किसने भुगतान किया? पारंपरिक बैंकिंग प्रणाली अपने रिकॉर्ड को गोपनीय रखकर इस तरह की गोपनीयता बनाए रखने में सक्षम है।
बिटकॉइन सिस्टम में गोपनीयता एक अलग रणनीति द्वारा प्राप्त की जाती है। ध्यान दें कि हमने कहा कि एक बिटकॉइन भेजने वाले को यह जानना होगा कि किसको भुगतान करना है। इसलिए वह उस विक्रेता की सार्वजनिक कुंजी मांगता है जिससे वह भुगतान करने की इच्छा रखता है। यह सार्वजनिक कुंजी अनाम हो सकती है।
इस अर्थ में, कुछ सेवाओं के विक्रेता के रूप में, जब कोई आपसे पूछता है कि भुगतान कहां भेजना है, तो आप बस उसे अपनी सार्वजनिक कुंजी भेजेंगे। आपके साथ इस सार्वजनिक कुंजी का जुड़ाव बही में कहीं दर्ज नहीं है। इस तरह से इस लेनदेन के बाहर किसी को केवल यह पता होगा कि कितने पैसे का लेन-देन हुआ है और किस सार्वजनिक कुंजी से पैसे का भुगतान किया गया है।
प्रत्येक लेन-देन के लिए एक उच्च स्तर की गोपनीयता प्राप्त करने के लिए, आप प्रत्येक लेनदेन के लिए एक नई निजी / सार्वजनिक कुंजी उत्पन्न कर सकते हैं ताकि आपके द्वारा किए गए कई लेनदेन एक तीसरे पक्ष द्वारा एक साथ समूहीकृत न हो सकें। एक बाहरी व्यक्ति के लिए, इसका सीधा मतलब यह होगा कि छोटे मूल्यों के कई लेनदेन किए गए थे और वे कभी भी एक सामान्य स्रोत से नहीं जुड़े होंगे।
अंत में, कोई भी ऑनलाइन इंटरनेट आधारित प्रणाली गालियों की चपेट में है। अब मैं बिटकॉइन सिस्टम पर कुछ संभावित प्रकार के हमलों का वर्णन करूंगा और उन लोगों को कैसे कम किया जा सकता है।
मैं बिटकॉइन प्रणाली में तीन विभिन्न प्रकार के संभावित हमलों पर चर्चा करूंगा -
रेस का हमला
एक हमलावर के रूप में, आप तेजी से उत्तराधिकार में विभिन्न विक्रेताओं को एक ही सिक्का भेज सकते हैं, शायद दो अलग-अलग मशीनों का उपयोग करके। यदि विक्रेता सामान देने से पहले ब्लॉक की पुष्टि के लिए इंतजार नहीं करते हैं, तो उन्हें बहुत जल्द पता चल जाएगा कि खनन प्रक्रिया के दौरान लेनदेन को अस्वीकार कर दिया गया था। इस तरह के हमले का समाधान यह है कि सामान भेजने से पहले विक्रेता को कम से कम एक ब्लॉक की पुष्टि का इंतजार करना चाहिए।
फ़ाइनी अटैक
इस मामले में, हमलावर खनिक है। खनिक अपने लेन-देन के साथ ब्लॉक करता है और इसे सिस्टम में जारी नहीं करता है। वह अब एक दूसरे लेनदेन में समान सिक्कों का उपयोग करता है और फिर पूर्व-खनन ब्लॉक को जारी करता है। जाहिर है, दूसरे खनिकों द्वारा अंततः दूसरे लेनदेन को अस्वीकार कर दिया जाएगा, लेकिन इसमें कुछ समय लगेगा। इस जोखिम को कम करने के लिए, विक्रेता को माल छोड़ने से पहले कम से कम छह ब्लॉक पुष्टिकरण का इंतजार करना चाहिए।
51% हमला
इस तरह के हमले में, हम एक अव्यवहारिक धारणा के साथ आते हैं कि कोई व्यक्ति नेटवर्क की कंप्यूटिंग शक्ति का 51% हिस्सा है। इस तरह के हमले में हमलावर एक निजी ब्लॉकचैन को खदान देता है जहां वह सिक्कों को दोहराता है।
जैसा कि वह कंप्यूटिंग शक्ति के बहुमत के मालिक हैं, उन्हें गारंटी है कि किसी समय उनका निजी ब्लॉकचेन "ईमानदार" नेटवर्क की श्रृंखला से अधिक लंबा होगा। इसके बाद वह अपने निजी ब्लॉकचेन को सिस्टम में जारी करता है, जो पहले किए गए सभी लेन-देन को अवैध ब्लॉकचेन में दर्ज किया जाता है।
इस तरह का हमला काल्पनिक है क्योंकि यह कंप्यूटिंग शक्ति प्राप्त करने के लिए बहुत महंगा है जो पूरे नेटवर्क की कंप्यूटिंग शक्ति के 51% के बराबर या उससे अधिक है।
इस संक्षिप्त ट्यूटोरियल में आपको बिटकॉइन को केस स्टडी के रूप में लेकर ब्लॉकचैन की कई अवधारणाओं से परिचित कराया गया था। बिटकॉइन ब्लॉकचेन का पहला सफल कार्यान्वयन है। आज, दुनिया ने कई उद्योगों में ब्लॉकचेन तकनीक के अनुप्रयोगों को पाया है, जहां एक केंद्रीकृत प्राधिकरण की भागीदारी के बिना विश्वास वांछित है। तो ब्लॉकचैन की दुनिया में आपका स्वागत है।
आगे की रीडिंग -
सातोशी द्वारा मूल पेपर - बिटकॉइन: एक पीयर-टू-पीर इलेक्ट्रॉनिक कैश सिस्टम
आधिकारिक साइट - Bitcoin.org