द पावर ऑफ़ स्कोरर: बिटकॉइन के पैमाने और गोपनीयता को बढ़ाने के लिए हस्ताक्षर एल्गोरिदम

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

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

इन आसन्न नवाचारों में से एक कुछ समय के लिए कई बिटकॉइन डेवलपर्स की इच्छा-सूची में शीर्ष पर रहा है: Schnorr हस्ताक्षर.

अलग-अलग गवाहों की आसन्न रिहाई के साथ, Schnorr cryptographic हस्ताक्षर एल्गोरिथ्म का कार्यान्वयन जल्द ही हो सकता है, संभवतः Bitcoin की मापनीयता, दक्षता और गोपनीयता में सुधार, सभी एक बार में.

ऐसे.

हस्ताक्षर

सबसे पहले, एक संक्षिप्त फिर से टोपी: हस्ताक्षर क्या हैं?

बिटकॉइन के दिल में “सार्वजनिक कुंजी क्रिप्टोग्राफी” नामक गणितीय चाल निहित है, एक क्रिप्टोग्राफ़िक प्रणाली है जो “कुंजी” के दो प्रकार का उपयोग करती है (वास्तव में संख्याओं के तार): निजी कुंजी और सार्वजनिक कुंजी.

एक निजी कुंजी और एक सार्वजनिक कुंजी गणितीय रूप से जुड़ी हुई है। लेकिन एक निजी कुंजी से सार्वजनिक कुंजी का उत्पादन करना बहुत आसान है, लेकिन सार्वजनिक कुंजी से निजी कुंजी का उत्पादन करना व्यावहारिक रूप से असंभव है। यह “एक-तरफ़ा सड़क” है।

किसी विशेष बिटकॉइन पते से बिटकॉइन खर्च करने के लिए, किसी को निजी कुंजी का “स्वामित्व” (या: ज्ञान) साबित करना होगा जो उस पते से जुड़ी सार्वजनिक कुंजी को संदर्भित करता है। और एक निजी कुंजी के स्वामित्व को साबित करने के लिए, उस निजी कुंजी को प्रकट किए बिना, एक क्रिप्टोग्राफ़िक हस्ताक्षर का उपयोग किया जाता है.

लेनदेन डेटा और निजी कुंजी का उपयोग करके गणना करके एक हस्ताक्षर बनाया जाता है। और यहाँ पर सार्वजनिक कुंजी क्रिप्टोग्राफी का जादू आता है: सार्वजनिक कुंजी को जानना, कोई भी यह देख सकता है कि हस्ताक्षर बनाने के लिए सही निजी कुंजी का उपयोग किया गया था या नहीं। निजी कुंजी को कभी भी जानने की आवश्यकता के बिना.

इसलिए निजी कुंजी के “मालिक” लेन-देन पर हस्ताक्षर कर सकते हैं और बिटकॉइन खर्च कर सकते हैं, इस चिंता के बिना कि कोई और उस निजी कुंजी को ले सकता है और बिटकॉइन चुरा सकता है; निजी कुंजी कभी उजागर नहीं होती है, और हस्ताक्षर केवल उस विशिष्ट लेनदेन के लिए मान्य होता है.

(बिटकॉइन में सार्वजनिक कुंजी क्रिप्टोग्राफी के अधिक विस्तृत विवरण के लिए, इस लेख को देखें। या, बस पढ़ते रहें। जबकि मूल हस्ताक्षर अवधारणा मायने रखती है, इस लेख के उद्देश्य के लिए विवरण महत्वपूर्ण नहीं हैं।)

शुक्राणु

तो, फिर क्या, Schnorr हस्ताक्षर हैं?

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

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

यह वह जगह है जहाँ अलग-अलग गवाह आते हैं.

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

इससे श्नोरर का द्वार खुल जाता है.

क्षमता

सबसे अधिक बिटकॉइन का लाभ उठाने के लिए खड़ा होने वाला श्चोर प्रॉपर्टी बहुसांस्कृतिक एकत्रीकरण है.

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

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

उदाहरण के लिए:

अलग-अलग गवाह, जैसा कि बिटकॉइन कोर द्वारा प्रस्तावित है, मूल ब्लॉक के बजाय गवाह में शामिल सभी डेटा पर (लगभग) 75 प्रतिशत की छूट प्रदान करता है। गवाह डेटा का एक मेगाबाइट इसलिए “25” तौला जाता है, जो मेगाबाइट के रूप में होता है, जो कि 1 मेगाबाइट के लिए मूल ब्लॉक में 75 मेगाबाइट लेनदेन डेटा के लिए जगह छोड़ देगा।.

