मॉड्यूल 8 / 10

Bitcoin कैसे काम करता है

8.0 परिचय

Bitcoin "अनियमित" नहीं है; इसे सरकार की नौकरशाही के बजाय एल्गोरिदम द्वारा नियंत्रित किया जाता है। भ्रष्टाचार रहित।
आंद्रेयास एम. एंटोनोपोलोस

इस मॉड्यूल में, हम Bitcoin के तकनीकी पक्ष को करीब से देखते हैं। हम सरल शब्दों में उस क्रिप्टोग्राफी को समझाते हैं जो प्रोटोकॉल को सुरक्षित बनाती है और लेन-देन कैसे काम करते हैं। कुछ अवधारणाएँ तकनीकी लग सकती हैं, लेकिन चिंता न करें। बहुत से लोग हर दिन इंटरनेट का उपयोग करते हैं बिना यह पूरी तरह समझे कि यह कैसे काम करता है।

Bitcoin के तकनीकी पक्ष को सीखना एक लंबी यात्रा है, जिसे हर किसी को तय करने की आवश्यकता नहीं है। जबकि हम निरंतर सीखने के लिए प्रोत्साहित करते हैं, यह मॉड्यूल मुख्य बुनियादी बातों पर केंद्रित है।

Bitcoin नेटवर्क लेन-देन का एक साझा रिकॉर्ड है, जो कई कंप्यूटरों (जिन्हें नोड्स कहा जाता है) में संग्रहीत होता है। इस रिकॉर्ड को Bitcoin लेजर कहा जाता है, जो छद्म नामधारी है। इसमें नाम या उम्र जैसी व्यक्तिगत जानकारी नहीं होती, केवल लेन-देन का डेटा और Bitcoin पते होते हैं। लेजर ब्लॉकचेन शुरू होने के बाद से हर लेन-देन को ट्रैक करता है।

Bitcoin प्रोटोकॉल की यांत्रिकी
  • प्रूफ-ऑफ-वर्क
  • क्रिप्टोग्राफिक टाइम-स्टैम्प
  • कठिनाई समायोजन
  • पीयर-टू-पीयर नेटवर्क संरचना
  • हैश फंक्शन और मर्कल ट्री
  • पब्लिक की क्रिप्टोग्राफी
  • ब्लॉक सब्सिडी हॉल्विंग

8.1 क्रिप्टोग्राफी के माध्यम से सुरक्षा

Bitcoin हमें एक सख्त वादा देता है: प्रोग्राम ठीक वैसे ही चलेगा जैसा निर्धारित किया गया है।
आंद्रेयास एम. एंटोनोपोलोस

पब्लिक/प्राइवेट की क्रिप्टोग्राफी

क्रिप्टोग्राफी वह अभ्यास है जिसमें जानकारी को एक ऐसे रहस्य में बदला जाता है जिसे केवल सही लोग ही पढ़ सकते हैं।

  • एन्क्रिप्शन वह प्रक्रिया है जिसमें जानकारी को एक कोडित रूप में बदला जाता है ताकि केवल सही कुंजी रखने वाला ही उसे पढ़ सके।
  • डिक्रिप्शन वह प्रक्रिया है जिसमें उस कोडित जानकारी को फिर से पढ़ने योग्य रूप में बदला जाता है।

परंपरागत क्रिप्टोग्राफी में, दो लोग जो निजी रूप से संवाद करना चाहते हैं, उन्हें पहले एक ही गुप्त कुंजी साझा करनी होती है, जैसे कि साझा पासवर्ड। एक व्यक्ति इस कुंजी का उपयोग संदेश को एन्क्रिप्ट करने के लिए करता है और भेजने से पहले, और दूसरा व्यक्ति उसी कुंजी का उपयोग उसे डिक्रिप्ट और पढ़ने के लिए करता है।

इस प्रणाली की समस्या यह है कि दोनों लोगों के पास पहले से ही गुप्त कुंजी होनी चाहिए। अगर कोई और उस कुंजी तक पहुंच जाता है, तो वह किसी भी इंटरसेप्ट किए गए संदेश को पढ़ सकता है।

Bitcoin इस समस्या को एक अलग तरीके से हल करता है जिसे पब्लिक-की क्रिप्टोग्राफी कहा जाता है, जिसमें उपयोगकर्ताओं को पहले से गुप्त कुंजी साझा करने की आवश्यकता नहीं होती।

