94 / 736SV2

Stratum V2

माइनर और पूल कैसे बात करते हैं — और लेनदेन कौन चुनता है

Stratum V2 तय करता है कि माइनिंग उपकरण और पूल काम का आदान-प्रदान कैसे करें। यह संचार की रक्षा करता है और सही व्यवस्था होने पर माइनर को ब्लॉक के लेनदेन चुनने देता है।

यह खुले प्रोटोकॉल का समूह है, यानी संदेशों के आदान-प्रदान के नियम। मूल Mining Protocol काम और परिणाम भेजता है; वैकल्पिक Template Distribution और Job Declaration अपना ब्लॉक प्रारूप इस्तेमाल करने देते हैं। केवल V2 से जुड़ना इस क्षमता की गारंटी नहीं है।

ईवा के पास ASIC है, जो Bitcoin माइनिंग के लिए विशेष उपकरण है। उसने इसे एक पूल से जोड़ा है। पूल कई माइनरों के काम में तालमेल बैठाता है और पुरस्कार बाँटता है। मशीनें ऐसा गणना-परिणाम खोजती हैं जिससे नया ब्लॉक, यानी लेनदेन का एक समूह, Bitcoin के इतिहास में जोड़ा जा सके। ईवा चाहती है कि मशीन को सही काम मिले और उसके परिणाम वास्तव में चुने गए पूल तक पहुँचें। आगे वह यह भी तय करना चाहती है कि ब्लॉक में किन लेनदेन को शामिल करने का प्रयास किया जाए। Stratum V2 इन प्रतिभागियों के बीच संचार सँभालता है। Mining Protocol आधार है; Template Distribution और Job Declaration ब्लॉक की जानकारी देने और अपने काम पर सहमति बनाने वाले वैकल्पिक हिस्से हैं। इसलिए V2 बताने वाले दो पूल अलग क्षमताएँ दे सकते हैं। [1] [3]

Stratum V1 ने माइनरों का सहयोग आसान किया, लेकिन उसके सामान्य, बिना एन्क्रिप्शन वाले कनेक्शन में रास्ते में संदेश पढ़े जा सकते थे। लेनदेन भी आम तौर पर पूल चुनता था। 2019 में Braiins के Jan Čapek और Pavel Moravec ने Matt Corallo तथा अन्य डेवलपरों के साथ Stratum V2 पेश किया। उद्देश्य सुरक्षित, अधिक कुशल संचार और माइनरों की अधिक स्वतंत्रता था। विनिर्देश सार्वजनिक हैं और विकास खुले प्रोजेक्ट के रूप में जारी है। इससे Bitcoin ब्लॉक की वैधता के नए नियम नहीं बनते और न ही अधिक कमाई का स्वतः वादा होता है। [8] [6]

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

ईवा को हमेशा माइनिंग उपकरण बदलना जरूरी नहीं। Translation Proxy एक मध्यस्थ प्रोग्राम है, जो पुरानी मशीन से Stratum V1 लेकर पूल की ओर V2 इस्तेमाल कर सकता है। इस दूसरे हिस्से की सुरक्षा ASIC और प्रॉक्सी के बीच मूल संचार को नहीं बदलती। वह हिस्सा V1 ही रहता है और उसे अलग सुरक्षा चाहिए। प्रॉक्सी कई मशीनों को साथ सँभालकर एक ही जानकारी बार-बार भेजना भी कम कर सकता है। केवल प्रोटोकॉल का रूपांतरण होने का अर्थ यह नहीं कि ईवा लेनदेन चुन रही है। उसके लिए अतिरिक्त सुविधाएँ और सहयोग करने वाला पूल चाहिए। [7] [8]

लेनदेन चुनने के लिए ईवा को पहले जानना होगा कि कौन से वैध हैं और नया ब्लॉक किस ब्लॉक के बाद बनेगा। यह जानकारी उसे अपने पूर्ण नोड से मिल सकती है, जो Bitcoin के नियम खुद जाँचता है। Template Provider वह सॉफ्टवेयर है जो ब्लॉक का प्रारूप देता है: भविष्य के ब्लॉक का मसौदा, तैयार ब्लॉक नहीं। वह Bitcoin Core या जरूरी समर्थन वाले किसी अन्य नोड का उपयोग कर सकता है। Template Distribution बार-बार getblocktemplate पूछने के बजाय अपडेट सीधे भेजता है। NewTemplate और SetNewPrevHash प्रारूप तथा पिछले ब्लॉक से उसका संबंध बताते हैं; RequestTransactionData लेनदेन का डेटा माँगता है और SubmitSolution मिला हुआ समाधान वापस भेजता है। [5]

ईवा Job Declarator Client इस्तेमाल करती है। यह प्रोग्राम उसके प्रारूप लेकर Job Declaration का समर्थन करने वाले पूल के साथ उनके उपयोग पर सहमति बनाता है। Full-Template मोड में वह AllocateMiningJobToken से काम का पहचानकर्ता माँगता है, DeclareMiningJob में लेनदेन बताता है और जरूरत पड़ने पर ProvideMissingTransactions का जवाब देता है। फिर माइनिंग सर्वर को SetCustomMiningJob भेजता है। Coinbase-only मोड पहले से लेनदेन सूची उजागर नहीं करता और DeclareMiningJob इस्तेमाल नहीं करता। वह आवंटित पहचानकर्ता और coinbase की जानकारी पर काम करता है; coinbase ब्लॉक पुरस्कार वाला विशेष लेनदेन है। पूल प्रस्ताव ठुकरा सकता है, इसलिए वैकल्पिक कनेक्शन भी महत्वपूर्ण हैं। ब्लॉक में शामिल लेनदेन खुद चुनने से निर्णय अधिक माइनरों में बँट सकते हैं, लेकिन पूल का पुरस्कार देने का दायित्व समाप्त नहीं होता। [4]

