बिटकॉइन बनाम ब्लॉकचेन बहस को समाप्त करना

स्रोत नोड: 1849174

क्या किसी क्रिप्टोकरंसी के बिना ब्लॉकचेन में कोई मूल्य है?

यह बहस कुछ समय से चल रही है लेकिन पिछले महीने में एक गंभीर बदलाव देखने को मिला है। पूछे जाने वाला प्रश्न है:

क्या किसी क्रिप्टोकरंसी के बिना ब्लॉकचेन में कोई मूल्य है? और क्या इन "टोकन शेयर्ड लीडर्स" को ब्लॉकचेन कहा जा सकता है?

इसलिए मैंने पढ़ा है बेली का लेख, देखा गया टिम का वीडियोपढ़ने के लिए, यह नैस्डैक पोस्ट, रिचर्ड का पीछा किया प्रत्येक शब्द, और यहां तक ​​कि मेरा अपना था अच्छी उत्साही बहस (टिप्पणियां देखें) काउंटरपार्टी फाउंडेशन के क्रिस डीरोज के साथ। इतनी गर्म हवा।

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

बिटकॉइन ब्लॉकचेन दोनों एक आर्थिक था और एक कंप्यूटर विज्ञान नवाचार.

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

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

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

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

बिटकॉइन का लेन-देन मॉडल

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

बिटकॉइन में अतिरिक्त नियमों का एक समूह है जो नेटवर्क में प्रत्येक नोड द्वारा लागू किया जाता है:

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

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

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

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

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

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

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

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

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

बहुसंवेदनशीलता संगामिति नियंत्रण

इस बीच मैं कुछ ऐसी बात करना चाहता हूं जो पूरी तरह से असंबंधित लग सकती है।

एक डेटाबेस संरचित जानकारी का एक भंडार है, जिसे स्प्रेडशीट जैसी संस्थाओं में वर्गीकृत किया जाता है, जिन्हें टेबल कहा जाता है। ऐसी तालिका का एक सरल उदाहरण बैंक खातों की एक सूची है, जिसमें प्रत्येक पंक्ति में उस खाते के शेष के साथ एक खाता संख्या शामिल है। मान लें कि आपका खाता दिन की शुरुआत $ 900 के संतुलन के साथ करता है। आज $ 750 का एक स्वचालित बंधक भुगतान निर्धारित है और आपको एटीएम से $ 400 निकालने की भी आवश्यकता है। दुर्भाग्य से आपके पास ओवरड्राफ्ट सुविधा नहीं है, इसलिए इनमें से एक ऑपरेशन विफल हो जाता है।

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

इसलिए जब तक आपका बंधक भुगतान और एटीएम निकासी ओवरलैप नहीं होगा, यह तर्क ठीक काम करेगा। पहला ऑपरेशन सफलतापूर्वक निष्पादित होगा, और दूसरा गर्भपात करेगा क्योंकि आपके खाते में अपर्याप्त धनराशि है। आदेश के आधार पर, आपको बैंक से क्रोधित फोन कॉल या एटीएम स्क्रीन पर असभ्य संदेश मिलेगा।

लेकिन क्या होता है अगर दो प्रक्रियाएं एक ही समय में शुरू होती हैं? इस स्थिति में, प्रत्येक आपके खाते के शेष राशि को पढ़ेगा और आगे बढ़ने के लिए पर्याप्त होगा। जब बंधक भुगतान पूरा हो जाता है, तो आपके नए शेष की गणना $ 150 के रूप में की जाएगी और डेटाबेस में लिखी जाएगी। जब एटीएम निकासी पूरी हो जाती है, तो आपके $ 500 का नया संतुलन इसी तरह लिखा जाएगा। इन लेखन कार्यों में से एक दूसरे को ओवरराइड करने जा रहा है और, आपके भाग्य के आधार पर, आपको अपने बैंक से $ 750 या $ 400 का बोनस प्राप्त होगा। कोई संदेह नहीं है कि आप जल्द ही बंधक दिन के लिए अपने एटीएम का दौरा करना सीखेंगे।

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

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

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

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

हमारे उद्देश्यों के लिए महत्वपूर्ण रूप से, MVCC लेखन कार्यों के बीच टकराव को रोकता है। विशेष रूप से:

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

कोई घंटी बजाओ? पृष्ठभूमि का एक और टुकड़ा है जिस पर हमें चर्चा करने की आवश्यकता है।