पब्लिक/प्राइवेट की क्रिप्टोग्राफी गुप्त जानकारी साझा करने की समस्या को हल करती है। पासवर्ड साझा करने के बजाय, प्रत्येक व्यक्ति के पास दो कुंजी होती हैं: एक पब्लिक की और एक प्राइवेट की।

  • पब्लिक की किसी के साथ भी साझा की जा सकती है।
  • प्राइवेट की हमेशा गुप्त रखी जानी चाहिए।

अगर अर्जुन कुछ भेजना चाहता है तो वह अरेश की पब्लिक की का उपयोग कर सकता है। केवल अरेश ही अपनी प्राइवेट की से उसे अनलॉक कर सकता है। भले ही कोई संदेश को इंटरसेप्ट कर ले, वह बिना प्राइवेट की के उसे पढ़ या उपयोग नहीं कर सकता।

Bitcoin में, इस प्रणाली का उपयोग डिजिटल हस्ताक्षर बनाने के लिए किया जाता है। एक डिजिटल हस्ताक्षर यह साबित करता है कि प्राइवेट की का मालिक ने लेन-देन को स्वीकृत किया है, जैसे कि किसी दस्तावेज़ पर अपना नाम हस्ताक्षर करना। यही वह चीज़ है जो Bitcoin लेन-देन को सुरक्षित और सत्यापन योग्य बनाती है, बिना किसी तीसरे पक्ष पर भरोसा किए।

Bitcoin लेन-देन में बिटकॉइन का स्वामित्व एक पते से दूसरे पते पर स्थानांतरित करना शामिल है।

एन्क्रिप्शन का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि केवल असली बिटकॉइन धारक को ही अपना पैसा किसी और को भेजने का अधिकार है। यह सुनिश्चित करता है कि उनकी संपत्ति दुर्भावनापूर्ण लोगों से सुरक्षित रहे।

एक अतिरिक्त सुरक्षा उपाय के रूप में, प्रत्येक Bitcoin लेन-देन को स्वचालित रूप से एक अद्वितीय डिजिटल हस्ताक्षर मिलता है। यह अद्वितीय डिजिटल हस्ताक्षर छेड़छाड़-रोधी तकनीक द्वारा संचालित होता है, जो नेटवर्क को यह सत्यापित करने में मदद करता है कि असली बिटकॉइन मालिक, और कोई और नहीं, ने उन्हें भेजा है।

प्रत्येक उपयोगकर्ता के पास दो कुंजी होती हैं: एक प्राइवेट की, जिसे गुप्त रखा जाता है, और एक पब्लिक की जिसे दूसरों के साथ साझा किया जा सकता हैप्राइवेट की पहचान और स्वामित्व का प्रमाण होती है, यह पुष्टि करती है: “यह पता मेरा है और मैं इसे नियंत्रित करता हूँ।”

Bitcoin लेन-देन कैसे काम करता है
  1. लेन-देन बनाना: एक उपयोगकर्ता Bitcoin लेन-देन शुरू करता है, जिसमें प्राप्तकर्ता का पता और भेजी जाने वाली बिटकॉइन की राशि जैसी जानकारी शामिल होती है।
  2. डिजिटल हस्ताक्षर निर्माण: भेजने वाला एक अद्वितीय डिजिटल हस्ताक्षर अपनी प्राइवेट की का उपयोग करके बनाता है। यह हस्ताक्षर एक अद्वितीय कोड है जो लेन-देन की प्रामाणिकता को सत्यापित करता है।
  3. लेन-देन का प्रसारण: हस्ताक्षरित लेन-देन को Bitcoin नेटवर्क पर प्रसारित किया जाता है, जिससे बिटकॉइन के स्वामित्व को भेजने वाले से प्राप्तकर्ता को स्थानांतरित करने की मंशा जाहिर होती है।
  4. नेटवर्क पर सत्यापन: Bitcoin नेटवर्क के नोड्स लेन-देन प्राप्त करते हैं और प्राप्तकर्ता की पब्लिक कीहस्ताक्षर की प्रामाणिकता की पुष्टि करने के लिए। लेन-देन की। साथ ही, वे प्रेषक की सार्वजनिक कुंजी की पुष्टि करने के लिए डिजिटल हस्ताक्षर का उपयोग करते हैं।
  5. Bitcoin नेटवर्क पर पुष्टि: यदि सत्यापन सफल होता है, तो लेन-देन को खाता-बही में जोड़ दिया जाएगा, जो सभी लेन-देन का एक सुरक्षित, पारदर्शी रिकॉर्ड होता है। एक बार पुष्टि हो जाने के बाद, बिटकॉइन का स्वामित्व आधिकारिक रूप से प्रेषक से प्राप्तकर्ता को स्थानांतरित हो जाता है।