ऊपर का उदाहरण संदेशों के नाम याद किए बिना समझा जा सकता है। लेकिन सेटिंग या सॉफ्टवेयर विकास में सही प्रारूप महत्वपूर्ण होता है। V2 डेटा बाइनरी रूप में भेजता है, यानी मशीनों के लिए तय निरूपण में। संदेश का हेडर 6 बाइट का है; extension_type, msg_type और msg_length विस्तार, संदेश का प्रकार तथा सामग्री की लंबाई बताते हैं। क्रिप्टोग्राफिक संचार स्थापित होने के बाद पहला प्रोटोकॉल संदेश SetupConnection होता है। वह प्रोटोकॉल, संस्करण और जरूरी सुविधाओं पर सहमति बनाता है। SetupConnection.Success सफलता की पुष्टि करता है। सेवा पर V2 लिखे होने से वास्तविक प्रोग्रामों के बीच यह सहमति अपने आप नहीं बन जाती। [1]

चैनल एक कनेक्शन के भीतर अलग माइनिंग सत्र है, कोई दूसरा ब्लॉकचेन या भुगतान चैनल नहीं। Standard Channel ब्लॉक हेडर पर काम देता है; हेडर ब्लॉक डेटा का छोटा सार होता है। Extended Channel मध्यस्थ को extranonce के जरिए संभावित प्रयासों का बड़ा क्षेत्र बाँटने देता है। Extranonce coinbase लेनदेन का बदलने योग्य हिस्सा है। Group Channel कई चैनलों को एक साथ काम पहुँचाने में मदद करता है। OpenStandardMiningChannel और OpenExtendedMiningChannel संबंधित सत्र खोलते हैं। व्यावहारिक कारण सरल है: दो मशीनें बिल्कुल समान संभावनाएँ आजमाएँगी तो एक ही काम पर बिजली खर्च करेंगी। [3]

पूल को ईवा का योगदान लगातार मापना होता है। Mining share ऐसा परिणाम है जो दी गई कठिनाई की सीमा पूरी करता है। अधिकांश shares ब्लॉक के लिए नेटवर्क की अधिक कड़ी सीमा पूरी नहीं करते, लेकिन कुछ कर सकते हैं। NewMiningJob या NewExtendedMiningJob काम देता है, SetNewPrevHash पिछले ब्लॉक से संबंध सक्रिय करता है और SetTarget चैनल की सीमा तय करता है। SubmitSharesStandard या SubmitSharesExtended परिणाम भेजता है, जिसमें काम का पहचानकर्ता, क्रम संख्या और हेडर के बदले हुए डेटा होते हैं। परिणाम स्वीकार होने का अर्थ अभी वॉलेट में भुगतान नहीं है। पूल का पुरस्कार और Bitcoin के नियमों के अनुसार ब्लॉक की वैधता अलग विषय हैं। [3]

पहले वह अपने उपकरण, प्रोग्राम और चुने गए पूल का समर्थन जाँचती है। फिर पता करती है कि कनेक्शन का कौन सा हिस्सा सुरक्षित है, सत्यापन कुंजी कहाँ से मिली और उसे केवल सुरक्षित संचार चाहिए या ब्लॉक में शामिल किए जाने वाले लेनदेन भी खुद चुनने हैं। दूसरे लक्ष्य के लिए काम करने वाले Template Provider, Job Declarator Client और पूल का उपयुक्त समर्थन जरूरी है। वह देरी, अस्वीकृत या पुराने shares, त्रुटि विवरण और बाधा आने पर व्यवहार देखती है। निर्देश इस्तेमाल किए जा रहे संस्करण से मेल खाने चाहिए। Stratum V2 माइनिंग का तालमेल सुधार सकता है; यह उपकरणों के सुरक्षित प्रबंधन की जगह नहीं लेता और पूर्ण नोड के Bitcoin जाँचने के नियम नहीं बदलता। [6] [7]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Bitcoin, माइनिंग, Mining Pool, Braiins, Braiins Pool, ASIC Miner. इस प्रविष्टि का उल्लेख यहाँ भी है ASIC Miner, Mining Pool, Nonce, Marek ‘Slush’ Palatinus.

DOC · 001Stratum V2 — Protocol Overviewप्राथमिक स्रोत DOC · 002Stratum V2 — Protocol Securityप्राथमिक स्रोत DOC · 003Stratum V2 — Mining Protocolप्राथमिक स्रोत DOC · 004Stratum V2 — Job Declaration Protocolप्राथमिक स्रोत DOC · 005Stratum V2 — Template Distribution Protocolप्राथमिक स्रोत DOC · 006Stratum V2 specification repositoryप्राथमिक स्रोत DOC · 007Stratum Reference Implementation librariesदस्तावेज़ DOC · 008Braiins — Past and future of mining protocolsप्राथमिक स्रोत DOC · 009Bitcoin Optech — Stratum V2 topicदस्तावेज़ DOC · 010Noise Protocol Frameworkदस्तावेज़ DOC · 011Galaxy Research — Future of Bitcoin mining protocolsदस्तावेज़
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है