07 / 736HASH

माइनिंग

Mining

इंतज़ार कर रहे भुगतान पुष्ट ब्लॉक में कैसे पहुँचते हैं, माइनर को किस काम का भुगतान मिलता है और दूसरे लोगों को परिणाम क्यों जाँचना चाहिए।

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

Mining: परिचालन परिणाम मॉडलदी गई हैशरेट, बिजली खपत और पूल फीस पर अपेक्षित ब्लॉक सब्सिडी हिस्से की बिजली लागत से तुलना करें।

माइनिंग कंप्यूटर में छिपे सिक्के खोद निकालना नहीं है। मुकाबला अगला मान्य ब्लॉक प्रस्तावित करने का है: लेनदेन का ऐसा समूह जो पुराने इतिहास को आगे बढ़ाए। माइनर अपने प्रस्ताव के लिए ऐसा गणना परिणाम खोजता है जिसे पाना कठिन हो। सफल होने पर वह ब्लॉक दूसरों को भेजता है। वे गणना और लेनदेन दोनों जाँचते हैं, फिर उन्हीं नियमों के अनुसार तय करते हैं कि ब्लॉक स्वीकार कर सकते हैं या नहीं। नए बिटकॉइन इस काम के पुरस्कार का हिस्सा हैं, लेकिन सिक्के जारी करना माइनिंग का अकेला उद्देश्य नहीं। भुगतान करने वाले के लिए मुख्य बात यह है कि इंतज़ार कर रहा लेनदेन जाँचे जा सकने वाले इतिहास में दर्ज हो जाए। [1] [2]

भुगतान भेजने पर वह पहले नोडों के बीच फैलता है। नोड Bitcoin नेटवर्क में भाग लेने वाला कंप्यूटर है और उसका mempool अपुष्ट लेनदेन का स्थानीय संग्रह है। कोई एक साझा कतार नहीं जिसे कोई सबके लिए चलाता हो। माइनर उपलब्ध लेनदेन से उम्मीदवार ब्लॉक बनाता है और फ़ीस व सीमित जगह का ध्यान रखता है। यदि एक लेनदेन दूसरे अपुष्ट लेनदेन का आउटपुट खर्च करता है, तो उस पहले लेनदेन को उसी ब्लॉक में पहले रखना होगा। getblocktemplate कमांड ब्लॉक बनाने की जानकारी देता है, जिसमें ऐसी निर्भरताएँ भी शामिल हैं। ब्लॉक के भार और हस्ताक्षर जाँच के काम की सीमाएँ भी चयन को सीमित करती हैं। [1]

ब्लॉक का पहला लेनदेन Coinbase Transaction कहलाता है। इसका उसी नाम के एक्सचेंज के खाते से संबंध नहीं है। यह खास लेनदेन है जिससे माइनर खुद को अनुमत पुरस्कार देता है। पुरस्कार में ब्लॉक सब्सिडी, यानी नए बने बिटकॉइन, और ब्लॉक के दूसरे लेनदेन की फ़ीस शामिल होती है। फ़ीस इनपुट और आउटपुट की कुल रकम का अंतर है, इसलिए वह सिर्फ पहले से मौजूद बिटकॉइन स्थानांतरित करती है। माइनर ज़्यादा रकम ले तो नोड पूरा ब्लॉक अस्वीकार कर देते हैं। सही पुरस्कार भी तुरंत खर्च नहीं कर सकते: Coinbase Transaction का आउटपुट सबसे पहले ऐसे ब्लॉक में खर्च हो सकता है जिसकी ऊँचाई मूल ब्लॉक से 100 अधिक हो। [2]

ऐसी लॉटरी सोचिए जिसका विजयी परिणाम किसी को पहले से न पता हो, लेकिन घोषणा के बाद हर कोई जल्दी जाँच सके। माइनर हैश निकालते हैं, जो डेटा का डिजिटल निशान है और जिसे बड़ी संख्या की तरह भी पढ़ सकते हैं। Bitcoin ब्लॉक के लिए यह संख्या target नाम की सीमा से छोटी या बराबर होनी चाहिए। यही Proof of Work की शर्त है। खास तौर पर ब्लॉक की बुनियादी संक्षिप्त जानकारी वाले 80 बाइट के हेडर पर SHA-256 हैश फ़ंक्शन दो बार लागू होता है। माइनर हर भुगतान का अलग उत्तर नहीं खोजता। वह गणना का डेटा बदलकर जाँचता है कि नया परिणाम शर्त पूरी करता है या नहीं। [3]