My First Bitcoinडिजिटल हस्ताक्षर, जो प्रेषक की निजी कुंजी से बनाया गया है, यह साबित करता है कि लेन-देन बिटकॉइन के मालिक द्वारा अधिकृत किया गया था। Bitcoin नेटवर्क तब इस प्रमाण की पुष्टि कर सकता है और लेन-देन को रिकॉर्ड कर सकता है।

हैशिंग की व्याख्या

कृपया आगे आने वाले तकनीकी शब्दों और गणितीय अवधारणाओं से घबराएँ नहीं। हम समझते हैं कि हर कोई गणित का दीवाना नहीं होता, लेकिन आप खुद को चौंका सकते हैं और देख सकते हैं कि थोड़ी सी कोशिश से सबसे जटिल विचार भी समझे जा सकते हैं।

एक फंक्शन एक ऐसी मशीन की तरह है जो कुछ जानकारी लेती है और उसे कुछ नया बना देती है। जो जानकारी आप फंक्शन को देते हैं, वह इनपुट कहलाती है। फंक्शन जो नई जानकारी बनाता है, वह आउटपुट कहलाती है। फंक्शन कंप्यूटरों को कार्य करने और समस्याएँ हल करने में मदद करते हैं।

फंक्शन क्या है?

फंक्शन निर्देशों का एक समूह है जो एक इनपुट लेता है और एक आउटपुट बनाता है। आप इसे एक रेसिपी की तरह सोच सकते हैं: आप कुछ सामग्री के साथ चरणों का पालन करते हैं, और हमेशा एक अनुमानित परिणाम मिलता है।

Bitcoin में, फंक्शन का उपयोग लेन-देन को संसाधित और सत्यापित करने के लिए किया जाता है। जब कोई बिटकॉइन भेजता है, तो क्रिप्टोग्राफिक फंक्शन यह जांचने में मदद करते हैं कि लेन-देन वैध है, प्रेषक के पास पर्याप्त धन है या नहीं, और Bitcoin खाता-बही पर बैलेंस अपडेट करते हैं। एक बार सत्यापित होकर ब्लॉक में जुड़ जाने के बाद, लेन-देन ब्लॉकचेन पर स्थायी रिकॉर्ड का हिस्सा बन जाता है।

वन-वे फंक्शन क्या है?

वन-वे फंक्शन एक विशेष प्रकार का फंक्शन है जिसे एक दिशा में गणना करना आसान है, लेकिन उल्टा करना बेहद कठिन है। उदाहरण के लिए, सामग्री को मिलाकर स्मूदी बनाना आसान है, लेकिन आप स्मूदी को फिर से मूल सामग्री में नहीं बदल सकते।

Bitcoin की सुरक्षा वन-वे फंक्शन पर निर्भर करती है। इनका उपयोग सार्वजनिक और निजी कुंजी क्रिप्टोग्राफी में किया जाता है, जिससे लोग अपनी सार्वजनिक कुंजी साझा कर सकते हैं जबकि अपनी निजी कुंजी गुप्त रख सकते हैं। भले ही सार्वजनिक कुंजी दिखाई देती है, उससे निजी कुंजी निकालना असंभव है। यही कारण है कि Bitcoin लेन-देन सुरक्षित होते हैं।

हैश फंक्शन क्या है?

एक हैश फंक्शन एक गुप्त कोड मशीन की तरह है। यह एक संदेश लेता है और उसे एक कोड में बदल देता है।

Bitcoin लेन-देन में हैशिंग कैसे काम करती है

Bitcoin में, हर लेन-देन को ब्लॉकचेन में जोड़ने से पहले हैश में बदल दिया जाता है। हैश लेन-देन की एक अनूठी डिजिटल फिंगरप्रिंट होती है। यदि कोई लेन-देन का कोई भी छोटा हिस्सा बदलने की कोशिश करता है, तो हैश पूरी तरह बदल जाएगा। इससे नेटवर्क के लिए छेड़छाड़ का पता लगाना आसान हो जाता है।

Bitcoin सुरक्षा में हैशिंग की भूमिका