मल्टी-मास्टर डेटाबेस प्रतिकृति

अब डेटाबेस प्रतिकृति के बारे में बात करते हैं, जिसमें एक डेटाबेस कई प्रतियों में मौजूद होता है। डेटाबेस को दोहराने के लिए कई अच्छे कारण हैं, जैसे:

  • विश्वसनीयता बढ़ाने के लिए, ताकि यदि डेटाबेस की एक प्रति खो जाए (जैसे कि डिस्क विफलता के कारण), हम तुरंत दूसरी प्रतिलिपि पर स्विच कर सकते हैं।
  • थ्रूपुट को बढ़ाने के लिए, यदि संचालन की मात्रा एकल डेटाबेस सर्वर की क्षमता से परे जाती है।
  • विलंबता को कम करने के लिए, ताकि सिंगापुर के कार्यालय में चल रही प्रक्रियाओं को टोरंटो में बैठे डेटाबेस से प्रतिक्रियाओं की प्रतीक्षा न करनी पड़े।

यह करने के लिए आता है पढ़ना डेटाबेस से डेटा, प्रतिकृति एक आदर्श तकनीक है, क्योंकि सभी प्रतिकृतियों में समान जानकारी होती है। हालाँकि, जब इसे लिखने की बात आती है, तो चीजें चिपचिपी हो जाती हैं, क्योंकि हमें यह तय करने की आवश्यकता होती है कि उन लेखन कार्यों को कहाँ किया जाता है, और वे डेटाबेस की अन्य प्रतियों में कैसे स्थानांतरित होते हैं।

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

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

एक अधिक जटिल रणनीति को मल्टी-मास्टर प्रतिकृति कहा जाता है, जिसमें किसी भी डेटाबेस पर किसी भी मास्टर के बजाय डेटाबेस प्रतियों पर लिखा जा सकता है। इस मामले में, प्रतियां एक दूसरे के साथ एक सहकर्मी से सहकर्मी फैशन में अपडेट साझा करती हैं ताकि सिंक में बने रहें।

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

तो यहाँ जहाँ यह सब पृष्ठभूमि अग्रणी है:

क्या यह अच्छा नहीं होगा अगर हम मल्टी-मास्टर प्रतिकृति में होने वाले संघर्षों को रोकने के लिए मल्टीवेरस कॉन्सिरेन्सी कंट्रोल वितरित कर सकते हैं?

खैर, हाँ, मुझे लगता है कि वास्तव में बहुत अच्छा होगा। और मेरा मानना ​​है कि यह वही है जो ब्लॉकचेन करता है।

MVCC वितरित के रूप में ब्लॉकचेन

आइए एक दो वाक्यों की नकल करें जो मैंने ऊपर लिखे हैं:

यदि दो लेन-देन का प्रयास करते हैं बिताना वही उत्पादन, फिर उनमें से केवल एक लेनदेन अंततः स्वीकार किया जाएगा। एक ब्लॉकचेन इन संघर्षों का पता लगाने और रोकने के लिए एक एकीकृत तंत्र के रूप में कार्य करता है पूरे नेटवर्क में.

यदि दो लेन-देन का प्रयास करते हैं हटाना वही पंक्ति संस्करण, फिर इनमें से केवल एक लेनदेन अंततः स्वीकार किया जाएगा। बहुसंवेदनशीलता संगामिति नियंत्रण इन संघर्षों का पता लगाने और रोकने के लिए एक एकीकृत तंत्र के रूप में कार्य करता है एक डेटाबेस के भीतर.

ये वाक्य बोल्ड शब्दों को छोड़कर समान हैं। तो यहाँ मैं दावा करने जा रहा हूँ:

एक ब्लॉकचेन MVCC (कुछ अतिरिक्त घंटियाँ और सीटी के साथ) वितरित करता है।

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

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

अब इससे पहले कि हम चले जाएं, मैं यह दावा नहीं कर रहा हूं कि ब्लॉकचेन पूरी तरह से विश्वसनीय वातावरण में वितरित डेटाबेस सिंक्रनाइज़ेशन के लिए एक महान सामान्य उद्देश्य प्रौद्योगिकी है। इस तरह के रूप में अन्य तकनीकों के बहुत सारे हैं Paxos, बेड़ा और दो चरण की प्रतिबद्धता जो बहुत अच्छी तरह से काम करते हैं। लेकिन मेरा मानना ​​है कि ब्लॉकचेन में एक मीठा स्थान होता है, जिसे अनुप्रयोगों के रूप में देखा जा सकता है:

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

