यह एक राय संपादकीय है बिल स्कोर्स्बी, एक बिटकॉइन-आधारित छोटे व्यवसाय के मालिक और बिटकॉइन स्व-अभिरक्षा के लिए कई गाइडों के लेखक।
वे बग थे जिनके कारण हाल ही में कई एलएनडी नोड्स बिटकॉइन ब्लॉकचेन के साथ सिंक से बाहर हो गए थे संभवतः वैकल्पिक कार्यान्वयन के कारण हुआ.
शायद आप सोच रहे होंगे, “दुनिया में कौन इसके अलावा किसी चीज़ का उपयोग कर रहा है बिटकोइन कोर?” आप नहीं जानते होंगे कि बिटकॉइन के अन्य कार्यान्वयन मौजूद थे। शायद आप निश्चित नहीं हैं कि भिन्न कार्यान्वयन का क्या मतलब है।
बिटकॉइन कोर की शुरुआत सॉफ्टवेयर के रूप में हुई सातोशी Nakamoto C++ में लिखा और दुनिया के लिए जारी किया गया। इसे वर्तमान समय में नए संस्करणों के साथ अद्यतन किया गया है। एक वैकल्पिक कार्यान्वयन वह सॉफ़्टवेयर है जो बिटकॉइन कोर के समान कार्य करता है - समान सर्वसम्मति नियमों को लागू करता है - लेकिन अलग-अलग तरीके से लिखा जाता है, अक्सर एक अलग कोडिंग भाषा में।
एक वैकल्पिक कार्यान्वयन ने लाइटनिंग नेटवर्क पर नोड्स को कैसे तोड़ दिया?
प्रमुख लाइटनिंग नेटवर्क नोड संस्करणों में से एक (लण्ड) btcd नामक एक वैकल्पिक बिटकॉइन कार्यान्वयन पर निर्भर करता है। जब एक डेवलपर ने एक बहुत बड़ा मल्टीसिग लेनदेन बनाया, तो बीटीसीडी ने इसे वैध नहीं देखा क्योंकि इसमें बहुत अधिक गवाह डेटा था। अन्य बिटकॉइन कार्यान्वयन - सबसे महत्वपूर्ण रूप से बिटकॉइन कोर - में टैपरूट लेनदेन गवाह डेटा पर ऐसी कोई सीमा नहीं थी, और इसलिए लेनदेन और इसे शामिल करने वाले ब्लॉक को वैध माना गया।
परिणाम यह हुआ कि खनिक श्रृंखला में नए ब्लॉक जोड़ते रहे क्योंकि वे बीटीसीडी का उपयोग नहीं कर रहे थे और उनके नियमों के अनुसार कुछ भी गलत नहीं था, लेकिन एलएनडी लाइटनिंग नोड्स इन नए ब्लॉकों में से किसी को भी नहीं पहचान सके क्योंकि वे ब्लॉक युक्त के शीर्ष पर बनाए गए थे उस एक लेन-देन को उन्होंने अमान्य पाया।
जब 1 नवंबर को बग दोबारा हुआ, तो केवल एलएनडी नोड्स ही प्रभावित नहीं हुए थे। कुछ इलेक्ट्रो इंस्टेंसेस (इलेक्ट्रम वॉलेट के लिए बैकएंड सर्वर का कार्यान्वयन) भी श्रृंखला के बाकी हिस्सों के साथ आम सहमति तक पहुंचने में विफल रहे। जबकि एलएनडी नोड्स को बीटीसीडी में एक समान मुद्दे के कारण आम सहमति से बाहर रखा गया था, यह रस्ट में लिखे गए बिटकॉइन का कार्यान्वयन था जिसके कारण इलेक्ट्रानिक नोड्स पीछे रह गए, जिसमें कुछ बहुत ही दृश्यमान सर्वर भी शामिल हैं mempool.space द्वारा चलाएँ.
गवाह डेटा के आकार की सीमा मौजूद है DoS हमलों को रोकने के लिए, और बिटकॉइन कोर का भी एक हिस्सा है (हालांकि कोर में टैपरूट लेनदेन के लिए एक बड़ी सीमा है)। ऐसा लगता है कि अन्य दो कार्यान्वयन जो सिंक से बाहर हो गए थे उनमें कोड था छोटी सीमा बरकरार रखी.
कार्यान्वयन में बहुत छोटे अंतर से सर्वसम्मति की कमी हो सकती है।
बिटकॉइन का एकाधिक कार्यान्वयन खतरनाक है
सातोशी बिटकॉइन के एकाधिक कार्यान्वयन का विचार पसंद नहीं आया। "मुझे विश्वास नहीं है कि बिटकॉइन का दूसरा, संगत कार्यान्वयन कभी भी एक अच्छा विचार होगा।" उन्होंने जो कारण दिया वह यह था, "डिज़ाइन का इतना हिस्सा लॉकस्टेप में बिल्कुल समान परिणाम प्राप्त करने वाले सभी नोड्स पर निर्भर करता है कि दूसरा कार्यान्वयन नेटवर्क के लिए खतरा होगा।"
खतरा? बड़ी बात क्या है?
आपने शायद सुना होगा कि सबसे अधिक प्रमाण वाली श्रृंखला ही सच्ची श्रृंखला होती है। जब दो अलग-अलग खनिकों को एक ही समय में एक ब्लॉक मिलता है, तो श्रृंखला विभाजित हो जाती है और अन्य खनिक जिस भी ब्लॉक के बारे में पहले सुनते हैं, उस पर निर्माण शुरू कर देते हैं।
जैसे ही विभाजन के एक तरफ एक नया ब्लॉक जोड़ा जाता है, अधिकांश नोड्स और खनिक इसे नई सच्ची श्रृंखला के रूप में स्वीकार करते हैं और विभाजन के दूसरे पक्ष को छोड़ देते हैं। इन ब्लॉकों को बासी ब्लॉक कहा जाता है, हालांकि कुछ लोग इन्हें अनाथ ब्लॉक भी कहते हैं।
चूंकि बिटकॉइन में ब्लॉकों के बीच का औसत समय 10 मिनट है, इसलिए संभावना है कि विभाजन के हारने वाले पक्ष में एक को जोड़ने से पहले पूरा नेटवर्क इस नए ब्लॉक के बारे में सीख लेगा, और सबसे अधिक काम वाली श्रृंखला जीत जाएगी।
“नोड्स सबसे अधिक काम के साथ वैध श्रृंखला का पालन करेंगे… यहां मुख्य शब्द वैध है। यदि नोड को एक ब्लॉक प्राप्त होता है जिसे वह अमान्य निर्धारित करता है, तो इससे कोई फर्क नहीं पड़ता कि उस ब्लॉक के शीर्ष पर कितना काम किया गया है, नोड उस श्रृंखला को स्वीकार नहीं करेगा। — एंड्रयू चाउ
मुख्य शब्द "मान्य" है। खतरा तब दिखाई देता है जब एक खनिक को एक ऐसा ब्लॉक मिलता है जिसे कुछ अन्य खनिक और नोड्स वैध नहीं मानते हैं। जो खनिक सोचते हैं कि यह वैध है, वे उस श्रृंखला पर नए ब्लॉक बनाने का प्रयास करेंगे। जो खनिक सोचते हैं कि यह वैध नहीं है, वे उस अंतिम वैध ब्लॉक पर निर्माण करने का प्रयास करेंगे जिसके बारे में वे जानते हैं। परिणाम: दो शृंखलाएँ और यह जानने का कोई तरीका नहीं कि कौन सा सत्य है।
दुनिया में ऐसी चीज़ कैसे घटित होगी?
ठीक है, जैसा कि हमने एलएनडी नोड्स के साथ हालिया बग के मामले में देखा, अगर बिटकॉइन के एक कार्यान्वयन में कोई बग है जो अन्य कार्यान्वयन में नहीं है, तो इससे इस बारे में आम सहमति की कमी हो सकती है कि कोई ब्लॉक वैध है या नहीं।
बिटकॉइन के पास इसे ठीक करने की कोई व्यवस्था नहीं है। प्रोटोकॉल के बाहर के समुदाय को यह तय करना होगा कि आगे क्या होगा। यह बहुत अप्रिय लगता है.
बिटकॉइन डेवलपर पीटर टॉड ने इतना ही कहा है अन्य कार्यान्वयनों को बिटकॉइन कोर बग-फॉर-बग से मेल खाने की आवश्यकता है.
यह लीजिए: एकाधिक कार्यान्वयन खतरनाक हैं!
बिटकॉइन के अन्य कार्यान्वयन क्या हैं और वे क्यों मौजूद हैं?
सबसे पहले, अधिकांश लोग बिटकॉइन कोर चलाते हैं।
ल्यूक डैशज्र लगभग 43,000 नोड्स देखता है, जिनमें से 98% बिटकॉइन कोर चला रहे हैं और कॉइन डांस नामक चीज़ लगभग 15,000 नोड्स देखती है, जिनमें से 96% बिटकॉइन कोर चला रहे हैं. इसलिए, फिलहाल, ऐसा लगता है कि बहुत कम लोग वैकल्पिक कार्यान्वयन का उपयोग कर रहे हैं।
फिर भी, ऐसी सक्रिय परियोजनाएं हैं जो बिटकॉइन प्रोटोकॉल को लागू करने वाले अन्य कोडबेस बनाने और बनाए रखने की कोशिश कर रही हैं। वे सम्मिलित करते हैं:
जेमिसन लोप के पास है उत्कृष्ट पृष्ठ अधिक विस्तृत सूची और अन्य सभी कार्यान्वयनों के लिंक के साथ।
इन सभी परियोजनाओं पर अत्यंत प्रतिभाशाली डेवलपर काम कर रहे हैं, और प्रत्येक कुछ वर्षों से अधिक समय से अस्तित्व में है। जो चीज़ ऐसी समस्या लगती है उसमें इतना प्रयास क्यों करें?
बिटकॉइन अनुमति रहित है. कोई भी व्यक्ति श्रृंखला डाउनलोड कर सकता है; कोई भी व्यक्ति नेटवर्क के साथ इंटरैक्ट कर सकता है; और कोई भी आपको कोडिंग करने या वैकल्पिक कार्यान्वयन चलाने से नहीं रोक सकता।
फिर भी, स्पष्ट रूप से कुछ लोग प्रभारी हैं बिटकॉइन रिपॉजिटरी में बदलाव करने और उन्हें चुनने की प्रक्रिया अनौपचारिक लगती है। जबकि वहाँ है बिटकॉइन सुधार प्रस्ताव (बीआईपी) प्रक्रिया बिटकॉइन कोर में बदलाव का सुझाव देना भी काफी अनौपचारिक है।
इनमें से कोई भी सीधी समस्या नहीं है. जैसा कि मार्टी बेंट बताते हैं, कठोर सहमति एक ताकत हो सकती है. यदि बिटकॉइन बदलने की प्रक्रिया कठिन और अस्पष्ट है, तो इसका मतलब है कि परिवर्तनों की अधिक गहनता से जांच की जाएगी।
किसी न किसी सहमति का अगला चरण एक से अधिक लोकप्रिय कार्यान्वयन है।
एकाधिक कार्यान्वयन न होना अधिक खतरनाक हो सकता है
इसमें कोई संदेह नहीं है कि बिटकॉइन कोर तक पहुंच रखने वाले लोगों में से एक बनना पहले से ही एक बहुत कठिन काम है। ऐसी दुनिया में जहां बिटकॉइन एक मौद्रिक साधन के रूप में केंद्रीय भूमिका निभाता है, यह काम और अधिक कठिन हो जाएगा। डेवलपर्स का एक छोटा समूह एक बहुत ही सार्थक लक्ष्य बन सकता है। कम से कम, अगले सॉफ़्टवेयर रिलीज़ में विभिन्न समावेशन या बहिष्करण की पैरवी करने के लिए उनका ध्यान आकर्षित किया जाएगा।
उस लॉबिंग उद्योग के बारे में सोचें जो वर्तमान में राजनीति में मौजूद है। ऐसी चीज़ उन लोगों के आसपास क्यों विकसित नहीं होगी जिनके पास बिटकॉइन प्रोटोकॉल के एकमात्र कार्यान्वयन तक पहुंच है?
अब राजनेताओं की तरह उनकी भी सत्ता तक पहुंच मानी जाएगी। इस प्रकार, लोग उन्हें निशाना बनाएंगे, सिवाय इसके कि इन डेवलपर्स के पास उनका बचाव करने के लिए राज्य की ताकत नहीं होगी। वह कैसा जीवन होगा? इसे कौन स्वेच्छा से चुनेगा?
दिन के अंत में, वैश्विक वित्तीय प्रणाली उन लोगों के छोटे समूह के कंधों पर काफी भारी भार है, जिनके पास एक GitHub रिपॉजिटरी तक पहुंच है। शायद यह उस वैश्विक वित्तीय प्रणाली से इतना भिन्न नहीं है जिसे हम दूर करने की कोशिश कर रहे हैं जहां लोगों का मौद्रिक भविष्य कुछ केंद्रीय बैंकरों के निर्णयों पर निर्भर करता है।
बचाव के लिए अनेक कार्यान्वयन!
बिटकॉइन नेटवर्क पर कई कार्यान्वयनों की उपस्थिति और व्यापक उपयोग, दुर्भावनापूर्ण अभिनेता के लिए बिटकॉइन प्रोटोकॉल को बदलना अधिक कठिन बनाकर इन दबावों को कम कर सकता है।
यदि बिटकॉइन नेटवर्क में प्रतिभागियों को विभिन्न कार्यान्वयनों के बीच अधिक समान रूप से वितरित किया जाता है, तो अच्छे विचारों के सामने आने की अधिक गुंजाइश होती है। बिटकॉइन में बदलाव का प्रस्ताव करना या उन्हें अस्वीकार करना बहुत अधिक विकेन्द्रीकृत है यदि यह सब एक शिविर में नहीं किया जाता है।
स्पष्ट रूप से, बिटकॉइन के विभिन्न कार्यान्वयनों का उपयोग करने से श्रृंखला विभाजन का खतरा बढ़ जाता है। एक विनाशकारी श्रृंखला विभाजन - जहां नोड्स और खनिकों का एक महत्वपूर्ण हिस्सा गलती से अलग हो गया - बिटकॉइन के लिए अच्छा नहीं होगा, और निश्चित रूप से इसकी कीमत के लिए नहीं। लेकिन इससे बिटकॉइन की अनुमति रहित प्रकृति को कोई खतरा नहीं होगा।
एक केंद्रीकृत विकास वातावरण जहां हर कोई केवल बिटकॉइन कोर पर निर्माण करता है, अनुमतिहीनता को खतरे में डाल सकता है। विषय के बारे में बातचीत में केवल वैकल्पिक कार्यान्वयन के कारण होने वाली समस्याओं पर ध्यान केंद्रित करने के बजाय बिटकॉइन कोर पर बहुत अधिक निर्भर होने के जोखिमों को संबोधित करने की आवश्यकता है।
वहाँ एक महान, पुराना है इस बहस के बारे में लेख आरोन वैन विर्डम द्वारा। आप एक और हालिया लेख भी पढ़ सकते हैं, जानकारीपूर्ण सूत्र इसके बारे में.
यह बिल स्कोर्सबी की एक अतिथि पोस्ट है। व्यक्त की गई राय पूरी तरह से उनकी अपनी हैं और जरूरी नहीं कि वे बीटीसी इंक या बिटकॉइन मैगज़ीन की राय को प्रतिबिंबित करें।
- Bitcoin
- बिटकोइन कोर
- बिटकॉइन नॉट्स
- बिटकॉइन पत्रिका
- blockchain
- ब्लॉकचेन अनुपालन
- ब्लॉकचेन सम्मेलन
- coinbase
- कॉइनजीनियस
- आम राय
- क्रिप्टो सम्मेलन
- क्रिप्टो खनन
- cryptocurrency
- विकेन्द्रीकृत
- Defi
- डिजिटल आस्तियां
- ethereum
- लिबबिटकॉइन
- यंत्र अधिगम
- बिना फन वाला टोकन
- राय
- प्लेटो
- प्लेटो एआई
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- प्लेटोगेमिंग
- बहुभुज
- हिस्सेदारी का प्रमाण
- तकनीकी
- W3
- जेफिरनेट