हैशिंग Bitcoin नेटवर्क की सुरक्षा में मदद करता है, क्योंकि इससे लेन-देन की पुष्टि करना आसान और चुपचाप संशोधित करना असंभव हो जाता है। क्योंकि हर लेन-देन का अपना अनूठा हैश होता है, नेटवर्क जल्दी से पता लगा सकता है कि कुछ बदला गया है या नहीं।

एक हैश फंक्शन डेटा लेता है और उसे संख्याओं और अक्षरों की एक निश्चित लंबाई की स्ट्रिंग में बदल देता है, जिसे हैश कहा जाता है। एक ही इनपुट हमेशा एक ही हैश देगा, लेकिन इनपुट में थोड़ा सा भी बदलाव पूरी तरह अलग परिणाम देगा। यह गुण कंप्यूटरों को यह जांचने की अनुमति देता है कि डेटा बदला नहीं गया है।

हैशिंग डिजिटल डेटा के लिए फिंगरप्रिंट बनाने जैसा है। यह एक डिजिटल संदेश को लेकर उसे एक निश्चित लंबाई के कोड में बदलने की प्रक्रिया है, जो एक अनूठा पहचानकर्ता बन जाता है। जैसे फिंगरप्रिंट किसी व्यक्ति की पहचान कर सकता है, वैसे ही हैश किसी डिजिटल संदेश की पहचान कर सकता है।

इसका आउटपुट, या हैश, हमेशा एक ही लंबाई का होता है, चाहे मूल जानकारी कितनी भी लंबी हो। Bitcoin कुछ विशेष प्रकार के हैश फंक्शन का उपयोग करता है, जिन्हें SHA-256 और RIPEMD160 कहा जाता है।

कुछ उदाहरण नीचे दिए गए हैं:

  • SHA256 हैश इस स्ट्रिंग का हैलो वर्ल्ड
    • b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
  • स्ट्रिंग का SHA256 हैश हैलो वर्ल्ड।
    • 7ddb227315f423250fc67f3be69c544628dffe41752af91c50ae0a9c49faeb87
    • ध्यान दें कि इनपुट में थोड़ा सा बदलाव करने पर आउटपुट पूरी तरह बदल जाता है, जैसा कि पहले वाले से तुलना करने पर दिखता है।
  • डाउनलोड करने योग्य iso फ़ाइल का SHA256 हैश Ubuntu 18.10
    • 7b9f670c749f797a0f7481d619ce8807edac052c97e1a0df3b130c95efae4765
    • यह इनपुट एक बहुत बड़ी फ़ाइल है, फिर भी आउटपुट अभी भी वही निश्चित लंबाई का है।

आप हैशिंग की तुलना एक संगीत स्कोर से भी कर सकते हैं, जो किसी संगीत रचना का सार पकड़ता है। जैसे एक संगीत स्कोर किसी धुन का अनूठा प्रतिनिधित्व होता है, वैसे ही हैश वैल्यू किसी डेटा का अनूठा प्रतिनिधित्व होती है।

जैसे कोई संगीतकार किसी रचना के स्कोर की तुलना वास्तविक प्रस्तुति से करके यह पता लगा सकता है कि प्रस्तुति सही है या नहीं, वैसे ही प्राप्त डेटा के हैश वैल्यू की तुलना मूल हैश वैल्यू से करके यह पता लगाया जा सकता है कि डेटा ट्रांसमिशन के दौरान बदला गया है या नहीं।

जैसे संगीत प्रस्तुति में थोड़ी सी भी गड़बड़ी उसे अलग बना देती है, वैसे ही मूल डेटा में मामूली बदलाव भी अलग हैश वैल्यू देगा। यही हैशिंग को Bitcoin लेन-देन की अखंडता और प्रामाणिकता सुनिश्चित करने का शक्तिशाली उपकरण बनाता है।

कोडिंग की प्रक्रिया में पब्लिक की को हैशिंग के माध्यम से एक निश्चित लंबाई, अपठनीय प्रारूप में बदलकर जानकारी की सुरक्षा बढ़ाई जाती है। Bitcoin, पब्लिक एड्रेस बनाने के लिए SHA-256 और RIPEMD160 एल्गोरिदम का उपयोग करता है। प्राप्त आउटपुट पब्लिक की के लिए एक अनूठा पहचानकर्ता बनता है और लेजर में संग्रहीत लेन-देन की अखंडता और सुरक्षा सुनिश्चित करने में मदद करता है। इस तरह जानकारी को एन्क्रिप्ट करने से अनधिकृत व्यक्तियों के लिए डेटा तक पहुंचना और उसमें बदलाव करना अधिक कठिन हो जाता है।

