06 / 736PoW

Proof of Work

गणनात्मक कार्य प्रमाण

वह व्यवस्था जिसमें Bitcoin बिजली और गणना शक्ति को आसानी से जाँचे जा सकने वाले प्रमाण में बदलता है और संचित कार्य से वैध ब्लॉक इतिहास को क्रम देता है।

Proof of Work वह तरीका है जिससे Bitcoin में ब्लॉक बनाना खर्चीला, लेकिन उसकी जाँच आसान होती है। माइनर ऐसे हिसाब बार-बार करके प्रतिस्पर्धा करते हैं जिनका परिणाम पहले से नहीं बता सकते। वे ब्लॉक के हेडर का हैश, यानी डिजिटल निशान, खोजते हैं जिसका संख्यात्मक मान target नाम की सीमा से अधिक न हो। सफल परिणाम को दूसरे लोग जल्दी जाँच सकते हैं। Bitcoin के नियम खुद जाँचने वाला कंप्यूटर, Full Node, लेनदेन को अलग से भी परखता है: केवल काम का प्रमाण मिलना ब्लॉक के मान्य होने के लिए पर्याप्त नहीं है।

एक ऐसी लॉटरी सोचिए जिसमें विजयी टिकट को पहले से किसी चतुर सूत्र से नहीं निकाला जा सकता। माइनर उम्मीदवार ब्लॉक का डेटा बार-बार बदलते और hash निकालते हैं। लगभग सभी परिणाम असफल होते हैं। केवल वह hash जिसका संख्यात्मक मूल्य मौजूदा target से छोटा या बराबर हो, ब्लॉक का Proof of Work बन सकता है। उसे खोजना कठिन है लेकिन कोई भी जल्दी जाँच सकता है। Bitcoin सामान्य अर्थ में उपयोगी गणना का प्रमाण नहीं देता; वह दिखाता है कि किसी खास Block Header के लिए महँगी खोज की गई। [1] [2]

Block Header में ब्लॉक की बुनियादी जानकारी होती है और Merkle Root उसके लेनदेन का संयुक्त डिजिटल निशान है। Nonce वह संख्या है जिसे माइनर खोज के दौरान बदल सकता है। ASIC किसी खास गणना के लिए बनी चिप है; यहाँ वह SHA-256 हैश फ़ंक्शन का बार-बार उपयोग करती है। माइनर पहले उम्मीदवार ब्लॉक बनाता है: लेनदेन चुनता, पुरस्कार वाली Coinbase Transaction बनाता और Merkle Root निकालता है। ये मूल्य, पिछले ब्लॉक का संदर्भ, समय, target और nonce मिलकर Block Header बनाते हैं। विशेष ASIC कई रूपों का दोहरा SHA-256 निकालता है। यह ऐसी पहेली नहीं जिसमें हर कदम उत्तर के पास ले जाए। हर प्रयास नया यादृच्छिक जैसा परिणाम देता है और पिछली असफलता अगली सफलता के बारे में कुछ नहीं बताती। [3] [1]

Hash को बहुत बड़ी संख्या की तरह पढ़ा जा सकता है। नेटवर्क target वह सबसे बड़ा मूल्य है जिसे नियम अनुमति देते हैं। Target जितना कम, संभव हैश मानों में सफल भाग उतना कम और अपेक्षित प्रयास उतने अधिक। nBits target को header में संक्षिप्त रूप से रखता है। Difficulty केवल लक्ष्य की कठिनाई का सापेक्ष माप है। वह शून्यों की संख्या, जूल की मात्रा या किसी माइनर के प्रदर्शन का प्रतिशत नहीं। ब्लॉक तुरंत भी मिल सकता है और देर से भी; नियम परिणाम तय करते हैं, वास्तविक प्रयासों की संख्या नहीं। [2] [1]

Block Header का nonce केवल चार बाइट का है, इसलिए तेज ASIC पूरा दायरा जाँचकर भी असफल हो सकता है। Mining एक संख्या को अनंत तक बढ़ाना नहीं है। सॉफ्टवेयर Coinbase Transaction के extra nonce, लेनदेन के चयन या क्रम और दूसरे अनुमत डेटा को बदल सकता है। इससे Coinbase Transaction, Merkle Root और पूरा header बदलकर नए उम्मीदवार बनते हैं। Pool अलग-अलग उपकरणों को अलग काम देता है ताकि वे एक ही रूप न जाँचें। [3]

Target से छोटा या बराबर हैश एक आवश्यक शर्त पूरी करता है, Bitcoin के सारे नियम नहीं। Full Node ब्लॉक का आकार, संरचना, पिछले ब्लॉकों से संबंध, Coinbase Transaction, अनुमत पुरस्कार, हस्ताक्षर और स्क्रिप्ट भी जाँचता है। वह यह भी देखता है कि इनपुट जिन रकमों का संदर्भ देते हैं, वे मौजूद हैं और पहले खर्च नहीं हुई हैं। महँगी गणना दूसरों को अतिरिक्त bitcoin या दोहरा खर्च स्वीकारने पर मजबूर नहीं कर सकती। अमान्य ब्लॉक ऊर्जा खर्च होने के बावजूद अमान्य ही रहता है। उलटे, वैध लेनदेन वाला उम्मीदवार भी पर्याप्त Proof of Work बिना सक्रिय शृंखला नहीं बढ़ा सकता। [4] [1]