इन सभी मानदंडों को वित्तीय अनुप्रयोगों द्वारा पूरा किया जाता है। लेन-देन और उसके अंतिम निपटान के बीच वित्तीय दुनिया पहले से ही देरी (3 दिनों तक!) का उपयोग करती है। संघर्षों को रोकने के संदर्भ में, धोखाधड़ी का पता लगाने के लिए इसके अनुबंध और नियम हैं, और परिणाम गंभीर हो सकते हैं। और प्रत्येक लेनदेन में शामिल डेटा की मात्रा बहुत कम है - ऊपर दिए गए बैंक खाते के उदाहरण के बारे में सोचें।

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

MVCC से परे ब्लॉकचेन

एक बिटकॉइन लेनदेन कुछ पिछले लेनदेन आउटपुट के बिंदु से बहुत अधिक है और उनके स्थान पर कुछ नए बनाता है। यहां तक ​​कि सबसे सरल बिटकॉइन लेनदेन दो अतिरिक्त उद्देश्यों को पूरा करता है।

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

दूसरा, याद रखें कि प्रत्येक बिटकॉइन लेनदेन आउटपुट उन शर्तों को एन्कोड करता है जिसके तहत इसे खर्च किया जा सकता है। नियमित बिटकॉइन आउटपुट के लिए, यह स्थिति सार्वजनिक कुंजी क्रिप्टोग्राफी पर आधारित है। एक सार्वजनिक पता आउटपुट "स्क्रिप्ट" के अंदर एम्बेड किया जाता है ताकि इसे केवल उस सार्वजनिक पते के अनुरूप निजी कुंजी का उपयोग करके खर्च किया जा सके। यदि हम इस आउटपुट को डेटाबेस पंक्ति मानते हैं, तो हमारे पास प्रति-पंक्ति अनुमतियों वाला एक डेटाबेस है जो सार्वजनिक कुंजी क्रिप्टोग्राफी पर आधारित है। इसके अलावा, प्रत्येक लेनदेन एक सार्वजनिक रूप से श्रव्य प्रमाण प्रस्तुत करता है कि इसके निर्माता (रों) को अपनी पूर्व पंक्तियों को हटाने / संशोधित करने का अधिकार था। यह (मेरा मानना ​​है) डेटाबेस तकनीक में एक वास्तविक नवीनता है।

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

तो टोकन कहाँ है?

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

हालांकि केवल एक छोटा सा सवाल: इस सर्वसम्मति को बनाने के लिए खनन कौन करता है? बिटकॉइन में अनाम खनिकों को महंगी बेकार संगणनाएँ करनी चाहिए, और उन्हें ब्लॉकचेन की मूल मुद्रा या टोकन में दर्शाए गए ब्लॉक रिवार्ड्स (और लेनदेन शुल्क) द्वारा ऐसा करने के लिए प्रोत्साहित किया जाता है। क्या हमारे पास कोई अन्य विकल्प है?

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

उपसंहार

मुझे आशा है कि मैंने प्रदर्शित किया है कि बिना टोकन के ब्लॉकचेन में कुछ उपयोगी अनुप्रयोग हैं, भले ही ये बिटकॉइन ब्लॉकचेन से बहुत अलग हों। फिर भी एक प्रश्न शेष है:

क्या ये अनुमति-प्राप्त, टोकन-मुक्त साझा खाता-बही प्रणाली वास्तव में "ब्लॉकचैन" नाम के योग्य हैं?

संक्षिप्त उत्तर है: कौन परवाह करता है? यह शायद ही कभी शब्दों के अर्थ के बारे में बहस करने लायक है, क्योंकि वहाँ है कोई सही जवाब नहीं.

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

क्या ये साझा बही-खाते "ब्लॉकचैन" नाम की योग्यता के लिए बिटकॉइन के समान हैं?

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

पढ़ने के लिए धन्यवाद।

आप ऐसा कर सकते हैं मुझे यहां ट्विटर पर फॉलो करें। यह भी देखें: एक ब्लॉकचेन पर वितरण बनाम भुगतान.

यहाँ इस विषय पर पढ़ने के लायक अन्य टुकड़े हैं पायोत्र पियासेकी और डग कैंपबेल.

समय टिकट:

से अधिक मल्टीचैन