बिटकॉइन कोर 0.21.0 जारी: नया क्या है
आज के आधिकारिक रिलीज के निशान बिटकॉइन कोर 0.21.0, बिटकॉइन के मूल सॉफ्टवेयर क्लाइंट की 21 वीं बड़ी रिलीज सतोशी नाकामोटो द्वारा लगभग 12 साल पहले शुरू की गई थी.
द्वारा ओवेरसन करें बिटकॉइन कोर लीड मेंटेनर व्लादिमीर वान डेर लान, इस नवीनतम प्रमुख रिलीज को लगभग छह महीनों के अंतराल में सौ से अधिक योगदानकर्ताओं द्वारा विकसित किया गया था। 600 से अधिक मर्ज किए गए पुल अनुरोधों के परिणामस्वरूप, बिटकॉइन कोर 0.21.0 हाल के वर्षों में सबसे बड़ी बिटकॉइन कोर रिलीज में से एक है, जिसमें कई नए फीचर्स के साथ-साथ गोपनीयता और प्रदर्शन में सुधार भी शुरू किया गया है, जबकि Schnorr / Taprootate अपग्रेड के लिए एक बड़ा कदम उठा रहा है।.
नीचे कुछ अधिक उल्लेखनीय परिवर्तन हैं.
वर्णमाला के बटुए
जब सिक्कों को एक बिटकॉइन पते पर भेजा जाता है, तो वास्तव में हुड के नीचे क्या होता है कि वे एक अनपेक्षित लेनदेन आउटपुट (UTXO) में “लॉक अप” हैं, केवल बाद के लेनदेन में “अनलॉक” (खर्च) होने के लिए यदि शर्तों को छिपाया गया हो UTXO से मुलाकात की जाती है। एक विशिष्ट स्थिति एक विशिष्ट सार्वजनिक कुंजी के अनुरूप वैध हस्ताक्षर का समावेश है। लेकिन उदाहरण के लिए स्थितियां भी एक गुप्त कोड को शामिल करने, एक टाइमलैक की चूक या हस्ताक्षर (मल्टीसिग) के संयोजन से मिलकर बन सकती हैं.
अब तक, बिटकॉइन कोर को उनके संबंधित निजी कुंजी के आसपास अपने वॉलेट में UTXOs के प्रबंधन के लिए डिज़ाइन किया गया था – भले ही निजी कुंजी सिक्के खर्च करने के लिए कई संभावित स्थितियों में से एक हो। बिटकॉइन कोर 0.21.0 इसके बजाय “विवरणकर्ता बटुए” का परिचय देता है। डिस्क्रिप्टर वॉलेट उपयोगकर्ताओं को अपने यूटीएक्सओ को उन परिस्थितियों के प्रकार के आधार पर वर्गीकृत करने देता है जो उन्हें खर्च करने के लिए आवश्यक हैं। (उदाहरण के लिए: UTXO के लिए एक वॉलेट जिसमें केवल वैध हस्ताक्षर की आवश्यकता होती है, और मल्टीसिग UTXOs के लिए एक वॉलेट।)
डिस्क्रिप्टर वॉलेट विशेष रूप से उन एप्लिकेशन डेवलपर्स के लिए उपयोगी होते हैं जो बिटकॉइन कोर के शीर्ष पर सॉफ़्टवेयर डिज़ाइन करते हैं। एक विशेष एप्लिकेशन को अब केवल विशिष्ट प्रकार के UTXO का उपयोग करने के लिए डिज़ाइन किया जा सकता है, जैसे मल्टीसिग UTXO.
नियमित उपयोगकर्ताओं को भी अब एक अंतर दिखाई दे सकता है कि वर्णनकर्ता बटुए कार्यान्वित किए जाते हैं। शायद सबसे खास बात यह है कि नया बिटकॉइन कोर नोड शुरू होने पर कोई डिफ़ॉल्ट वॉलेट नहीं बनाया जाएगा। इसके बजाय, एक नया बटुआ केवल तब बनाया जाता है जब कोई उपयोगकर्ता विशेष रूप से ऐसा करने का विकल्प चुनता है, जिससे उन्हें केवल विशेष रूप से वांछित प्रकार का बटुआ बनाने की अनुमति मिलती है। डिस्क्रिप्टर वॉलेट भी बेहतर समर्थन करते हैं वॉच ओनली वॉलेट्स: वॉलेट्स जो कुछ यूटीएक्सओ का ट्रैक रखते हैं, हालांकि नोड के पास निजी कुंजियाँ नहीं होती हैं जो उन्हें खर्च करने के लिए आवश्यक होती हैं।.
बिटकॉइन कोर उपयोगकर्ता जो बिटकॉइन कोर 0.21.0 में अपग्रेड करते हैं, वे अभी भी अपने विरासत वॉलेट का उपयोग कर पाएंगे। (लिगेसी वॉलेट्स को अंततः अपदस्थ किया जाएगा, जिसका अर्थ है कि उपयोगकर्ताओं को अपने वॉलेट से वॉलेट को एक डिस्क्रिप्टर वॉलेट में स्थानांतरित करना होगा, लेकिन भविष्य में बिटकॉइन कोर रिलीज होने तक यह सख्ती से आवश्यक नहीं होगा।)
पीयर-टू-पीयर नेटवर्क पर कॉम्पैक्ट ब्लॉक फिल्टर की सेवा
“लाइट क्लाइंट” बिटकॉइन वॉलेट और एप्लिकेशन हैं जो संपूर्ण बिटकॉइन ब्लॉकचेन को डाउनलोड और मान्य नहीं करते हैं, बल्कि केवल ब्लॉक और लेनदेन के कुछ हिस्सों को डाउनलोड और मान्य करते हैं जो उन्हें विशेष रूप से चिंतित करते हैं। यह आशावादी रूप से सुरक्षित नहीं है, लेकिन बहुत कम संसाधन गहन है.
ऐसा करने का एक लोकप्रिय तरीका ब्लूम फिल्टर के साथ है। संक्षेप में, ब्लूम फिल्टर नेटवर्क पर अधिक या कम यादृच्छिक सहकर्मी नोड्स से प्रासंगिक डेटा का अनुरोध करने के लिए एक क्रिप्टोग्राफ़िक चाल है। दुर्भाग्य से, हालांकि, यह उन वर्षों में स्पष्ट हो गया है कि ब्लूम फिल्टर गोपनीयता-अप्रत्यक्ष रूप से हैं: वे अनिवार्य रूप से उपयोगकर्ता के सभी पते (अधिक या कम यादृच्छिक) सहकर्मी नोड को प्रकट करते हैं, जो निश्चित रूप से एक गोपनीयता-आक्रमण द्वारा संचालित किया जा सकता है। गुप्तचर.
ब्लूम फ़िल्टर समाधान के लिए एक नया और बहुत अधिक गोपनीयता-संरक्षण विकल्प “कॉम्पैक्ट क्लाइंट-साइड ब्लॉक फ़िल्टरिंग” (बीआईपी) कहा जाता है 157/158) का है। कॉम्पैक्ट क्लाइंट-साइड ब्लॉक फ़िल्टरिंग अनिवार्य रूप से अपने सिर पर ब्लूम फ़िल्टर चाल को बदल देता है। फुल नोड्स भेजने के लिए लाइट वॉलेट्स बनाने के बजाय, फुल नोड्स प्रत्येक ब्लॉक के लिए फिल्टर बनाते हैं और अनुरोध पर इन्हें लाइट क्लाइंट्स को भेजते हैं। लाइट क्लाइंट तब इन फ़िल्टर का उपयोग यह पता लगाने के लिए करते हैं कि क्या उनके लिए प्रासंगिक लेनदेन एक ब्लॉक में शामिल किए गए हैं। यदि ऐसा है, तो प्रकाश वॉलेट पूरे ब्लॉक को ले जाएगा और इससे संबंधित किसी भी प्रासंगिक लेनदेन डेटा को उठाएगा। (कुछ झूठे सकारात्मक होंगे; जिन ब्लॉकों में प्रासंगिक लेन-देन डेटा नहीं है, भले ही फ़िल्टर ने उन्हें सुझाव दिया हो।)
मौजूदा बिटकॉइन कोर रिलीज पहले से ही स्थानीय स्तर पर फिल्टर बना सकते हैं, और नोड के शीर्ष पर चलने वाले एप्लिकेशन (जैसे पर्स) के लिए उन्हें दूरस्थ प्रक्रिया कॉल (आरपीसी) के माध्यम से उपलब्ध करा सकते हैं। बिटकॉइन कोर 0.21.0 में अब बिटकॉइन के पीयर-टू-पीयर नेटवर्क पर इन फिल्टर को उपलब्ध कराने का विकल्प भी शामिल है। यह अब स्वसंपूर्ण प्रकाश ग्राहकों को संचालित करने के लिए संभव बनाता है जो ब्लूम फ़िल्टर का उपयोग करते हैं.
कम रिबेरोडकास्ट प्रयास
ब्लूम फिल्टर के अलावा, स्नूप नेटवर्क विश्लेषण के माध्यम से बिटकॉइन उपयोगकर्ताओं की गोपनीयता को भी तोड़ सकते हैं। यदि वे यह पता लगा सकते हैं कि किस नोड से एक विशेष लेनदेन की उत्पत्ति हुई है, तो नोड का बिटकॉइन पता (ईएस) उसके आईपी पते से जुड़ा हो सकता है, जो बदले में वास्तविक दुनिया की पहचान से जुड़ा हो सकता है.
अब तक, जब बिटकॉइन कोर ने लेनदेन को बिटकॉइन नेटवर्क में प्रसारित किया था, तो वे लेनदेन को हर पंद्रह मिनट में फिर से प्रसारित करने का प्रयास करते हैं, जब तक कि लेनदेन को ब्लॉक में शामिल नहीं किया जाता। इसका मतलब है कि अगर ये बिटकॉइन कोर नोड्स एक स्नूपिंग पीयर से जुड़े थे, तो स्नूप के लिए यह स्पष्ट होगा कि बिटकॉइन कोर नोड हर 15 मिनट में एक निश्चित लेनदेन को फिर से प्रसारित करने की कोशिश कर रहा था, वह नोड भी था जहां उस लेनदेन की उत्पत्ति हुई थी.
बिटकॉइन कोर 0.21.0 उस आवृत्ति को बहुत कम कर देता है जिसके साथ यह लेनदेन को फिर से प्रसारित करने की कोशिश करता है: केवल एक बार हर 12 से 36 घंटे में। कम बार फिर से प्रसारित करने से यह अधिक संभावना बनती है कि प्रारंभिक प्रसारण के बाद से लेनदेन की पुष्टि की गई है, इसलिए नोड को फिर से प्रसारित करने की संभावना कम है.
भविष्य के बिटकॉइन कोर रिलीज में, यह गोपनीयता रिसाव पूरी तरह से तय हो जाएगा। एक बिटकॉइन कोर नोड तब केवल फिर से प्रसारित लेनदेन होगा जो कि अपने स्वयं के मेमपूल और शुल्क गणना के आधार पर पुष्टि की जानी चाहिए। इसके अलावा, यह अन्य लेन-देन को भी प्रसारित करेगा, न कि केवल अपने ही.
टॉर V3 सपोर्ट
प्राइवेसी-प्रोटेक्टिंग टॉर प्रोटोकॉल के लिए हाल ही में अपग्रेड होने के कारण, नए वी 3 (संस्करण 3) टॉर-एड्रेस वी 2 (संस्करण 2) पतों की तुलना में अधिक लंबे हैं जो उनके सामने आए थे। V2 पते अभी भी उपयोग में हैं, लेकिन अब से लगभग एक वर्ष में हटा दिया जाएगा.
V2 पतों के विलोपन ने बिटकॉइन कोर उपयोगकर्ताओं के लिए एक समस्या उत्पन्न कर दी होगी जो गोपनीयता नेटवर्क पर बिटकॉइन का उपयोग करना चाहते हैं। बिटकॉइन कोर नोड्स ज्ञात टोर-बिट बिटकॉइन नोड्स के एक-दूसरे के टोर पते के साथ साझा करके सहकर्मी पाते हैं। उन्होंने इसे उसी संदेश के माध्यम से साझा किया जिसका उपयोग वे अन्य नोड्स के नियमित आईपी पते को साझा करने के लिए करते हैं। जबकि Tor V2 पते नियमित IP पता प्रारूप (IPV6) में “छिपे” हो सकते हैं, Tor V3 पते उसके लिए बहुत लंबे हैं; दूसरे शब्दों में, वर्तमान संदेश टोर उन्नयन के साथ संगत होने के लिए बहुत सीमित हैं.
बिटकॉइन कोर 0.21.0 इसलिए साथियों के साथ आईपी / टोर पते साझा करने के लिए एक नया प्रारूप पेश करता है। ये संदेश टो वी 3 पतों को साझा करने के लिए काफी बड़े हो सकते हैं.
Schnorr / Taproot Code और Signet / Regtest Deployment
Schnorr / Taproot अगस्त 2017 में Segregated Witness (SegWit) के बाद से Bitcoin का पहला प्रोटोकॉल अपग्रेड होने की ओर अग्रसर है। दो साल से अधिक समय से विकास में रहा, Schnorr हस्ताक्षर एल्गोरिथ्म को Bitcoin के वर्तमान ECDSA हस्ताक्षर एल्गोरिथ्म के लिए एक चौतरफा माना जाता है। टपरोट के संयोजन में – एक क्रिप्टोग्राफिक हैश ट्री में सिक्के खर्च करने के लिए विभिन्न शर्तों को छिपाने के लिए एक चतुर चाल – उन्नयन एक स्केलेबल और गोपनीयता-संरक्षण तरीके से अधिक स्मार्ट अनुबंध लचीलेपन की पेशकश करने का वादा करता है.
Schnorr / Taproot कोड अब Bitcoin Core 0.21.0 में शामिल किया गया है। अप्रत्याशित विकास को छोड़कर, इसका मतलब है कि यह किसी भी अधिक परिवर्तन के अधीन नहीं होगा, उदाहरण के लिए इसका मतलब है कि एप्लिकेशन डेवलपर अपग्रेड के आसपास सॉफ़्टवेयर डिज़ाइन करना शुरू कर सकते हैं। इसके अलावा, Schnorr / Taproot अब Signet (नए बिटकॉइन सॉफ़्टवेयर का परीक्षण करने के लिए डेवलपर्स द्वारा उपयोग किया जाने वाला एक नया और अधिक विश्वसनीय संस्करण) पर उपलब्ध है और संभावित रूप से Regtests (अतिरिक्त स्थानीय टेस्टनेट वेरिएंट) पर भी उपलब्ध है.
हालांकि, Schnorr / Taproot अभी तक Bitcoin के मेननेट पर उपलब्ध नहीं होगा। इसके लिए, अपग्रेड को सबसे पहले सक्रिय करना होगा, जिसके लिए बिटकॉइन कोर रिलीज में अभी तक सक्रियण तर्क की आवश्यकता नहीं है। सक्रियण तर्क एक मामूली बिटकॉइन कोर रिलीज में शामिल होने की उम्मीद है, संभवतः अगले महीनों में कहीं.
अन्य…
उपरोक्त परिवर्तनों के ऊपर, बिटकॉइन कोर 0.21.0 में विभिन्न बग फिक्स और प्रदर्शन सुधार शामिल हैं जो नियमित उपयोगकर्ताओं के लिए स्पष्ट नहीं होंगे। बिटकॉइन कोर वॉलेट उदाहरण के लिए स्विच को बर्कले डीबी से SQLite डेटाबेस में बदल देगा, जो कि एप्लिकेशन डेटा फ़ाइल के रूप में बेहतर अनुकूल है और संगतता, समर्थन और परीक्षण के संबंध में कई गारंटी प्रदान करता है। ब्याज की यह भी है कि बिटकॉइन कोर 0.21.0 में लेन-देन अनुरोध शामिल है: नया संदेश प्रोटोकॉल जो बिटकॉइन नोड्स नए लेनदेन के बारे में जानने के लिए उपयोग करता है, बेहतर परीक्षण, बेहतर निर्दिष्ट और बनाए रखने और समीक्षा करने में आसान है.
उन्नयन की अधिक व्यापक सूची के लिए, यह भी देखें बिटकॉइन कोर 0.21.0 रिलीज नोट, या देख सकते हैं इस ब्लॉग पोस्ट बिटकॉइन कोर योगदानकर्ता एंड्रयू चाउर द्वारा डिस्क्रिप्टर वॉलेट्स (साथ ही विरासत वॉलेट्स) और SQLite (साथ ही बर्कले डीबी) की अधिक व्यापक व्याख्या के लिए.
जानकारी और प्रतिक्रिया के लिए जॉन न्यूबेरी को धन्यवाद.