दो माइनर लगभग साथ एक height पर अलग वैध ब्लॉक प्रकाशित कर सकते हैं और थोड़ी देर दो शाखाएँ रहती हैं। वैध उम्मीदवारों में नोड सबसे अधिक संचित कार्य वाली शाखा चुनते हैं, जिसे Bitcoin Core chainwork कहता है। अलग target मानों पर बने ब्लॉकों में यह केवल ब्लॉक संख्या नहीं। पुष्ट भुगतान बदलने के लिए वैकल्पिक वैध इतिहास बनाकर सामान्य शाखा के लगातार बढ़ते कार्य को पकड़ना और पार करना पड़ता है। अधिक पुष्टियाँ आम तौर पर हमले की लागत बढ़ाती हैं, पर तुरंत गणितीय अपरिवर्तनीयता नहीं बनातीं। [5] [1]

Hashrate बताता है कि एक सेकंड में हैश निकालने के कितने प्रयास होते हैं। Target स्थिर रहे तो बढ़ता Hashrate ब्लॉकों को तेज और घटती शक्ति उन्हें धीमा करेगी। इसलिए Bitcoin mainnet हर 2,016 ब्लॉक के अंतराल बाद target दोबारा निकालता है, ताकि लंबे समय का औसत लगभग दस मिनट रहे। वह वास्तविक अवधि की तुलना तय दो सप्ताह से करता और बदलाव को प्रोटोकॉल सीमा में रखता है। Retarget BTC कीमत, उपयोगकर्ता संख्या या नियमों पर माइनर वोट से सीधे नहीं चलता। दस मिनट लक्ष्य औसत है, अगले ब्लॉक का समय नहीं। [2]

अकेला माइनर वैध ब्लॉक के लिए बहुत प्रतीक्षा कर सकता है, इसलिए कई मशीनें mining pool से काम करती हैं। Pool आसान आंतरिक share target रखकर जमा shares से योगदान का अनुमान लगाता है। अधिकांश shares कड़े नेटवर्क target तक नहीं पहुँचते और Blockchain में नहीं जाते। जब कोई परिणाम नेटवर्क target भी पूरा करे, pool पूरा उम्मीदवार ब्लॉक प्रसारित करता है। स्वीकार करने का निर्णय pool या उसके Hashrate का आकार नहीं, हर नोड की स्वतंत्र जाँच करती है। [3]

भौतिक उपकरण खोज के समय बिजली लेते और गर्मी छोड़ते हैं, पर Bitcoin ब्लॉक में ऊर्जा की रसीद नहीं रखता। विजयी hash सही प्रयास संख्या, किलोवाट-घंटे, बिजली स्रोत या स्थान नहीं बताता। Proof of Work इतिहास को आर्थिक रक्षा देता है क्योंकि नए प्रयासों की वास्तविक लागत है, लेकिन अधिक खपत अपने-आप पूर्ण सुरक्षा या स्वच्छ संचालन नहीं। सुरक्षा में जाँच, Hashrate वितरण और खतरा देखना चाहिए; ऊर्जा प्रभाव में स्रोत, समय, दक्षता और वैकल्पिक उपयोग। [1] [2]

Full Node हर ब्लॉक का पिछला hash, nBits, निकला target और header hash स्वतंत्र रूप से जाँचता है। ब्लॉक डेटा से height, difficulty और chainwork की तुलना हो सकती है, लेकिन विजयी hash पहचान या सटीक ऊर्जा नहीं बताता। ‘छह पुष्टियों के बाद सुरक्षित’ कथन के लिए राशि, विरोधी क्षमता, कार्य वितरण और प्रतीक्षा का संदर्भ चाहिए। Proof of Work विपणन नाम या नियमों पर माइनर वोट नहीं, बल्कि वैध इतिहास चुनने की स्पष्ट और आसानी से जाँची जाने वाली शर्त है। [2] [3] [5]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें माइनिंग, Difficulty Adjustment, Timechain / Blockchain, Full Node, Block Subsidy. इस प्रविष्टि का उल्लेख यहाँ भी है Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Timechain / Blockchain.

DOC · 001Bitcoin whitepaperप्राथमिक स्रोत DOC · 002Bitcoin Core v29.0: Proof of Workप्राथमिक स्रोत DOC · 003Bitcoin Developer Guide: Miningदस्तावेज़ DOC · 004Bitcoin Core v29.0: block validationप्राथमिक स्रोत DOC · 005Bitcoin Core v29.0: chainworkप्राथमिक स्रोत
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है