हैशिंग फंक्शन के गुण
  • निर्धारित (Deterministic): एक ही सामग्री से हमेशा वही स्मूदी बनती है। इसी तरह, एक ही डेटा से हमेशा वही हैश बनेगा।
  • प्री-इमेज रेजिस्टेंस: अगर आपके पास केवल स्मूदी है, तो आप यह नहीं जान सकते कि उसमें कौन-कौन से फल डाले गए थे। इसी तरह, अगर आपके पास केवल हैश है, तो आप मूल डेटा नहीं जान सकते।
  • एवलांच इफेक्ट: सामग्री में थोड़ा सा भी बदलाव पूरी तरह अलग स्मूदी बना देता है। हैशिंग में, डेटा में बहुत छोटा बदलाव भी पूरी तरह अलग हैश देता है।
  • कोलिजन रेजिस्टेंस: दो अलग-अलग सामग्री से बिल्कुल एक जैसी स्मूदी बनाना बेहद मुश्किल है। उसी तरह, दो अलग-अलग डेटा से एक ही हैश बनना बेहद असंभव है।
  • जांचने में तेज़: स्मूदी बनाना तेज़ है, और यह जांचना आसान है कि यह स्मूदी है। हैश फंक्शन जल्दी बनते हैं और कोई भी आसानी से जांच सकता है।

गतिविधि: SHA 256 हैश जनरेट करें

क्या आप जानना चाहते हैं कि हैशिंग कैसे काम करती है? QR कोड स्कैन करें और किसी भी शब्द, वाक्य या इनपुट से तुरंत SHA256 हैश जनरेट करें। हैश फंक्शन डिजिटल फिंगरप्रिंट की तरह होते हैं: ये एक-तरफा होते हैं, यानी एक बार हैश हो जाने के बाद उसे वापस नहीं बदला जा सकता। खुद आज़माएं और देखें!

8.2 यूटीएक्सओ मॉडल

UTXO क्या हैं?

अजीब नाम से डरिए मत। आप UTXO को बिटकॉइन के टुकड़ों के रूप में सोच सकते हैं, जैसे आपके बटुए में नोट और सिक्के होते हैं। उदाहरण के लिए, अगर आप ₹600 की चीज़ के लिए ₹1000 का नोट देते हैं, तो आपको ₹400 वापस मिलते हैं। बिटकॉइन भी इसी तरह काम करता है।

आपके पास जितने भी बिटकॉइन हैं, वे अलग-अलग UTXO से बने होते हैं। जब आप बिटकॉइन भेजते हैं, तो आपका वॉलेट इन टुकड़ों में से एक या अधिक का उपयोग भुगतान करने के लिए करता है।

अगर आप जो टुकड़ा खर्च कर रहे हैं, वह भेजी गई राशि से बड़ा है, तो बची हुई राशि आपको नए UTXO के रूप में चेंज के रूप में वापस मिलती है। साथ ही, प्राप्तकर्ता को आपके द्वारा भेजे गए बिटकॉइन का प्रतिनिधित्व करने वाला एक नया UTXO मिलता है।

आपके वॉलेट का बैलेंस आपके द्वारा नियंत्रित सभी UTXO का कुल मूल्य होता है।

आपको अपने UTXO के बारे में दूसरों को नहीं बताना चाहिए, क्योंकि अगर कोई इन्हें जानता है तो वह आपके लेन-देन को ट्रैक कर सकता है और अंततः यह जान सकता है कि आपके पास कितने पैसे हैं।

उदाहरण
  1. आलिया बॉब को 5 BTC भेजना चाहती है।
  2. उसके वॉलेट में दो UTXO हैं, जिनकी कुल कीमत 6 BTC है।
  3. यह लेन-देन भेजता है 5 BTC बॉब को, जिससे बॉब के वॉलेट में एक नया UTXO बनता है।
  4. बाकी 0.99 BTC आलिया को चेंज के रूप में वापस मिलता है, ट्रांजैक्शन फीस 0.01 BTC कटने के बाद
  5. एक बार जब लेन-देन की पुष्टि हो जाती है, तो इसे बिटकॉइन की लेजर में जोड़ दिया जाता है और आलिया द्वारा उपयोग किए गए UTXO को खर्च किया हुआ चिह्नित कर दिया जाता है, ताकि वे फिर से उपयोग न हो सकें।
संसाधन
How Bitcoin Works Under the Hood
“How Bitcoin Works under the Hood” देखें

↑ विषय-सूची पर वापस