Nakamoto Consensus उस तरीके का नाम है जिससे Bitcoin केंद्रीय निर्णायक के बिना लेनदेन का साझा, वैध इतिहास बनाता है। Full Node, यानी नियमों की स्वतंत्र जाँच करने वाला प्रोग्राम चलाता कंप्यूटर, पहले अमान्य ब्लॉक हटाता है। फिर वैध शाखाओं में सबसे अधिक संचित कार्य वाली शाखा चुनता है। कुछ सुरक्षा मान्यताओं के तहत आगे की पुष्टियाँ भुगतान पर भरोसा बढ़ाती हैं, लेकिन उसे तुरंत अपरिवर्तनीय नहीं बनातीं।
अन्ना पीटर को भुगतान भेजती है। वह उन्हीं पैसों को ईवा के नाम खर्च करने वाले दूसरे लेनदेन पर भी हस्ताक्षर कर सकती है। यहाँ हस्ताक्षर करने का मतलब निजी कुंजी, यानी एक गुप्त संख्यात्मक मान, से भुगतान की अनुमति का जाँचा जा सकने वाला प्रमाण बनाना है। बाकी लोग वह गुप्त मान जाने बिना हस्ताक्षर जाँच सकते हैं। दोनों हस्ताक्षर असली हो सकते हैं, फिर भी दोनों भुगतान एक वैध इतिहास में नहीं समा सकते। पीटर और ईवा को संदेश उलटे क्रम में भी मिल सकते हैं। इसलिए Bitcoin को हस्ताक्षर जाँचने से आगे बढ़कर क्रम पर सहमति बनाने और दोहरे खर्च को रोकने का तरीका चाहिए। Nakamoto Consensus नियमों, Proof of Work, शाखा चयन और माइनरों के पुरस्कारों को जोड़ता है। Bitcoin का मूल तकनीकी विवरण देने वाले सातोशी के श्वेतपत्र में बाद में पड़ा यह नाम नहीं है। [1] [4]
पीटर का Full Node कोई मतपत्र नहीं है। ब्लॉक लेनदेन का एक समूह है, जो साझा इतिहास में जोड़ा जाता है। लेनदेन का आउटपुट किसी रकम और उसे बाद में खर्च करने की शर्तों का रिकॉर्ड होता है। Full Node प्रोग्राम लेनदेन और ब्लॉक की खुद जाँच करता है: क्या खर्च किए जाने वाले आउटपुट अभी तक खर्च नहीं हुए हैं, क्या उनकी खर्च की शर्तें पूरी हैं, और क्या नए bitcoin अनुमत मात्रा से अधिक तो नहीं बन रहे? माइनर ब्लॉक प्रस्तावित कर सकता है, पर जाँचों को मनमाने ढंग से पार नहीं कर सकता। भारी कार्य के बाद भी अमान्य ब्लॉक अमान्य ही रहता है। शाखाओं की तुलना केवल वैध विकल्पों में होती है; साझा इतिहास के लिए प्रतिभागियों के नियम संगत होने चाहिए। [2] [3]
यदि हर जुड़े कंप्यूटर को एक मत मिलता, तो हमलावर बहुत से ऐसे प्रतिभागी बना सकता जो स्वतंत्र दिखाई दें। इसे Sybil Attack कहते हैं। Proof of Work नाम गिनने के बजाय शाखा का भार ऐसे गणनात्मक कार्य से जोड़ता है जिसे जाँचा जा सके। माइनर बार-बार हैश, यानी डेटा के डिजिटल निशान, निकालकर निर्धारित शर्त पूरी करने वाला परिणाम खोजते हैं। कोशिशों में ऊर्जा और उपकरण लगते हैं, लेकिन मिले परिणाम की जाँच आसान है। बहुत सी नेटवर्क पहचानें अपने आप कार्य नहीं बढ़ातीं। यह पहचान-पत्र जाँचना या सभी नोडों का मतदान नहीं है। [1] [4]
माइनर उम्मीदवार ब्लॉक बनाकर उसके हेडर, यानी संक्षिप्त सार, का डेटा बदलता है। लक्ष्य ऐसा हैश खोजना है जिसका संख्यात्मक मान वैध लक्ष्य से कम या बराबर हो। वह उपयोगी समीकरण नहीं सुलझा रहा, न एन्क्रिप्शन तोड़ रहा है; उसे दुर्लभ परिणाम चाहिए। दो माइनर लगभग साथ सफल हो सकते हैं। नेटवर्क का एक हिस्सा पहले एक ब्लॉक देखता है, दूसरा हिस्सा दूसरा; कुछ समय के लिए दो वैध शाखाएँ बनती हैं। यह अपने आप में खराबी नहीं है। सामान्य ब्लॉक प्रसार में आगे का कार्य नोडों को अधिक मजबूत साझा शाखा पर आने देता है। [1] [8]
शाखा की ताकत chainwork से मापी जाती है: हर ब्लॉक के लक्ष्य से तय कार्य का कुल जोड़। यह बिजली का मीटर या वास्तव में की गई कोशिशों का हिसाब नहीं है। एक माइनर तुरंत भाग्यशाली हो सकता है और दूसरा देर तक इंतजार करे; समान लक्ष्य पर उनके वैध ब्लॉकों का भार बराबर होता है। Full Node उपलब्ध वैध शाखाओं में सबसे अधिक कुल कार्य वाली चुनता है। इसलिए ‘सबसे लंबी श्रृंखला’ का अर्थ सबसे अधिक कार्य है, जरूरी नहीं सबसे अधिक ब्लॉक। शाखा बदलना पुनर्गठन कहलाता है; छोड़े गए ब्लॉक का भुगतान वैध रहने पर फिर शामिल हो सकता है। [1] [2] [3] [7]
अन्ना का भुगतान स्वीकृत ब्लॉक में आते ही उसे एक पुष्टि मिलती है। उसके बाद का हर ब्लॉक एक और जोड़ता है। इतिहास बदलने के लिए प्रतिस्पर्धी शाखा को उसके कार्य की बराबरी करनी होगी। ईमानदार गणना शक्ति के बहुमत और पर्याप्त तेज ब्लॉक प्रसार की मान्यता में गहराई बढ़ने पर सफल पुनर्लेखन का जोखिम सामान्यतः घटता है। यही संभाव्य अंतिमता है: भरोसा बढ़ता है, बदलाव गणितीय रूप से असंभव नहीं होता। पीटर कितनी पुष्टियाँ चाहेगा, यह भुगतान की रकम और जोखिम पर भी निर्भर है। कोई एक संख्या हर परिस्थिति में सुरक्षा की गारंटी नहीं देती। [1] [4]
तेज मशीनें आने के बाद भी शर्त वही रहे, तो ब्लॉक जल्दी बनेंगे। इसलिए मुख्य नेटवर्क में Difficulty Adjustment पिछले समय-चिह्नों के आधार पर हर 2016 ब्लॉक पर लक्ष्य फिर निकालता है। उद्देश्य औसतन दस मिनट में एक ब्लॉक, यानी इस हिस्से के लिए लगभग दो सप्ताह है। कोई अकेला ब्लॉक बहुत पहले या बाद में आ सकता है। बदलाव ब्लॉकों की गिनती से शुरू होता है, कैलेंडर की तारीख से नहीं। बहुत सी शक्ति अचानक हट जाए तो अगले समायोजन तक पहुँचने में अधिक समय लग सकता है। यह तुरंत प्रतिक्रिया देने वाला नियामक या सटीक घड़ी नहीं है। [2] [8]
नए जारी bitcoin, यानी ब्लॉक सब्सिडी, और लेनदेन शुल्क माइनरों को उन ब्लॉकों का पुरस्कार देते हैं जो स्वीकृत इतिहास में रहते हैं। इससे इतिहास बढ़ाने की प्रेरणा मिलती है, लेकिन सुरक्षा मान्यताओं की जरूरत खत्म नहीं होती। बहुमत गणना शक्ति वैध शाखाएँ पुनर्गठित कर सकती है, भुगतान छोड़ सकती है और अपना खर्च पलटने की कोशिश कर सकती है। लेकिन Full Node को अमान्य हस्ताक्षर, अतिरिक्त जारी सिक्के या बिना अनुमति दूसरों का पैसा खर्च करना स्वीकारने पर मजबूर नहीं कर सकती। 50% भी सुरक्षा का स्विच नहीं है: कुछ हमलों की संभावना उसके नीचे भी रहती है। केवल पुरस्कार से ईमानदारी नहीं बनती। [1] [2] [3]
पीटर के उदाहरण पर लौटें। हमलावर उसके नोड के सभी कनेक्शन नियंत्रित कर ले, तो उसे घटनाओं की अधूरी तस्वीर दिखा सकता है। Eclipse Attack इसी नेटवर्क अलगाव को कहते हैं। तब पुष्टि की गिनती का अर्थ बाकी नेटवर्क से अच्छे संपर्क वाली स्थिति जैसा जरूरी नहीं रहता। नेटवर्क के अलग-अलग कटे हिस्से भी सहमति कठिन बनाते हैं। इसलिए सुरक्षा हमलावर की शक्ति के हिस्से के साथ संदेश प्रसार और ईमानदार जाँच पर निर्भर है। Bitcoin Backbone शोध इन शर्तों को स्पष्ट रूप से मॉडल करता है। नेटवर्क की स्थितियाँ बताए बिना केवल शक्ति का प्रतिशत सुरक्षा का पूरा वर्णन नहीं है। [4]
पारंपरिक BFT (Byzantine Fault Tolerance) तरीके खराब या दुर्भावनापूर्ण प्रतिभागियों के रहते भी सहमति खोजते हैं और अक्सर पहले से ज्ञात समूह मानकर चलते हैं। OM (Oral Messages) और PBFT (Practical Byzantine Fault Tolerance) जैसे उदाहरणों की अपनी शर्तें और संदेश विनिमय के नियम हैं। Bitcoin खुली भागीदारी को कार्य और इतिहास के संभाव्य स्थिरीकरण से संभालता है; यह उन्हीं तरीकों का नया नाम नहीं है। मजबूत वैध शाखा चुनने से वैधता के नियम भी अपने आप नहीं बदलते। नियम बदलने के लिए प्रतिभागियों को संबंधित सॉफ्टवेयर और संगत शर्तें अपनानी होती हैं। माइनर तय करने में मदद करते हैं कि कौन-सा वैध इतिहास आगे बढ़े, यह नहीं कि सभी को क्या वैध मानना होगा। [5] [6] [9]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Bitcoin, Proof of Work, Difficulty Adjustment, सहमति के नियम, माइनिंग, Full Node. इस प्रविष्टि का उल्लेख यहाँ भी है Bit Gold, Reusable Proofs of Work, Byzantine Generals Problem, Sybil Attack.