4
ध्यान केंद्रित करना
1271
समर्थक

बिटकॉइन प्रोटोकॉल कैसे काम करता है (भाग 2)

में बनाया: 2017-01-19 18:30:04, को अपडेट:
comments   0
hits   1831

बिटकॉइन प्रोटोकॉल कैसे काम करता है (भाग 2)

  • #### Bitcoin

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

बिटकॉइन का उपयोग करने के लिए, सबसे पहले आपको अपने कंप्यूटर पर एक वॉलेट स्थापित करना होगा। आपको बेहतर समझने के लिए, नीचे एक स्क्रीनशॉट है जिसे मल्टिबिट कहा जाता है। आप ऊपर बाईं ओर बिटकॉइन के शेष को 0.06555555 बिटकॉइन के रूप में देख सकते हैं, जो उस समय के लेनदेन मूल्य पर लगभग 70 डॉलर है। दाईं ओर दो हालिया लेनदेन दिखाए गए हैं, जिसमें उन्होंने 0.06555555 बिटकॉइन जमा किए हैं।

बिटकॉइन प्रोटोकॉल कैसे काम करता है (भाग 2)

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

बिटकॉइन प्रोटोकॉल कैसे काम करता है (भाग 2)

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

अब जो व्यक्ति भुगतान करने के लिए तैयार है उसे एक नया लेनदेन बनाने की आवश्यकता है। चलो एक वास्तविक 0.319 बिटकॉइन के लेनदेन के आंकड़ों को देखें। नीचे यह लगभग मूल डेटा है, यहां तीन स्थानों में परिवर्तन हैः 1) डेटा अनुक्रमिक नहीं है; 2) बेहतर समझ के लिए, पंक्ति संख्या जोड़ी गई है; 3) हैश डेटा की एक लंबी श्रृंखला को हटा दिया गया है, केवल पहले 6 अंक बनाए रखा गया है।

  1.  {"hash":"7c4025...",
  2.  "ver":1,
  3.  "vin_sz":1,
  4.  "vout_sz":1,
  5.  "lock_time":0,
  6.  "size":224,
  7.  "in":[
  8.    {"prev_out":
  9.      {"hash":"2007ae...",
  10.      "n":0},
  11.    "scriptSig":"304502... 042b2d..."}],
  12. "out":[
  13.   {"value":"0.31900000",
  14.    "scriptPubKey":"OP_DUP OP_HASH160 a7db6f OP_EQUALVERIFY OP_CHECKSIG"}]}
  • आइए हम इसे एक पंक्ति में समझाते हैं।

    पहली पंक्ति, लेन-देन हैश मूल्य ((16 बार), वह इस लेन-देन का प्रतिनिधित्व करने के लिए उपयोग किया जाता है कि केवल चिह्न है.

    दूसरी पंक्ति हमें बताती है कि यह लेनदेन बिटकॉइन प्रोटोकॉल के पहले संस्करण का उपयोग कर रहा है।

    पंक्तियाँ 3 और 4 हमें बताती हैं कि इस लेन-देन में एक इनपुट और एक आउटपुट है.

    पांचवीं पंक्ति, एक लॉक समय (lock_time) है, जिसका उपयोग इस लेनदेन को कब पूरा किया जाए, यह नियंत्रित करने के लिए किया जा सकता है। वर्तमान में, अधिकांश बिटकॉइन लेनदेन लॉक समय 0 है, जिसका अर्थ है कि लेनदेन तुरंत पूरा हो गया है।

    पंक्ति 6 हमें बताती है कि लेन-देन का आकार कितने बाइट्स (बाइट्स) में है, ध्यान दें कि यह लेन-देन के पैसे नहीं हैं।

    पंक्ति 7 से 11, यह इस लेन-देन के इनपुट को परिभाषित करता है, और वास्तव में, पंक्ति 8 से 10 हमें बताती है कि यह इनपुट मूल्य जिसे हम स्थानांतरित करने जा रहे हैं वह पिछले लेन-देन के आउटपुट मूल्य से प्राप्त किया गया है। 2007ae… यह पिछले लेन-देन का 16 अंकों का हैश मान है, एक लेन-देन को ऊपर की ओर इंगित करने के लिए। n = 0 का मतलब है कि यह पिछले लेन-देन का पहला आउटपुट है, हम थोड़ी देर बाद देखेंगे कि कई इनपुट और आउटपुट क्या दिखते हैं, इसलिए अब चिंता न करें। पंक्ति 11 उस व्यक्ति का डिजिटल हस्ताक्षर है जिसने पैसा भेजा थाः 304502… रिक्त स्थान के बाद उसकी सार्वजनिक कुंजी हैः 04b2d… यह भी 16 अंकों का है।

    यहाँ इनपुट भाग में यह उल्लेखनीय है कि यह नहीं कहा गया है कि पिछले लेनदेन में कितने बिटकॉइन अगले लेनदेन में स्थानांतरित किए जाएंगे। वास्तव में, पिछले लेनदेन में n = 0 के आउटपुट में सभी बिटकॉइन स्थानांतरित किए गए थे। उदाहरण के लिए, यदि पिछले लेनदेन में पहले आउटपुट में 2 बिटकॉइन थे (n = 0), तो वे दोनों बिटकॉइन नए लेनदेन में खर्च किए जाएंगे। यह बहुत असुविधाजनक लगता है, जैसे कि 20 डॉलर की नकदी के साथ एक ब्रेड खरीदना। समाधान एक शून्य-पैसे के लिए एक तंत्र प्रदान करना है, जिसे कई इनपुट और आउटपुट के माध्यम से हल किया जा सकता है।

    पंक्ति 12 से 14 तक, यह अनुच्छेद लेनदेन के आउटपुट को परिभाषित करता है। विशेष रूप से, पंक्ति 13 हमें बताती है कि कितने पैसे बाहर निकलते हैं, यहां 0.319 बिटकॉइन हैं। पंक्ति 14 अधिक जटिल है, यह ध्यान देने योग्य है कि स्ट्रिंग a7db6f … बिटकॉइन प्राप्त करने का पता है। यह पंक्ति वास्तव में बिटकॉइन की स्क्रिप्टिंग भाषा है, यहां स्क्रिप्टिंग भाषा के विवरण के बारे में नहीं है। आपको बस यह जानना होगा कि a7db6f … प्राप्त करने का पता है।

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

    हम लेन-देन की श्रृंखला के साथ आगे और पीछे देख सकते हैं। अंत में, दो संभावनाएं हैं, पहला, आप पहले बिटकॉइन लेनदेन में जा सकते हैं, और यह लेनदेन एक ब्लॉक में मौजूद है, जिसे हम जेनेसिस ब्लॉक कहते हैं। यह एक विशेष लेनदेन है, इसमें कोई इनपुट नहीं है, केवल 50 बिटकॉइन का आउटपुट है। दूसरे शब्दों में, यह सबसे पहले बिटकॉइन की आपूर्ति है।

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

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

  • कई इनपुट और आउटपुट लेनदेन

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

  1. {"hash":"993830...",
  2. "ver":1,
  3. "vin_sz":3,
  4.  "vout_sz":2,
  5.  "lock_time":0,
  6.  "size":552,
  7.  "in":[
  8.    {"prev_out":{
  9.      "hash":"3beabc...",
  10.        "n":0},
  11.     "scriptSig":"304402... 04c7d2..."},
  12.    {"prev_out":{
  13.        "hash":"fdae9b...",
  14.        "n":0},
  15.      "scriptSig":"304502... 026e15..."},
  16.    {"prev_out":{
  17.        "hash":"20c86b...",
  18.        "n":1},
  19.      "scriptSig":"304402... 038a52..."}],
  20.  "out":[
  21.    {"value":"0.01068000",
  22.      "scriptPubKey":"OP_DUP OP_HASH160 e8c306... OP_EQUALVERIFY OP_CHECKSIG"},
  23.    {"value":"4.00000000",
  24.      "scriptPubKey":"OP_DUP OP_HASH160 d644e3... OP_EQUALVERIFY OP_CHECKSIG"}]}
  • जैसा कि हमने पहले किया था, हम एक पंक्ति में व्याख्या करते हैं, ज्यादातर वही जो हमने पहले किया था।

    पहली पंक्ति, लेन-देन का हैश मान, जो इस लेन-देन के लिए एकमात्र मार्कर के रूप में उपयोग किया जाता है।

    लाइन 2, बिटकॉइन प्रोटोकॉल का संस्करण, पहला संस्करण

    लाइन 3 और 4 का मतलब है कि इस लेनदेन में 3 इनपुट और 2 आउटपुट हैं।

    पंक्ति 5, लॉक समय ((और पहले की तरह)) ।

    पंक्ति 6, लेन-देन का बाइट आकार

    पंक्तियाँ 7 से 19, सभी आदानों को परिभाषित करती हैं, प्रत्येक पिछले लेन-देन के लिए एक आदान प्रदान करती है। पहला आदान 8 से 11 पंक्तियाँ है। इसकी सामग्री पहले की तरह ही है। दूसरा आदान 12 से 15 पंक्तियाँ है और तीसरा 16 से 19 पंक्तियाँ है।

    पंक्तियाँ 20 से 24 सभी आउटपुट को परिभाषित करती हैं, पहला आउटपुट पंक्तियाँ 21 और 22 है, और पहले की तरह, पंक्ति 21 कहती है कि इसमें 0.01068 बिटकॉइन हैं। पंक्ति 22 बिटकॉइन की एक स्क्रिप्टिंग भाषा है। स्ट्रिंग e8c30622… प्राप्तकर्ता का पता है। दूसरा आउटपुट पंक्तियाँ 23 और 24 है, उसी प्रारूप में।

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

    बहु-इनपुट और आउटपुट का कार्य शून्य को ढूंढना है. मान लीजिए मैं आपको 0.15 बिटकॉइन देना चाहता हूं. मैं अपने पहले प्राप्त किए गए 0.2 बिटकॉइन खर्च कर सकता हूं. बेशक, मैं आपको सभी 0.2 बिटकॉइन नहीं देना चाहता, इसलिए समाधान यह है कि मैं आपको 0.15 बिटकॉइन भेजता हूं, और फिर अपने स्वयं के एक अन्य बिटकॉइन पते पर 0.05 बिटकॉइन भेजता हूं. तो, 0.05 मुझे शून्य ढूंढना है. यह अवधारणा वास्तविक दुकान में आपके द्वारा खोजे गए शून्य के समान नहीं है, यह आपके द्वारा खुद को भुगतान करने के समान है. लेकिन इसका अर्थ लगभग वही है.

  • निष्कर्ष

बिटकॉइन के पीछे की मूल अवधारणा का वर्णन किया गया है। बेशक, मैंने कई विवरणों को अनदेखा कर दिया है। यह एक औपचारिक निर्देश नहीं है। लेकिन मैं बिटकॉइन के पीछे की अवधारणा का वर्णन करना चाहता हूं जो आमतौर पर उपयोग किया जाता है।

हालांकि बिटकॉइन के पीछे के नियम सरल और समझने में आसान हैं, इसका मतलब यह नहीं है कि इन नियमों से उत्पन्न होने वाले सभी संभावित परिणामों को समझना आसान है। बिटकॉइन के बारे में बहुत कुछ कहा जा सकता है, और मैं बाद के लेखों में कुछ बताऊंगा।

बिटकॉइन कितना गुमनाम है? बहुत से लोग कहते हैं कि बिटकॉइन को गुमनाम रूप से इस्तेमाल किया जा सकता है। यह कथन Silk Road जैसे ब्लैक मार्केट में बनाया गया है। हालांकि, यह कथन काल्पनिक है। ब्लॉकचेन सार्वजनिक है, जिसका अर्थ है कि कोई भी सभी बिटकॉइन लेनदेन देख सकता है। हालांकि बिटकॉइन का पता सीधे वास्तविक दुनिया में किसी व्यक्ति की पहचान के अनुरूप नहीं है, लेकिन कंप्यूटर वैज्ञानिकों ने गुमनाम सामाजिक नेटवर्क को डिक्रिप्ट करने के लिए बहुत काम किया है। ब्लॉकचेन उनके लिए एक उत्कृष्ट लक्ष्य है। निकट भविष्य में, मुझे आश्चर्य होगा कि अगर अधिकांश बिटकॉइन उपयोगकर्ताओं की पहचान अभी तक अपेक्षाकृत आत्मविश्वास से नहीं की जा सकती है। यह पहचान पूरी तरह से पुष्टि नहीं की जाएगी, लेकिन इसके अलावा, यह काफी संभावना है कि लक्ष्य प्रदान किया जाएगा। पहचान केवल पिछली हो सकती है, जिसका अर्थ है कि 2011 में सिल्क रोड पर ड्रग्स बेचने वाले लोगों को अभी भी 2020 में पाया जा सकता है। इसके विपरीत, इन गुमनाम कंप्यूटर वैज्ञानिकों ने कहा कि ब्लॉकचेन की तकनीक गुमनाम है, और मुझे लगता है कि यह अन्य देशों में भी हो सकता है, यहां तक कि

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

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

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

यदि आपको यह उपयोगी लगता है, तो इस लेख के लेखक माइकल नीलसन को 17ukkKt1bNLAqdJ1QQv8v9Askr6vy3MzTZ पर टिप दें, या उनकी ट्विटर पर फॉलो करें।

यदि कुछ गलत हो रहा है, तो कृपया क्षमा करें।

“मैंने कभी नहीं सोचा था कि मैं कभी मर जाऊँगी।