यदि एकत्रित Schnorr हस्ताक्षर साक्षी डेटा के कुल आकार को कम करते हैं, तो 1 मेगाबाइट से 5 मेगाबाइट तक कहें, यह 5 मेगाबाइट फिर 0.125 मेगाबाइट पर छूट जाएगा, मूल ब्लॉक में 0.875 मेगाबाइट तक के लिए कमरा छोड़ देगा। (लगभग 17 प्रतिशत की क्षमता वृद्धि।)

अतिरिक्त कमरे की सही मात्रा ब्लॉक में शामिल लेनदेन के प्रकारों पर निर्भर करती है। लेकिन बिटकॉइन कोर डेवलपर एरिक लोम्ब्रोजो द्वारा मोटे तौर पर अनुमान लगाया गया है कि श्नेचर हस्ताक्षर अंततः कुल क्षमता 40 प्रतिशत या उससे अधिक बढ़ा सकते हैं – जो कि अलग-अलग गवाह द्वारा पेश किए गए पहले से ही जोड़ा गया 60 से 100 प्रतिशत के शीर्ष पर है।.

मल्टीसिग

जैसा कि ऊपर वर्णित क्षमता नियमित लेनदेन के लिए सही है, क्योंकि कई लेनदेन में एक से अधिक इनपुट शामिल हैं। लेकिन लाभ मल्टीसिग लेनदेन के मामले में और भी अधिक हो सकता है – लेनदेन जहां एक एकल इनपुट के लिए स्वयं कई हस्ताक्षरों की आवश्यकता होती है (आमतौर पर अलग-अलग लोगों से).

सामान्य लेनदेन की तरह, किसी भी हस्ताक्षर से अधिक किसी भी मल्टीसिग लेनदेन में शामिल होने की आवश्यकता नहीं है। चाहे जितने लोगों के हस्ताक्षर की आवश्यकता हो, चाहे कितने लोग शामिल हों.

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

एकांत

और तीसरा, श्नेचर हस्ताक्षर एक और दिलचस्प लाभ प्रदान कर सकते हैं: प्रोत्साहन गोपनीयता.

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

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

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

यदि सही किया जाता है, तो बिटकॉइन प्रोटोकॉल पर गोपनीयता में सुधार करने के लिए CoinJoin एक शानदार तरीका है, क्योंकि यह अस्पष्ट हो जाता है कि कौन से इनपुट का भुगतान किया गया है जो वास्तव में आउटपुट करता है, अकेले व्यक्ति को किस व्यक्ति को भुगतान किया.

CoinJoin एक नई अवधारणा नहीं है। लेकिन अब तक CoinJoin आमतौर पर एक परेशानी का एक सा था। जैसे, ज्यादातर लोग परेशान नहीं होते। और चूंकि ज्यादातर लोग परेशान नहीं होते हैं, जो लोग परेशान करते हैं, उन्हें स्वचालित रूप से संदिग्ध के रूप में चिह्नित किया जा सकता है; पहली जगह में CoinJoin का उपयोग करने के उद्देश्य को संभावित रूप से पराजित करना.

लेकिन Schnorr हस्ताक्षर CoinJoin के लिए एक नया लाभ जोड़ सकते हैं। यह एक CoinJoin लेनदेन में सभी प्रतिभागियों को न केवल उनके लेनदेन को संयोजित करने के लिए, बल्कि उनके हस्ताक्षरों को संयोजित करने में भी सक्षम बनाता है। और ऐसा करने का मतलब है कि लेनदेन का आकार वास्तव में संयुक्त सभी व्यक्तिगत लेनदेन से छोटा होगा। जो, बारी-बारी से, खनिक का मतलब है कि आम तौर पर लेनदेन को संसाधित करने के लिए एक छोटा शुल्क लगेगा.

Schnorr के साथ, इसलिए, CoinJoin न केवल गोपनीयता बढ़ाएगा, बल्कि महत्वपूर्ण रूप से – इसमें शामिल सभी के लिए लागत कम करेगा। वास्तव में, सबसे निजी विकल्प का उपयोग करने के लिए एक लागत लाभ होगा, जो शायद इसे सभी के लिए विकल्प बना सकता है – सभी के लिए बहुत अधिक बिटकॉइन गोपनीयता बढ़ाना.

नोट: Bitcoin में Schnorr हस्ताक्षर को लागू करने की प्रक्रिया अभी भी अवधारणा चरण में है। जबकि अधिकांश बिटकॉइन कोर डेवलपर्स का मानना ​​है कि Schnorr हस्ताक्षर सुरक्षित रूप से Bitcoin में तैनात किए जा सकते हैं, यह निश्चित रूप से कहना जल्दबाजी होगी.

Bitcoin Core डेवलपर और के लिए धन्यवाद  ब्लॉकस्ट्रीम जानकारी प्रदान करने के लिए सह-संस्थापक डॉ। पीटर वुइल, और बिटकॉइन कोर डेवलपर और  सिफरेक्स प्रूफरीडिंग और आगे के सुझाव के लिए सीईओ एरिक लोम्ब्रोजो.