ASIC किसी निश्चित गणना के लिए बनाई गई चिप है। Bitcoin माइनिंग की ASIC चिप 80 बाइट के हेडर के अलग रूपों पर दोहरा SHA-256 बार-बार निकालती है। बदले जाने वाले डेटा में nonce भी है, जो हेडर में चार बाइट की संख्या है। लेकिन उसका दायरा सीमित है। सभी मान आज़माने के बाद Coinbase Transaction के अतिरिक्त डेटा extra nonce को बदल सकते हैं। इससे लेनदेन का संयुक्त निशान Merkle Root और फिर हेडर बदल जाता है, इसलिए नए उम्मीदवार आज़माए जा सकते हैं। कोई असफल कोशिश मशीन को पक्की जीत के करीब नहीं पहुँचाती। दस मिनट भी किसी एक माइनर से किया वादा नहीं, पूरे नेटवर्क का लक्ष्य औसत है। [3]

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

अकेले माइनर को सफलता के लिए बहुत लंबा इंतज़ार करना पड़ सकता है। Mining Pool कई प्रतिभागियों में काम और आय बाँटने देता है। मशीनों का योगदान आँकने के लिए संचालक ऐसे परिणाम भी स्वीकार करता है जो आसान आंतरिक शर्त पूरी करते हैं। ऐसा परिणाम share कहलाता है। अधिकांश share Bitcoin नेटवर्क के लिए पर्याप्त नहीं होते; कुछ ही उसकी कड़ी शर्त भी पूरी करते हैं। प्रतिभागियों का भुगतान चुने गए वितरण मॉडल, तय शर्तों और पूल की फ़ीस पर निर्भर है। पूल से जुड़ने पर Bitcoin के नियम बदलने का अधिकार नहीं मिलता। संचालक जुड़ी मशीनों का मालिक भी ज़रूरी नहीं; पाए गए ब्लॉकों में उसकी हिस्सेदारी अपने-आप उपकरणों का मालिकाना सिद्ध नहीं करती। [3]

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

Hashrate एक सेकंड में हैश निकालने के प्रयासों की संख्या बताता है। नेटवर्क की कुल गणना शक्ति में माइनर की हिस्सेदारी से सफलता की आवृत्ति का अनुमान लगाया जा सकता है, लेकिन नियमित आय की गारंटी नहीं मिलती। आय और मुनाफ़ा भी अलग हैं: बिजली, ठंडा रखने, उपकरण, रखरखाव और पूल की फ़ीस का खर्च घटाना पड़ता है। मशीन बंद रहने से परिणाम और बिगड़ सकता है। इकाइयों पर भी ध्यान दें: TH/s गणना की क्षमता बताता है, जबकि वाट बिजली की खपत की दर मापता है। महँगी बिजली पर तेज मशीन भी घाटा दे सकती है और एक भाग्यशाली खोज से लंबी अवधि की लाभप्रदता साबित नहीं होती। [3]

अपने नोड पर getblocktemplate के प्रस्ताव की तुलना पाए गए ब्लॉक के हेडर, Coinbase Transaction और सामान्य लेनदेन से कर सकते हैं। getblocktemplate जैसे कमांड नोड के तकनीकी इंटरफ़ेस का हिस्सा हैं, कोई ऐसी सेवा नहीं जिसे पैसा सौंपना हो। submitblock तैयार ब्लॉक को जाँच के लिए नोड तक पहुँचाता है। स्थानीय स्वीकृति यह गारंटी नहीं देती कि ब्लॉक पूरे नेटवर्क के इतिहास में हमेशा रहेगा। पूल के आँकड़ों में तीन बातें अलग रखें: जमा किए गए share, स्वीकार हुए Bitcoin ब्लॉक और वास्तव में चुकाई गई रकम। संचालन लागत के साथ देखने पर ही ये माइनिंग का आर्थिक परिणाम बताते हैं। [5]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Proof of Work, Difficulty Adjustment, Block Subsidy, Transaction Fees, Mempool. इस प्रविष्टि का उल्लेख यहाँ भी है Proof of Work, Difficulty Adjustment, Block Subsidy, Halving.

DOC · 001Bitcoin Core v29.0: block assemblerप्राथमिक स्रोत DOC · 002Bitcoin Core v29.0: block validationप्राथमिक स्रोत DOC · 003Bitcoin Developer Guide: Miningप्राथमिक स्रोत DOC · 004Bitcoin whitepaperप्राथमिक स्रोत DOC · 005BIP 22: getblocktemplateप्राथमिक स्रोत
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है