SHA256 पर सिक्के। बिटकॉइन एन्क्रिप्शन एल्गोरिदम क्या है? बिटकॉइन हैशिंग एल्गोरिदम की कमजोरियां और ताकत

SHA 256 हैशिंग फ़ंक्शन ने दुनिया की पहली क्रिप्टोकरेंसी - बिटकॉइन और कई altcoins का आधार बनाया। क्या आप जानते हैं कि इसे क्रिप्टोकरेंसी के आगमन से बहुत पहले बनाया गया था और इसका उद्देश्य पूरी तरह से अलग उद्देश्यों के लिए था? आज हम एल्गोरिदम के इतिहास, इसके संचालन के सिद्धांत, वर्तमान समस्याओं और कौन सी क्रिप्टोकरेंसी SHA256 का उपयोग करते हैं, इस पर नज़र डालेंगे।

कहानी

एल्गोरिथम का नाम SHA 256 सिक्योर हैशिंग एल्गोरिथम का संक्षिप्त रूप है। डेवलपर ने इसे यही कहा - अमेरिकी राष्ट्रीय सुरक्षा एजेंसी। एल्गोरिथम एक हैशिंग फ़ंक्शन है. इसका मतलब यह है कि इसका इनपुट मनमानी लंबाई के डेटा की मात्रा है, और आउटपुट एक निश्चित लंबाई के वर्णों का एक सेट है, जिसे हैश कहा जाता है।

हैश हैशिंग फ़ंक्शन की प्रमुख विशेषताओं में से एक अपरिवर्तनीयता है। हम फ़ंक्शन के माध्यम से मूल डेटा पास करके हैश प्राप्त कर सकते हैं, लेकिन हैश जानने के बाद, हम मूल डेटा प्राप्त नहीं कर पाएंगे। इस संपत्ति के लिए धन्यवाद, फ़ंक्शन विभिन्न सेवाओं और अनुप्रयोगों में व्यापक हो गया है जहां डेटा सुरक्षा की आवश्यकता होती है। इंटरनेट पर साइटों पर जाते समय हर दिन हम SHA 256 एल्गोरिदम का उपयोग करते हैं। इसमें एक एसएसएल सुरक्षा प्रमाणपत्र शामिल है, जो साइट से सुरक्षित कनेक्शन स्थापित करने के लिए आवश्यक है।


एल्गोरिदम SHA-2 परिवार का हिस्सा है, जिसे SHA-1 के आधार पर विकसित किया गया है, जो 1995 में सामने आया था। अपनी स्थापना के बाद से, sha256 को क्रिप्टोएनालिसिस का उपयोग करके इसकी ताकत के लिए बड़े पैमाने पर परीक्षण किया गया है। क्रिप्टोनालिसिस दो मुख्य प्रकार के हमलों के लिए हैश फ़ंक्शन के प्रतिरोध का परीक्षण करता है:
  • टकराव ढूँढना - विभिन्न इनपुट मापदंडों के साथ समान हैश का पता लगाना। इस हमले की सफलता दर वर्तमान एल्गोरिदम का उपयोग करके डिजिटल हस्ताक्षर की सुरक्षा से समझौता करती है।
  • प्रीइमेज ढूँढना उसके हैश का उपयोग करके मूल संदेश को डिक्रिप्ट करने की क्षमता है। यह हमला प्रमाणीकरण पासवर्ड हैश संग्रहीत करने की सुरक्षा से समझौता करता है।

विश्लेषण का परीक्षण पहली बार 2003 में किया गया था, लेकिन तब कोई कमज़ोरियाँ नहीं पाई गईं। जैसे-जैसे समय बीतता गया, कंप्यूटिंग शक्ति विकसित होती गई। 2008 में, पुनरावृत्तियों SHA-512 और SHA-256 के लिए टकराव पाए गए। उसी वर्ष सितंबर में, SHA256 के 31 पुनरावृत्तियों और SHA-512 के 27 पुनरावृत्तियों के लिए टकराव पैदा करने की एक विधि विकसित की गई थी।

जाहिर है, एक नया क्रिप्टो-प्रतिरोधी फ़ंक्शन विकसित करने का समय आ गया है। 2012 में, NSA ने SHA-3 का आविष्कार किया। धीरे-धीरे, अद्यतन एल्गोरिदम अपने कम क्रिप्टो-प्रतिरोधी पूर्ववर्तियों को विस्थापित कर देगा।

SHA 256 पर खनन

अमेरिकी कानून कुछ संघीय गैर-गुप्त सूचना सुरक्षा अनुप्रयोगों में अन्य प्रोटोकॉल और एल्गोरिदम के हिस्से के रूप में SHA और समान हैश फ़ंक्शन के उपयोग की अनुमति देता है। SHA-2 का उपयोग निजी और वाणिज्यिक संगठनों द्वारा किया जा सकता है।

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

  • सीपीयू (सेंट्रल प्रोसेसिंग यूनिट);
  • जीपीयू (वीडियो कार्ड);
  • ASIC (एप्लिकेशन विशिष्ट डिवाइस)।

बिटकॉइन नेटवर्क को इस तरह से डिज़ाइन किया गया है कि प्रत्येक नए ब्लॉक को हर 10 मिनट में एक बार पाया जाना चाहिए। नेटवर्क प्रतिभागियों की संख्या लगातार बदल रही है, लेकिन समय स्थिर रहना चाहिए। समान निवास समय सुनिश्चित करने के लिए, सिस्टम खनिकों की संख्या के आधार पर कम्प्यूटेशनल कठिनाई को समायोजित करता है। क्रिप्टोकरेंसी ने हाल ही में लोकप्रियता हासिल की है, और खनिकों की संख्या में नाटकीय रूप से वृद्धि हुई है। ब्लॉकों को बहुत जल्दी खोजने से रोकने के लिए, गणना की जटिलता भी बढ़ गई।


बिटकॉइन का खनन प्रोसेसर पर किया जाने लगा। फिर, जब उनकी शक्ति अपर्याप्त हो गई, तो उन्होंने वीडियो कार्ड का उपयोग करना शुरू कर दिया। जल्द ही वीडियो कार्ड अब सामना नहीं कर सके। फिर ASIC का आविष्कार किया गया - sha 256 एल्गोरिथ्म का उपयोग करके गणना के लिए डिज़ाइन किए गए विशेष उपकरण। एक ASIC कई वीडियो कार्डों की तुलना में बहुत अधिक शक्तिशाली और ऊर्जा कुशल है।

उद्यमी खनिक ASIC से विशाल फार्म बना रहे हैं। उपकरण की उच्च लागत के अलावा, ऐसे फार्म को हर महीने कई दसियों हज़ार डॉलर का बिजली बिल प्राप्त होता है। अब बिटकॉइन खनन केवल ऐसे औद्योगिक फार्मों पर ही समझ में आता है; एक घरेलू कंप्यूटर या यहां तक ​​कि कई वीडियो कार्ड वाला एक फार्म भी उनके साथ प्रतिस्पर्धा करने में सक्षम नहीं होगा, और यहां तक ​​कि बिजली की भरपाई भी नहीं कर पाएगा।

हालाँकि, इसकी गणना करना आसान है। SHA256 पर खनन की लाभप्रदता की गणना करने के लिए कैलकुलेटर मौजूद हैं। उदाहरण के लिए, https://www.coinwarz.com/miningprofitability/sha-256। फॉर्म में अपने उपकरण की हैशरेट (कंप्यूटिंग पावर), ऊर्जा खपत और इसकी लागत दर्ज करें, सेवा आपके लाभ की गणना करेगी।

Altcoins SHA-256

आइए शा 256 पर काम करने वाली क्रिप्टोकरेंसी की सूची और सूची देखें।

बिटकॉइन कैश (BCH)

1 अगस्त 2017 को इससे अलग हो गए. क्लासिक बिटकॉइन में ब्लॉक का आकार 1 एमबी है। नेटवर्क इतना बढ़ गया है कि सभी लेनदेन अब एक ब्लॉक में फिट नहीं हो सकते। इससे लेन-देन की कतारें लगने लगीं और भुगतान करने के लिए शुल्क में वृद्धि हुई। समुदाय ने एक नया प्रोटोकॉल पेश करने का निर्णय लिया, जिसके अनुसार ब्लॉक को 2 एमबी तक बढ़ा दिया गया, कुछ जानकारी ब्लॉकचेन के बाहर संग्रहीत की जाने लगी, और जटिलता की पुनर्गणना की समय सीमा दो सप्ताह से घटाकर एक दिन कर दी गई।

नेमकॉइन (एनएमसी)

यह बिटकॉइन तकनीक पर आधारित नाम-मूल्य संयोजनों को संग्रहीत और प्रसारित करने की एक प्रणाली है। इसका सबसे प्रसिद्ध अनुप्रयोग डोमेन नाम वितरण प्रणाली है, जो आईसीएएनएन से स्वतंत्र है और इसलिए डोमेन पुनर्ग्रहण को असंभव बना देता है। नेमकॉइन को 2011 में लॉन्च किया गया था, यह बिटकॉइन माइनिंग सॉफ्टवेयर पर चलता है जो उस सर्वर पर भेजा जाता है जहां नेमकॉइन चलता है।

डिजीबाइट (डीजीबी)

बिटकॉइन और लाइटकॉइन के प्रदर्शन में सुधार के लक्ष्य के साथ 2013 में एक क्रिप्टोकरेंसी लॉन्च की गई। डिजीबाइट अंतर:

  • जारी किए गए सिक्कों की बड़ी संख्या (21 अरब तक) के कारण कम अस्थिरता हासिल की जाती है, जो उनकी कम लागत और गणना में उपयोग में आसानी सुनिश्चित करती है;
  • हर दो साल में ब्लॉक का आकार दोगुना करके तेज़ लेनदेन;
  • कम कमीशन या कोई कमीशन नहीं;
  • खनन प्रक्रिया को पांच एल्गोरिदम में विभाजित किया गया है जो आपको एक-दूसरे से स्वतंत्र रूप से सिक्के निकालने की अनुमति देता है। आप SHA-256 और स्क्रीप्ट के लिए ASIC, ग्रोस्टल और स्केन के लिए वीडियो कार्ड और क्यूबिट के लिए एक प्रोसेसर का उपयोग कर सकते हैं।

SHA 256 एल्गोरिथम क्रिप्टोकरेंसी में सबसे आम है। यह बिटकॉइन की लोकप्रियता और सफलता और इसी तरह के सिक्के बनाने की altcoin डेवलपर्स की इच्छा के कारण हुआ था। कम्प्यूटेशनल जटिलता में वृद्धि ने खनिकों को अधिक कुशलता से खनन करने के तरीकों की तलाश करने के लिए प्रेरित किया, जिसके परिणामस्वरूप ASIC का उदय हुआ।


बिटकॉइन एन्क्रिप्शन SHA-256 पर आधारित है, एक विशेष एल्गोरिदम जो प्रोग्राम कोड का हिस्सा है। इसका कार्य इनपुट डेटा को वर्णों के एक विशिष्ट सेट (वर्णमाला और संख्यात्मक प्रतिनिधित्व में) में परिवर्तित करना और जानकारी की सुरक्षा करना है। ऐसी क्रियाओं को हैशिंग कहा जाता है. इस एल्गोरिथम की सूक्ष्मताएँ क्या हैं? इसकी आवश्यकता क्यों है और यह कैसे काम करता है? फायदे और नुकसान क्या हैं? हम इन और कई अन्य बिंदुओं पर विस्तार से विचार करेंगे।

बिटकॉइन में कौन सा एन्क्रिप्शन एल्गोरिदम है और इसका उपयोग कहां किया जाता है?

क्रिप्टोकरेंसी, इसके संचालन और खनन की विशेषताओं पर चर्चा करते समय, क्रिप्टो नेटवर्क में प्रतिभागियों को अनिवार्य रूप से बिटकॉइन एन्क्रिप्शन एल्गोरिथ्म जैसी व्यापक परिभाषा का सामना करना पड़ता है। जिस दिन से BTC विकसित हुआ था उस दिन से आज (13 अगस्त, 2018) तक, SHA-256 का उपयोग किया गया है, जो बिटकॉइन नेटवर्क में निम्नलिखित समस्याओं को हल करने के लिए आवश्यक है:

  1. बीटीसी पतों का निर्माण (लेनदेन के लिए प्रयुक्त)।
  2. खनन (कार्य का प्रमाण)।
  3. सुरक्षा और गुमनामी की आवश्यक डिग्री प्राप्त करना।
  4. डिजिटल हस्ताक्षर और उसकी पहचान के लिए.
SHA-256 एल्गोरिदम न केवल बिटकॉइन के लिए, बल्कि अन्य सिक्कों, अर्थात् बिटकॉइन कैश, माज़ाकॉइन, पीरकॉइन, नेमकॉइन और अन्य क्रिप्टोकरेंसी के लिए भी प्रासंगिक है। इसके अलावा, SHA-2 (SHA-256 का आधार) का उपयोग इंटरनेट पर डेटा की सुरक्षा के लिए डिज़ाइन किए गए कई प्रोटोकॉल बनाने के लिए किया जाता है, अर्थात् SSL, TSL और अन्य।

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

बिटकॉइन एन्क्रिप्शन एल्गोरिदम - यह सरल शब्दों में कैसे काम करता है


SHA-2 मर्कल और डैमगार्ड द्वारा बनाए गए ढांचे पर आधारित है। क्रिप्टोग्राफी में प्रयुक्त हैश फ़ंक्शन की ख़ासियत इसके गठन के लिए गैर-मानक दृष्टिकोण है। आने वाले डेटा को समान आकार के ब्लॉक में विभाजित किया जाता है, जिसके बाद बनाए गए तत्वों को हेक्साडेसिमल संख्याओं में परिवर्तित किया जाता है। यह उनके साथ है कि गणना बाद में की जाती है। परिणामी मान पर एक हैश फ़ंक्शन लागू किया जाता है, और प्रसंस्करण का परिणाम आउटपुट में दिखाई देने वाला हैश योग होता है। यह वर्णमाला और संख्यात्मक प्रदर्शन में प्रस्तुत वर्णों का एक समूह है। मूलतः, यह एक हैश है.

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

इस प्रकार, डिजिटल हस्ताक्षर बनाने के लिए हैश फ़ंक्शन का उपयोग किया जाता है। यदि ऊपर चर्चा की गई स्थिति होती है, तो हस्ताक्षर जालसाजी की उच्च संभावना है। ऐसी विफलताओं (टकरावों) की गणना करने के लिए, एक विशेष तकनीक का उपयोग किया जाता है जिसमें डेटा की गणना करना शामिल होता है, जिससे हैश फ़ंक्शन की ताकत बढ़ जाती है।

बिटकॉइन एन्क्रिप्शन की शुद्धता चार आवश्यकताओं द्वारा नियंत्रित होती है:

  1. जब आप आने वाले डेटा में परिवर्तन करते हैं, तो हैश राशि वही रहती है।
  2. हैशिंग के दौरान, एक व्यक्तिगत हैश राशि प्राप्त की जाती है (वर्ण सेट अद्वितीय होना चाहिए)।
  3. हैशिंग का उपयोग करके कुंजी निर्माण अत्यंत जटिल है।
  4. हैश अपरिवर्तनीय हैं. इसका मतलब यह है कि रिवर्स कार्रवाई करने की संभावना के बिना इनपुट डेटा के साथ काम करने की अनुमति है।

यह बिटकॉइन में कैसे लागू होता है?

क्रिप्टोक्यूरेंसी नेटवर्क के नोड्स का कार्य कई लेनदेन में से एक को ढूंढना है जो सभी मामलों में इसके लिए उपयुक्त है। विकल्पों का मूल्यांकन करते समय, प्रारंभिक ध्यान कमीशन के आकार पर दिया जाता है (वैसे, इस कारण से, बड़े कमीशन वाले लेनदेन तेजी से पूरे होते हैं)। इसके बाद, ऑपरेशन की जाँच की जाती है, इनपुट और आउटपुट डेटा का अध्ययन किया जाता है, और डिजिटल हस्ताक्षर की मौलिकता को स्पष्ट किया जाता है।

जैसे ही विचाराधीन कार्य पूरा हो जाता है, बिटकॉइन श्रृंखला (ब्लॉक) का अगला तत्व एक निश्चित आकार (प्रश्न में क्रिप्टोकरेंसी के लिए - 1 मेगाबाइट) के साथ बनाया जाता है। परिणामी नोड्स में संस्करण, गठन समय, दो हैश (पिछले ब्लॉक और आने वाले लेनदेन), साथ ही अतिरिक्त पैरामीटर शामिल होते हैं जो विशिष्टता (बिट्स और नॉन्स) सुनिश्चित करते हैं। कॉम्प्लेक्स में, निर्मित ब्लॉक को कई बार हैश किया जाता है, जिसके परिणामस्वरूप एक हेड हैश बनता है, जो श्रृंखला के "पुराने" तत्व के लिए आउटपुट और नए के लिए इनपुट के रूप में कार्य करता है।

मान लीजिए कि हैश सेट में एक विशिष्ट संख्या "0" है (उदाहरण के लिए, नॉन्स 17 है)। केवल मानों की गणना का उपयोग करके ऐसे मान का चयन करना अत्यंत कठिन है। यह वह पहलू है जो ब्लॉकचेन नेटवर्क में जानकारी की विश्वसनीयता और हैकिंग से इसकी सुरक्षा सुनिश्चित करता है। हैश बनाने के लिए अत्यधिक शक्ति की आवश्यकता होती है, जिसके बिना वर्णों का आवश्यक सेट ढूंढना असंभव है। एक बार जब यह काम पूरा हो जाता है और पैरामीटर मिल जाता है, तो इसे क्रिप्टो नेटवर्क के तत्वों को नए बनाए गए ब्लॉक और 17 "0s" के साथ पाए गए हैश के साथ भेजा जाता है। इसके बाद, बिटकॉइन नेटवर्क में सभी प्रतिभागी ब्लॉक से जानकारी के साथ वर्णों के सेट को मिलाकर हैश की जांच करते हैं। यदि कोई टकराव नहीं होता है, तो ब्लॉकचेन श्रृंखला में एक नया तत्व प्रकट होता है।

बिटकॉइन एन्क्रिप्शन एल्गोरिदम कब दिखाई दिया - एक संक्षिप्त इतिहास


शब्द "SHA" तीन शब्दों का संक्षिप्त रूप है: "सिक्योर हैशिंग एल्गोरिथम"। बिटकॉइन SHA-256 का उपयोग करता है, और उल्लिखित हैश फ़ंक्शन का "आधार" SHA-2 है, जिसमें कई क्रिप्टो एल्गोरिदम (256 सहित) शामिल हैं।

SHA-2 के निर्माता यूनाइटेड स्टेट्स NSA हैं, जो देश की राष्ट्रीय सुरक्षा मुद्दों से निपटने वाली एक विशेष एजेंसी है। एल्गोरिदम को विकसित करने और परीक्षण करने के बाद, इसे 2002 में जनता के लिए जारी किया गया था। नए SHA-2 में पहला हैश फ़ंक्शन SHA-1 (7 साल पहले - 1995 में बनाया गया) भी शामिल था। SHA-2 की शुरुआत के बाद से, एल्गोरिदम के कई संस्करण जारी किए गए हैं, जिनमें से एक का उपयोग 2009 में बिटकॉइन बनाते समय सातोशी नाकामोटो द्वारा किया गया था।

डेवलपर्स का लक्ष्य एक एल्गोरिदम जारी करना था जो वर्णों के यादृच्छिक सेट से एक निश्चित लंबाई के विशिष्ट मान का निर्माण सुनिश्चित करेगा। उन्होंने ये कर दिया। भविष्य में, परिणामी पैरामीटर का उपयोग जानकारी की पहचान (जाँच) करने के लिए किया जाएगा। SHA-2 का मूल उद्देश्य विभिन्न सेवाओं पर डेटा की सुरक्षा करना है, और आज (2018 में) SHA-256 को मुख्य रूप से सिक्का खनन में उपयोग किए जाने वाले एल्गोरिदम के रूप में जाना जाता है।

2012 में, सिस्टम में सुधार किया गया और हैश फ़ंक्शन का एक अद्यतन संस्करण - SHA-3 सामने आया। ऐसा माना जाता है कि समय के साथ, नया विकास पिछले एल्गोरिदम को विस्थापित कर देगा, जिससे पहले से ही उच्च स्तर की सुरक्षा में सुधार होगा।

बिटकॉइन एन्क्रिप्शन एल्गोरिदम की विशेषताएं


SHA-256 का सार सरल है. जोड़ने के बाद प्रारंभिक संदेश को ब्लॉकों में विभाजित किया गया है, और उनमें से प्रत्येक 16 शब्दों का है। परिणामी तत्व 64 या 80 चरणों वाले विशेष चक्रों से गुजरते हैं। उनमें से प्रत्येक में, दो शब्द परिवर्तित होते हैं, और परिवर्तन विकल्प शेष शब्दों से बनता है। परिणामी मापदंडों को हैश बनाने के लिए सारांशित किया जाता है।

एल्गोरिथम के संचालन के दौरान, 6 कमांड का उपयोग किया जाता है:

  • "xor" - "OR" हटाता है।
  • "श्र" - एक विशिष्ट आवृत्ति के साथ संकेतक को आवश्यक संख्या में बिट्स द्वारा दाईं ओर स्थानांतरित करता है।
  • "सड़ांध" - बिट्स की आवश्यक संख्या से संकेतक को दाईं ओर स्थानांतरित करता है (एक विशिष्ट चक्र का उपयोग किए बिना)।
  • "II" - उन तत्वों का कनेक्शन जो प्रकृति में रैखिक हैं।
  • "और और"।
  • "+" - ट्रैकिंग।
प्रोटोकॉल विशेषताएँ:
  1. संदेश अवधि की ऊपरी सीमा 33 बी है।
  2. अधिकतम गति पैरामीटर 139 MiB/s है।
  3. शब्द का आकार - 4 बी.
  4. एक चक्र में पुनरावृत्ति की संख्या 64 है।
  5. ब्लॉक तत्व का आकार 64 बी है।
  6. कुल हैश कोड 32 बी है।

खनन में बिटकॉइन एन्क्रिप्शन एल्गोरिदम


खनन के भीतर गणना करते समय, परिणामी हैश कोड की शुद्धता पंक्ति की शुरुआत में शून्य की संख्या से निर्धारित होती है। उदाहरण के लिए, यदि यह पैरामीटर 17 है, तो ऐसी संख्या मिलने की संभावना बेहद कम है और लगभग 1:1.4*10 से 20वीं घात तक है। यह आश्चर्य की बात नहीं है कि बिटकॉइन खनन के लिए शक्तिशाली उपकरणों और उच्च ऊर्जा लागत के उपयोग की आवश्यकता होती है। उसी समय, आवश्यक हैश के लिए खोज को अनुकूलित करना असंभव है, क्योंकि सूचना का एक ब्लॉक प्राप्त करने के बाद, आउटपुट पर एक यादृच्छिक संख्या दिखाई देती है।

एक आभासी सिक्के के खनन की कठिनाई आवश्यक हैश ढूंढना और अगला ब्लॉक बनाना है। इस लक्ष्य को प्राप्त करने के लिए, मूल्यों की मानक गणना का उपयोग किया जाता है, जिसके लिए उच्च-प्रदर्शन वाले उपकरणों की आवश्यकता होती है। जैसा कि उल्लेख किया गया है, खोज एक साधारण हैश के लिए नहीं है, बल्कि इसके सामने बड़ी संख्या में "0" वाले मान के लिए है।

SHA-256 का उपयोग करके क्रिप्टोकरेंसी खनन एक विशिष्ट क्रिप्टो समस्या को हल करने के उद्देश्य से उपायों का एक सेट है। बिटकॉइन के मामले में, खनन के लिए निम्नलिखित उपकरण का उपयोग किया जाता है:

  1. 2009 में बीटीसी के आगमन के बाद से, साथ ही 2010 के मध्य तक, सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) का उपयोग प्रासंगिक था।
  2. 2011 के मध्य तक, खनिक वीडियो कार्ड (जीपीयू) वाले कंप्यूटर का उपयोग करते थे।
  3. 2013 की शुरुआत तक, एफजीपीए लोकप्रिय थे, जैसे जीपीयू फार्म थे।
  4. 2014 में, ASICs सामने आए। उन्होंने प्रदर्शन में मौजूदा उपकरणों को पीछे छोड़ दिया। इसके बावजूद, 2017 की शुरुआत तक, खनिक जीपीयू फ़ार्म का उपयोग करते थे और पूल में काम करते थे, लेकिन 2017 के अंत तक और आज तक, केवल -खनिक प्रासंगिक हैं। अन्य उपकरणों का उपयोग लाभहीन है।
उल्लिखित उपकरणों का उपयोग रुचि के हैश फ़ंक्शन का चयन करने और एक नया उत्पन्न करने के लिए किया जाता है। डिवाइस की हैशरेट (कंप्यूटिंग पावर) जितनी अधिक होगी, डेटा उतनी ही तेजी से सॉर्ट किया जाएगा और समाधान खोजने में कम समय लगेगा।

बढ़ती प्रतिस्पर्धा और अधिक उत्पादक खनिकों की रिहाई के साथ, और वृद्धि होती है, जिसका पैरामीटर हर 2 सप्ताह में बदलता है।

बिटकॉइन हैशिंग एल्गोरिदम की कमजोरियां और ताकत


ऊपर हमने देखा कि बिटकॉइन हैशिंग एल्गोरिदम क्या है और इसकी विशेषताएं क्या हैं। यह SHA-256 है, जिसे उच्च स्तर की विश्वसनीयता और अपेक्षाकृत सरल संचालन सिद्धांत के साथ सबसे आम एल्गोरिदम माना जाता है। यह हैकिंग के प्रति अत्यधिक प्रतिरोधी है और आपको किसी भी उपकरण (कठिनाई मापदंडों के आधार पर) पर सिक्के निकालने की अनुमति देता है।

कई सकारात्मक गुणों के बावजूद, बिटकॉइन हैशिंग एल्गोरिदम में कई कमजोरियां हैं:

  1. बीटीसी खनन प्रतिभागियों द्वारा नियंत्रण। संयुक्त स्टॉक कंपनियों (जेएससी) की तरह यहां भी वही सिद्धांत काम करता है, जब कंपनी के प्रतिभागियों के पास एक निश्चित संख्या में शेयर होते हैं। क्रिप्टो नेटवर्क खनिकों के हाथों में जितनी अधिक शक्ति केंद्रित होगी, समग्र प्रणाली पर उनका प्रभाव उतना ही मजबूत होगा। इसके अलावा, 2018 में खनन की बढ़ती जटिलता के कारण, खनन के लिए निजी खनिकों के हाथों से निकलकर आभासी सिक्कों के खनन के लिए उपकरण बनाने में शामिल बड़े संगठनों के नियंत्रण में जाने की ध्यान देने योग्य प्रवृत्ति है। बिटकॉइन प्राप्त करने के लिए, एक निजी खनिक को ASIC खरीदने, किसी एक पूल से जुड़ने और बिजली के लिए भुगतान करने पर बड़ी रकम खर्च करनी होगी। यदि आप उपकरण पर कंजूसी करते हैं, तो उत्पादन लाभप्रदता खो देता है।
  2. ऊपर चर्चा की गई स्थिति का परिणाम यह तथ्य है कि बिटकॉइन का "शेर" हिस्सा बड़ी खनन कंपनियों के मालिकों के हाथों में केंद्रित है। यदि हम इस बात को ध्यान में रखते हैं कि प्राप्त सभी बिटकॉइन बिक्री पर नहीं जाते हैं, तो ऐसे संगठन निवेशकों और सिक्कों के संरक्षक बन जाते हैं। परिणामस्वरूप, प्रचलन में सिक्कों की संख्या कम हो जाती है। इसके अलावा, क्रिप्टोकरेंसी का संचय आपको ट्रेडिंग प्रक्रिया के दौरान विकेंद्रीकरण, साथ ही बीटीसी की विनिमय दर को प्रभावित करने की अनुमति देता है।
  3. मौजूदा कमियों के कारण, SHA-256 एल्गोरिदम धीरे-धीरे अतीत की बात बनता जा रहा है, और अधिक उन्नत परियोजनाएं इसकी जगह ले रही हैं। उदाहरण के लिए, स्क्रीप्ट, एथाश, ब्लेक-256, इक्विहैश और अन्य लोकप्रियता प्राप्त कर रहे हैं। नए एल्गोरिदम में बेहतर सुरक्षा और सुरक्षा स्तर हैं, जिसने कई क्रिप्टोकरेंसी के रचनाकारों को अधिक उन्नत प्रौद्योगिकियों के पक्ष में पुरानी SHA-256 को छोड़ने के लिए मजबूर किया है।
  4. डेवलपर्स द्वारा पहचानी गई मुख्य त्रुटियों को ठीक करने के बावजूद, कुछ कमजोरियों को दूर नहीं किया जा सका (2008 में, 22 पुनरावृत्तियों के लिए टकराव पाए गए थे)। इसीलिए SHA का विकास जारी रहा और दूसरे संस्करण को SHA-3 से बदल दिया गया।
2009 में, मुझे SHA-256 का उपयोग करने के लिए मजबूर किया गया था, क्योंकि क्रिप्टोकरेंसी के निर्माण के समय, राज्य सरकारों ने इस प्रोटोकॉल को अपनाया था। उस समय, कुछ सरकारी कार्यक्रमों में डेटा सुरक्षा के लिए इसका सक्रिय रूप से उपयोग किया गया था, और इसका उपयोग वाणिज्यिक क्षेत्र में भी किया गया था। यह पता चला कि प्रोटोकॉल कुछ समस्याओं को हल करने के लिए बनाया गया था, लेकिन वास्तव में यह पूरी तरह से अलग तरीके से मांग में है।

स्पष्टता के लिए, आइए बिटकॉइन एन्क्रिप्शन एल्गोरिदम की सकारात्मक और नकारात्मक विशेषताओं को सारणीबद्ध करें।

लाभकमियां
व्यापक (क्रिप्टोकरेंसी क्षेत्र सहित)। जानकारी की सुरक्षा के लिए SHA प्रोटोकॉल का रोजमर्रा की जिंदगी में सक्रिय रूप से उपयोग किया जाता है।विकेंद्रीकरण की हानि. सत्ता खनन कंपनियों के हाथों में केंद्रित है।
विश्वसनीय चोरी सुरक्षा.SHA पुनरावृत्ति की संरचना सरल है, जिसके कारण समय के साथ खनन जटिलता में वृद्धि हुई है। अगस्त 2018 तक, केवल उच्च प्रदर्शन वाले ASIC का उपयोग बिटकॉइन खनन के लिए किया जा सकता है।
सिक्का खनन के मामले में सुविधा, खनन उपकरण चुनने में बहुमुखी प्रतिभा।नए एल्गोरिदम प्रकट होते हैं जिनकी संरचना अधिक उन्नत होती है।
दूसरे संस्करण (SHA-2) में, निर्माता कई कमियों को दूर करने में कामयाब रहे जिन्होंने सिस्टम की विश्वसनीयता को नकारात्मक रूप से प्रभावित किया।बग्स पर सक्रिय कार्य के बावजूद, कई कमियाँ दूर नहीं की गईं। आश्चर्य की बात नहीं, डेवलपर्स ने SHA-3 का एक नया संस्करण बनाया।
प्रोटोकॉल को संयुक्त राज्य अमेरिका में विधायी स्तर पर अपनाया गया है।

आज नई क्रिप्टोकरेंसी के विकास में इसका उपयोग लगभग नहीं किया जाता है। एक सिक्के का सबसे आकर्षक उदाहरण जो अभी भी SHA-256 का उपयोग करता है, वह बिटकॉइन कैश है, जो अगस्त 2017 में सामने आया बिटकॉइन का एक कांटा है। लेकिन इस सिक्के की स्थिति में, SHA का उपयोग रचनाकारों की पसंद से अधिक एक आवश्यकता है। जहां तक ​​बिटकॉइन की बात है, इस श्रृंखला प्रोटोकॉल का उपयोग सातोशी नाकामोटो के विकल्पों की कमी के कारण है।

आज, 2018 में, इस एल्गोरिदम को बेहतर बनाने और क्रिप्टोकरेंसी नेटवर्क में बदलाव करने के बारे में बहुत चर्चा हो रही है, लेकिन अभी तक ऐसे इरादों को भौतिक कार्यान्वयन नहीं मिला है और केवल प्रस्तावों के रूप में ही रह गए हैं।

क्रिप्टोग्राफ़िक फ़ंक्शंस और एल्गोरिदम के बारे में वीडियो:

पिछला 2017 क्रिप्टोकरेंसी की विस्फोटक लोकप्रियता और "मुख्य" क्रिप्टोकरेंसी बिटकॉइन की दर में समान तीव्र वृद्धि का वर्ष था। इन परिस्थितियों ने न केवल अटकलों और खनन में, बल्कि घटना के सार में भी रुचि जगाई। अधिक से अधिक लोग इसकी तह तक जाना चाहते हैं कि यह सब कैसे काम करता है?

हम सामग्रियों की एक श्रृंखला खोल रहे हैं जिसमें हम सबसे सुलभ रूप में यह समझाने की कोशिश करेंगे कि स्क्रिप्ट, SHA-256, X11 और अन्य जैसे इन रहस्यमय संक्षिप्ताक्षरों के पीछे क्या है। आइए क्रिप्टोकरेंसी की दुनिया के लिए सबसे महत्वपूर्ण (लेकिन सबसे अच्छा नहीं) एल्गोरिदम से शुरुआत करें - SHA-256। यही बिटकॉइन के विकास का आधार है। लेकिन उससे पहले, आइए मुख्य शब्दावली को परिभाषित करें - "खनन" और "हैश" शब्दों के अर्थ को परिभाषित करें।

खनन क्या है?

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

अर्थात्, अगले क्रिप्टो सिक्के के "प्रकट होने" के लिए, आपको जटिल गणनाओं की एक पूरी श्रृंखला को अंजाम देने और उस बहुत प्रतिष्ठित "सही" ब्लॉक को खोजने की आवश्यकता है। उत्साही लोग अपने उपकरणों के साथ यही करते हैं। योजना स्वयं का समर्थन करती है - क्रिप्टोकरेंसी की सुरक्षा बढ़ाने और नई इकाइयाँ जारी करने के लिए, खनन आवश्यक है, और इसे करने के लिए अर्थपूर्ण बनाने के लिए, खनिकों को एक इनाम मिलता है।

संक्षेप में, खनन सॉफ्टवेयर समूह पहले एक ही ब्लॉक में कम्प्यूटेशनल संचालन करते थे, जिसे बाद में एक विशेष प्रकार के हैश कोड की खोज के लिए अविश्वसनीय संख्या में रूपांतरित किया जाता है। एल्गोरिदम की आवश्यकताओं को पूरा करने वाला हैश कोड ढूंढना अधिक कठिन हो जाता है क्योंकि इस प्रक्रिया में अधिक प्रतिभागी शामिल होते हैं। "सही" हैश अत्यंत दुर्लभ है, और इसे ढूंढना लॉटरी जीतने के समान है।

हैश क्या है?

शब्द "हैश", जो हर किसी के लिए स्पष्ट नहीं है, का उल्लेख ऊपर किया गया था। यह सामान्य रूप से एन्क्रिप्शन और विशेष रूप से SHA-256 एल्गोरिदम में मूलभूत अवधारणाओं में से एक है। आइए समझाएं कि इसका क्या मतलब है और सबसे महत्वपूर्ण संबंधित बिंदुओं पर चर्चा करें।

तो, हैशिंग एक मनमाने आकार के डेटा के आने वाले सेट को एक आउटगोइंग डिजिटल स्ट्रिंग में बदलने की प्रक्रिया है। यह परिवर्तन एक पूर्व-विकसित एल्गोरिथ्म के अनुसार किया जाता है, और आउटगोइंग स्ट्रिंग पूरी तरह से अद्वितीय है, और आने वाली सरणी के एक प्रकार के "फिंगरप्रिंट" के रूप में कार्य करती है। यह वह स्ट्रिंग है जिसे हैश सम, हैश कोड या बस हैश कहा जाता है। और परिवर्तन एल्गोरिथ्म एक हैश फ़ंक्शन है।

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

आइए अब बारीकी से देखें कि इसकी आवश्यकता क्यों है और रास्ते में क्या कठिनाइयाँ आती हैं। विषय में रुचि रखने वाला कोई भी व्यक्ति जानता है कि SHA-256 प्रोटोकॉल का उपयोग करके खनन क्रिप्टोकरेंसी को केंद्रीय प्रोसेसर, ग्राफिक्स कार्ड या एक विशेष ASIC डिवाइस की शक्ति का उपयोग करके किया जा सकता है। दरअसल, बिटकॉइन के संदर्भ में, पहली विधि अब बिल्कुल भी प्रासंगिक नहीं है, और वीडियो कार्ड के साथ खनन अपने आखिरी दिन जी रहा है। गणनाओं की जटिलता बहुत अधिक बढ़ गई है, और आधे उपाय अब उपयुक्त नहीं हैं।

खनन सॉफ़्टवेयर इंटरफ़ेस में, ब्लॉक को हैश मात्रा में परिवर्तित करने की प्रक्रियाओं को "स्वीकृत 0aef59a3b" जैसी संक्षिप्त रेखा के रूप में प्रदर्शित किया जाता है। एक ब्लॉक में हजारों या यहां तक ​​कि सैकड़ों-हजारों समान लाइनें शामिल हो सकती हैं, लेकिन केवल एक ही ब्लॉक के "हस्ताक्षर" के रूप में काम कर सकता है, जिसकी खोज खनन का सार है।

बड़ी संख्या में समस्याओं को हल करने के परिणामों की खोज करके सही हैश की खोज की जाती है। SHA-256 एल्गोरिथ्म में, हैश की "शुद्धता" हैश राशि की शुरुआत में शून्य की संख्या से निर्धारित होती है। एल्गोरिदम द्वारा निर्धारित गणनाओं के माध्यम से ऐसे हैश कोड का पता लगाने की संभावना नगण्य है - लाखों समाधानों में एक मौका। सटीक संभावना किसी विशेष क्रिप्टोकरेंसी की विकेंद्रीकृत प्रणाली में कठिनाई के वर्तमान स्तर से निर्धारित होती है।

एक उल्लेखनीय तथ्य. हममें से प्रत्येक ने बार-बार SHA-256 एल्गोरिदम से निपटा है, बिना इसे जाने, यहां तक ​​कि क्रिप्टोकरेंसी माइनिंग की परवाह किए बिना भी। हम बात कर रहे हैं SSL सुरक्षा प्रमाणपत्र की, जो कई वेबसाइटों की सुरक्षा करता है। जब आप ऐसी साइट पर जाते हैं, तो आप स्वचालित रूप से SHA-256 के साथ इंटरैक्ट करते हैं, जिस पर SSL बनाया गया है।

SHA-256 प्रोटोकॉल की विशेषताएं

सबसे पहले, थोड़ा इतिहास. प्रारंभ में, SHA-256 एन्क्रिप्शन एल्गोरिथ्म, या बल्कि इसके प्रोटोटाइप का आविष्कार 2002 में "भयावह" NSA (यूएस नेशनल सिक्योरिटी एजेंसी) की दीवारों के भीतर किया गया था। कुछ महीनों के भीतर इसे संशोधित किया गया और संघीय स्तर पर राष्ट्रीय मेट्रोलॉजिकल विश्वविद्यालय द्वारा आधिकारिक तौर पर प्रस्तुत किया गया। दो साल बाद, इसका दूसरा, उन्नत संस्करण जारी किया गया।

अगले तीन वर्षों में, एजेंसी ने एल्गोरिदम में सुधार करने के लिए काम किया और अंततः इसके दूसरे संस्करण के लिए पेटेंट जारी किया। यह रॉयल्टी-मुक्त लाइसेंस के तहत किया गया था, जिससे "शांतिपूर्ण" उद्देश्यों के लिए नवीनतम तकनीक का उपयोग करना संभव हो गया।

अंततः, SHA-256 ने दुनिया की पहली क्रिप्टोकरेंसी - बिटकॉइन के निर्माण का आधार बनाया। इस मामले में, सुरक्षा बढ़ाने के लिए प्रोटोकॉल का दो बार उपयोग किया जाता है।

बिटकॉइन प्रणाली में खनन के भाग के रूप में गणना करते समय, परिणामी हैश कोड की उपयुक्तता का संकेत पंक्ति की शुरुआत में शून्य की संख्या है। 17वीं के अंत और 18वीं की शुरुआत तक, आवश्यक अग्रणी शून्यों की संख्या 17 (+/-) है। ऐसे कोड का पता लगाने की संभावना 1.4*10 20 में लगभग 1 है। यह एक राक्षसी रूप से छोटी संख्या है जो समझ से परे है और हमारे ग्रह के सभी रेतीले समुद्र तटों पर एक निश्चित आकार के रेत के कण पाए जाने की संभावना के बराबर है। यही कारण है कि बिटकॉइन खनन के लिए इतनी अधिक कंप्यूटिंग शक्ति और इतनी अधिक बिजली की आवश्यकता होती है।

"सही" हैश के लिए खोज को अनुकूलित करने का कोई तरीका नहीं है। SHA-256 प्रोटोकॉल में, हैश फ़ंक्शन, डेटा का एक ब्लॉक लेकर, पूरी तरह से अप्रत्याशित आउटपुट मान उत्पन्न करता है। इसलिए, एक उपयुक्त कोड मिलने तक पुनरावृत्ति के बाद पुनरावृत्ति (पुनरावृत्ति) की आवश्यकता होती है, हम एक बार फिर जोर देते हैं - पूरी तरह से यादृच्छिक.

अब हम पाठक को जटिल तकनीकी जानकारी के साथ थोड़ा "लोड" करने के लिए मजबूर हैं, अन्यथा SHA-256 के बारे में हमारी कहानी अधूरी होगी। यदि कुछ भी स्पष्ट नहीं है, तो लेख के अगले भाग पर जाएँ।

प्रोटोकॉल में जानकारी को 512 बिट्स (या 64 बाइट्स, जो कि समान है, क्योंकि 1 बाइट = 8 बिट्स) के टुकड़ों में तोड़ना शामिल है। फिर क्रिप्टोग्राफ़िक "मिश्रण" एल्गोरिदम में निहित योजना के अनुसार होता है, और आउटपुट 256 बिट आकार का हैश कोड होता है। हैशिंग ऑपरेशन 64 पुनरावृत्तियों में किया जाता है, जो अपेक्षाकृत कम है, खासकर उभरे हुए नए क्रिप्टोग्राफ़िक एल्गोरिदम की तुलना में।

SHA-256 के मुख्य तकनीकी पैरामीटर इस प्रकार हैं:

  • ब्लॉक का आकार: 64 बाइट्स;
  • अधिकतम संदेश लंबाई: 33 बाइट्स;
  • परिणामी हैश कोड का आकार: 32 बाइट्स;
  • एक दौर में दोहराव की संख्या: 64;
  • अधिकतम गति: लगभग 140 MiB/s (मेबिबाइट प्रति सेकंड)।

अपने काम में, एल्गोरिदम सुप्रसिद्ध मर्कल-डैमगार्ड तकनीक का उपयोग करता है, जिसमें परिवर्तन करने के तुरंत बाद प्रारंभिक संकेतक को ब्लॉक में विभाजित करना शामिल है। बदले में, ब्लॉकों को प्रत्येक 16 शब्दों में विभाजित किया गया है।

डेटा सेट को 64 पुनरावृत्तियों के एक दौर के माध्यम से चलाया जाता है। उनमें से प्रत्येक ब्लॉक बनाने वाले शब्दों को हैश करने की प्रक्रिया शुरू करता है। शब्दों के जोड़े को फ़ंक्शन द्वारा संसाधित किया जाता है, जिसके बाद परिणाम जोड़े जाते हैं, और सही हैश कोड प्राप्त होता है। प्रत्येक अगले ब्लॉक की गणना पिछले ब्लॉक के मूल्य के आधार पर की जाती है। यह एक निर्बाध प्रक्रिया है - ब्लॉकों की एक दूसरे से अलग गणना करना असंभव है।

SHA-256 का विकास

इस एल्गोरिथम के क्रिप्टोग्राफ़िक मूल्य को समझने के लिए, आइए इतिहास पर नज़र डालें। उन्होंने इसके निर्माण के तुरंत बाद - 2003 में - इसकी ताकत का गंभीरता से परीक्षण करना शुरू कर दिया। मामले को पेशेवरों द्वारा संभाला गया, लेकिन कोई कमज़ोरियाँ या त्रुटियाँ नहीं पाई गईं।

पूरे पांच साल बीत गए, जब 2008 में, भारतीय विशेषज्ञ अभी भी 22 पुनरावृत्तियों के लिए टकराव की पहचान करने में सक्षम थे। कई महीनों की कड़ी मेहनत के बाद समस्या का एक सफल समाधान प्रस्तावित किया गया।

एल्गोरिदम के कार्यात्मक भाग के संचालन का विश्लेषण करने के दौरान, सुरक्षा विफलता के दो प्रकार के संभावित तरीकों के प्रति इसके प्रतिरोध का परीक्षण किया गया:

  • प्रीइमेज के माध्यम से: इसका मतलब केवल हैश स्ट्रिंग के आधार पर मूल संदेश का रिवर्स डिक्रिप्शन है;
  • टकराव का पता लगाने के माध्यम से: इसका तात्पर्य आउटगोइंग डेटा के संयोग से है, बशर्ते कि आने वाले संदेश अलग हों। यानी आने वाले ब्लॉक अलग हैं, लेकिन आउटगोइंग हैश एक ही है - ऐसा नहीं होना चाहिए।

SHA-256 के पहले संस्करण के दूसरे मानदंड पर परीक्षण विफल होने के बाद, डेवलपर्स ने मौलिक रूप से भिन्न सिद्धांतों के आधार पर एक नया एन्क्रिप्शन तंत्र बनाने का निर्णय लिया। यही किया गया था - 2012 में, एक नई पीढ़ी का प्रोटोकॉल पेश किया गया था, जो ऊपर वर्णित कमियों से पूरी तरह रहित था।

एल्गोरिथम के नुकसान

तथ्य यह है कि डेवलपर्स अपनी गलतियों को सुधारने में कामयाब रहे इसका मतलब यह नहीं है कि वे SHA-256 को पूर्णता में लाने में कामयाब रहे। प्रोटोकॉल ने स्पष्ट कमजोरियों से छुटकारा पा लिया, लेकिन इसकी "मूल" कमियाँ बनी रहीं।

बिटकॉइन के आधार के रूप में SHA-256 का उपयोग संभव हो गया, कम से कम इस तथ्य के कारण कि अमेरिकी कानून स्वयं इस प्रोटोकॉल के प्रति वफादार था। इसे कुछ सरकारी कार्यक्रमों में डेटा सुरक्षा के लिए उपयोग करने की अनुमति दी गई थी, और इसे वाणिज्यिक क्षेत्र में भी उपयोग करने की अनुमति दी गई थी।

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

एल्गोरिदम का प्रत्येक पुनरावृत्ति काफी आदिम दिखता है - एक बुनियादी बाइनरी ऑपरेशन और 32-बिट जोड़। यही कारण है कि SHA-256 पर आधारित ASIC इतनी तेजी से सामने आए, जिससे केवल एक प्रोसेसर और कुछ वीडियो कार्ड वाले "होम" खनिकों की सभी उम्मीदें शून्य से गुणा हो गईं।

समय और स्थितियाँ बहुत बदल रही हैं, और SHA-256 प्रोटोकॉल आत्मविश्वास से अन्य, अधिक उन्नत समाधानों का अनुसरण कर रहा है। वही स्क्रीप्ट, गणना की प्रक्रिया में, पहले 1024 अलग-अलग हैश स्ट्रिंग्स को रिकॉर्ड करता है, और उसके बाद ही यह जोड़ करता है और अंतिम परिणाम प्राप्त करता है। यह क्रिप्टोक्यूरेंसी संरक्षण और सुरक्षा के उच्चतम स्तर के साथ एक अतुलनीय रूप से अधिक जटिल योजना है।

सारांश

क्रिप्टोकरेंसी बूम शुरू होने तक SHA-256 एन्क्रिप्शन एल्गोरिदम को काफी प्रभावी और विश्वसनीय माना जाता था। आज यह स्पष्ट हो गया है कि नए समाधानों की पृष्ठभूमि में यह पहले से ही कमजोर दिखता है। इतना कि इससे इसे बायपास करने के लिए सख्ती से "तेज" विशेष उपकरण बनाना संभव हो गया। ये वही ASIC खनिक हैं जिन्होंने केंद्रीय प्रोसेसर पर खनन को लगभग नष्ट कर दिया है और पहले से ही वीडियो कार्ड पर खनन खत्म कर रहे हैं।

ऐसा प्रतीत होता है कि इसमें कुछ भी गलत नहीं है - आख़िरकार स्वस्थ प्रतिस्पर्धा। लेकिन वास्तव में, ASIC का उपयोग क्रिप्टोकरेंसी को काफी हद तक केंद्रीकृत कर देता है, जिससे इसका विचार ही निष्प्रभावी हो जाता है। यह तथ्य प्रतिभाशाली उत्साही लोगों को नए, अधिक उन्नत हैशिंग एल्गोरिदम बनाने के लिए प्रेरित करने में मदद नहीं कर सका। और उन्हें आने में देर नहीं लगी.

SHA-256 प्रोटोकॉल वर्तमान में क्रिप्टोक्यूरेंसी बाजार में बड़ी हिस्सेदारी रखता है, लेकिन नए विकल्प पहले से ही आत्मविश्वास से इसे एक तरफ धकेल रहे हैं। उदाहरण के लिए, दूसरा सबसे लोकप्रिय और "महंगा" क्रिप्ट, एथेरियम, एथैश प्रोटोकॉल का उपयोग करता है, जिसे पहले डैगर कहा जाता था। प्रोटोकॉल इतना अच्छा है कि एथेरियम आज भी अधिकतम विकेंद्रीकरण बनाए रखता है, और इसके खनन के लिए ASIC खनिक अभी भी प्रकृति में मौजूद नहीं हैं। शायद एथाश स्पष्ट रूप से अप्रचलित SHA-256 की जगह लेगा।

पहले वैकल्पिक एल्गोरिदम में से एक स्क्रीप्ट था, जिस पर सबसे लोकप्रिय altcoins में से एक, Litecoin, आधारित है। यह बहुत अधिक उन्नत समाधान है, जो अब ASIC को ऐसे निर्विवाद लाभ नहीं देता है। हालाँकि, खनन से होने वाले सुपर-मुनाफे ने चीनी विशेषज्ञों को स्क्रिप्ट के लिए तकनीकी समाधान विकसित करने में बहुत प्रयास करने के लिए मजबूर किया, और इस प्रोटोकॉल पर आधारित ASIC सामने आए।

यदि हम एक सामान्य व्यक्ति के दृष्टिकोण से खनन पर विचार करें जो तकनीकी बारीकियों में अनुभवी नहीं है, तो उसे स्क्रीप्ट और SHA-256 एल्गोरिदम के बीच कोई अंतर महसूस नहीं होगा। दोनों प्रोटोकॉल पर ASIC लगभग समान दिखते हैं, लगभग समान मात्रा में बिजली की खपत करते हैं और पंखे का शोर बिल्कुल समान होता है। एक और चीज़ क्रिप्टोकरेंसी दरें हैं जो ये वही ASICs मेरी हैं, लेकिन यह एक पूरी तरह से अलग कहानी है।

हम इस विषय के ढांचे के भीतर उल्लिखित वैकल्पिक एन्क्रिप्शन प्रोटोकॉल स्क्रीप्ट के लिए निम्नलिखित सामग्री समर्पित करेंगे।

SHA 256 क्रिप्टोकरेंसी खनन के लिए निर्देशों का एक क्रिप्टोग्राफ़िक सेट है। दूसरे शब्दों में, यह नेटवर्क पर सभी लेनदेन की विश्वसनीय रूप से सुरक्षा करता है, और इलेक्ट्रॉनिक सिक्कों के निष्कर्षण को जटिल बनाता है। यह संक्षिप्त नाम सिक्योर हैशिंग एल्गोरिथम के लिए है, जिसका अर्थ है एक अत्यधिक लोकप्रिय और प्रभावी हैशिंग विधि।

SHA 256 का सार सूचना को मूल्यों, संख्याओं में परिवर्तित करना है। इस श्रृंखला की एक निश्चित लंबाई होती है। इसका मतलब यह है कि नेटवर्क के भीतर आपके द्वारा प्रेषित कोई भी जानकारी विशेष मूल्यों - पहचानकर्ताओं (आईडी) के साथ एन्क्रिप्ट की जाएगी।

लेनदेन करते समय, SHA 256 एल्गोरिदम आईडी की तुलना मूल डेटा से करता है, जिसे पुनर्प्राप्त नहीं किया जा सकता है, और फिर लेनदेन तक पहुंच प्रदान करता है। इस प्रोटोकॉल का उपयोग अब बीटीसी और बीसीएच जैसी क्रिप्टोकरेंसी के खनन में किया जाता है।

उपस्थिति का इतिहास

ऐसा कैसे हुआ कि बिटकॉइन ने SHA 256 का उपयोग करना शुरू कर दिया? यह सब एल्गोरिदम के SHA-2 परिवार का सदस्य बनने के साथ शुरू हुआ, जिसकी हैश श्रृंखला का आकार 224-512 बिट्स है।

वे, बदले में, उनके परदादा - SHA-1 के आधार पर बनाए गए थे, जिसका हैश 160 बिट लंबा था। यह तकनीक 1995 में सामने आई, और इसका उद्देश्य नागरिक उद्देश्यों के लिए उपयोग करना था - यानी, सामान्य, गैर-राज्य-महत्वपूर्ण जानकारी का एन्क्रिप्शन।

SHA-2 परिवार, जिससे SHA 256 संबंधित है, को राष्ट्रीय सुरक्षा एजेंसी द्वारा 16 साल पहले - 2002 के वसंत में विकसित किया गया था। इसके आधार पर, हम कह सकते हैं कि एल्गोरिथ्म नैतिक रूप से पुराना है। हालाँकि, यह अभी भी नेटवर्क पर लेनदेन को एन्क्रिप्ट करने के लिए सबसे मजबूत एल्गोरिदम में से एक है।

SHA 256 के तकनीकी पैरामीटर

एल्गोरिदम को 64 बाइट्स के बराबर भागों में विभाजित डेटा के लिए डिज़ाइन किया गया है। SHA 256 सुनिश्चित करता है कि उन्हें एकत्र किया जाए और एक 256-बिट श्रृंखला में संयोजित किया जाए। इस विधि का मुख्य तरीका एन्क्रिप्शन ऑपरेशन है, जो एक लूप में 64 बार किया जाता है।

SHA 256 एल्गोरिथम निर्देशों की संक्षिप्त विशेषताएं:

  • 64-बिट ब्लॉक - 32-बिट ब्लॉक के साथ सबसे तेज़ी से काम करता है;
  • सूचना की एन्क्रिप्टेड श्रृंखला की चरम लंबाई 33 बाइट्स है;
  • संदेश डाइजेस्ट का आकार - 32 बाइट्स;
  • एक शब्द का मानकीकृत आकार 4 बाइट्स है;
  • ऑपरेशन के एक दौर में एन्क्रिप्शन चक्र 64 बाइट्स है;
  • एल्गोरिथ्म जिस गति से संचालित होता है वह 140 Mbit/s है।

यह ध्यान देने योग्य है कि SHA-2 परिवार का यह सदस्य मर्कले-डैमगार्ड द्वारा वर्णित रूपरेखा पर आधारित है। इसका मतलब यह है कि जानकारी को शब्दों में विभाजित करने से पहले, डेटा को ब्लॉकों में विभाजित किया जाता है। यह प्रक्रिया डेटा में फेरबदल करके एन्क्रिप्शन को मजबूत करती है।

जानकारी का संग्रह 64 से 80 पुनरावृत्तियों की सीमा में किया जाता है। प्रत्येक अगला लूप निर्मित ब्लॉकों को शब्दों में परिवर्तित करता है। अंतिम परिणाम, अर्थात् हैश, सभी प्रारंभिक मानों को जोड़कर बनाया जाता है।

SHA 256 एल्गोरिदम के साथ क्रिप्टोकरेंसी

जैसा कि पहले उल्लेख किया गया है, न केवल बिटकॉइन में निर्देशों का ऐसा सेट है, बल्कि यह भी है:

  • पियरकॉइन, जिसकी ख़ासियत यह है कि कोड क्यू बॉल के आधार पर बनाया जाता है, लेकिन PoS का उपयोग पूरे नेटवर्क की सुरक्षा के लिए किया जाता है, और PoW सिक्कों के वितरण के लिए जिम्मेदार है;
  • नेमकॉइन एक डिजिटल मुद्रा है जो सुरक्षा, गोपनीयता और विकेंद्रीकरण के साधन के रूप में कार्य करती है; अनओब्टेनियम - अत्यंत कम मुद्रास्फीति है; सभी सिक्के निकालने में कम से कम 300 वर्ष लगेंगे;
  • डॉयचे ईमार्क एक जर्मन माइक्रोनेटवर्क है जिसका उपयोग संपत्ति और धन के आदान-प्रदान के लिए किया जाता है। यह प्रक्रिया बिचौलियों के बिना ही होती है; बीटाकॉइन - विश्व प्रसिद्ध बिटकॉइन के समान सिद्धांत पर काम करता है;
  • जूलकॉइन - यह भी दादाजी बिटकॉइन पर आधारित है, लेकिन लेनदेन की तेज़ पुष्टि प्रदान करता है;
  • स्टीमेट एक अलग क्रिप्ट भी नहीं है, बल्कि ब्लॉकचेन पर एक संपूर्ण प्लेटफॉर्म है। इसका मुख्य कार्य रोचक प्रकाशनों को पुरस्कृत करना है।

लाइटकॉइन SHA 256 एल्गोरिदम का भी उपयोग करता है, लेकिन पूरे सिस्टम में नहीं, बल्कि एक सबरूटीन में। लाइटकॉइन खनन के लिए, स्क्रीप्ट सुरक्षा प्रोटोकॉल का उपयोग किया जाता है, जो खनन की जटिलता को बढ़ाता है और ASIC के भुगतान को कम करता है।

SHA 256 एल्गोरिथम पर आधारित क्रिप्टोकरेंसी खनन

SHA-2 परिवार पर आधारित इलेक्ट्रॉनिक सिक्कों को खनन करने के लिए, विशेष उपकरण - ASIC का उपयोग करना आवश्यक नहीं है। सीपीयू और जीपीयू आधारित दोनों फार्म खनन में अच्छा प्रदर्शन करते हैं। बाद वाला स्पष्ट रूप से पहले वाले से गति में बेहतर है।

और फिर भी क्रिप्टोकरेंसी खनन के लिए ASIC सबसे अच्छा समाधान है। इसके फायदे कुछ हद तक इसकी महत्वपूर्ण कीमत से ऑफसेट हैं - लगभग 100 हजार रूबल, अधिक शक्तिशाली मॉडल 500,000 से भी अधिक हैं। जैसे-जैसे जटिलता बढ़ती है, भुगतान कम हो जाता है। इसलिए, उपकरण हमेशा खुद को सही नहीं ठहराता है, हालांकि यह वीडियो कार्ड और विशेष रूप से सीपीयू पर फ़ार्म की तुलना में बहुत अधिक खनन गति प्रदान करता है।

GPU खनन को कमोबेश लाभदायक माना जाता है। सामान्य तौर पर, पूरे फ़ार्म की लागत लगभग $1000-2000 होगी, साथ ही अतिरिक्त उपकरण - विशेष रूप से, वीडियो कार्ड के लिए शीतलन प्रणाली। परिसर के किराये, बिजली भुगतान और सेवा कर्मियों के वेतन को भी ध्यान में रखना उचित है।

वीडियो कार्डों में, Nvidia का GTX 1080 Ti अच्छा प्रदर्शन करता है। यह प्रति सेकंड 1400 सफल ऑपरेशन की गति पैदा करता है। एएमडी अपने वेगा लाइन कार्ड के साथ थोड़ा पीछे है - 1200 एमएच/एस। Radeon 7970 जैसे सस्ते विकल्प भी हैं, लेकिन इसकी गति 800 MH/s से अधिक नहीं है।

SHA 256 एल्गोरिथ्म, हालांकि पुराना है, अभी भी बिटकॉइन में उपयोग किया जाता है, जो दुनिया में नंबर 1 क्रिप्टोकरेंसी है। प्रोटोकॉल का उपयोग कई अन्य आशाजनक altcoins में भी किया जाता है। SHA256 को धीरे-धीरे स्क्रीप्ट द्वारा प्रतिस्थापित किया जा रहा है, लेकिन बिटकॉइन की इस पर स्विच करने की कोई योजना नहीं है। खनन के संबंध में, सब कुछ सरल है - यदि आपके पास पैसा है, तो उच्च हैश दर वाले ASIC लें। अधिक किफायती समाधान चाहते हैं? फिर एएमडी या एनवीडिया वीडियो कार्ड से एक फार्म बनाएं।

  • अनुवाद

एक बिंदु पर मैं यह जानना चाहता था कि बिटकॉइन को मैन्युअल रूप से माइन करना कितनी जल्दी संभव है। यह पता चला कि SHA-256 हैशिंग का उपयोग खनन के लिए किया जाता है, और यह काफी सरल है और कंप्यूटर के बिना भी इसकी गणना की जा सकती है। बेशक, यह प्रक्रिया बहुत धीमी और पूरी तरह से अव्यावहारिक है। लेकिन कागज पर सभी चरणों से गुजरने के बाद, आप एल्गोरिदम कैसे काम करता है इसके विवरण की अच्छी समझ प्राप्त कर सकते हैं।

एक क्रिप्टो दौर

खुदाई

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

क्रिप्टोग्राफ़िक हैशिंग फ़ंक्शन इनपुट के रूप में डेटा का एक ब्लॉक प्राप्त करता है और एक छोटा लेकिन अप्रत्याशित आउटपुट उत्पन्न करता है। इसे इस प्रकार डिज़ाइन किया गया है कि आपके इच्छित आउटपुट को प्राप्त करने का कोई त्वरित तरीका नहीं है, और आपको तब तक खोज करते रहना होगा जब तक आपको सही मूल्य न मिल जाए। बिटकॉइन ऐसे फ़ंक्शन के रूप में SHA-256 का उपयोग करता है। इसके अलावा, प्रतिरोध को बढ़ाने के लिए, SHA-256 को ब्लॉक पर दो बार लगाया जाता है और इसे डबल SHA-256 कहा जाता है।

बिटकॉइन में, हैश के वैध होने की कसौटी पर्याप्त संख्या में अग्रणी शून्य होना है। ऐसे हैश को ढूंढना उतना ही मुश्किल है, जितना उदाहरण के लिए, कई शून्य पर समाप्त होने वाली कार या फोन नंबर ढूंढना। लेकिन निश्चित रूप से हैश के लिए यह बहुत अधिक कठिन है। वर्तमान में, एक वैध हैश में लगभग 17 अग्रणी शून्य होने चाहिए, जो 1.4x10 20 में केवल 1 से संतुष्ट होता है। यदि हम एक सादृश्य बनाएं, तो पृथ्वी पर सभी रेत के बीच एक विशिष्ट कण खोजने की तुलना में ऐसा मूल्य खोजना अधिक कठिन है।

क्रिप्टोग्राफ़िक विश्लेषण को और अधिक कठिन बनाने के लिए ब्लू गैर-रैखिक रूप से शफ़ल बिट्स को ब्लॉक करता है। इसके अलावा, और भी अधिक विश्वसनीयता के लिए, विभिन्न मिश्रण कार्यों का उपयोग किया जाता है (यदि आप जल्दी से वैध हैश उत्पन्न करने के लिए गणितीय खामी ढूंढ सकते हैं, तो आप पूरी बिटकॉइन खनन प्रक्रिया का नियंत्रण ले लेंगे)।

बहुमत फ़ंक्शन (एमए ब्लॉक) ए, बी और सी शब्दों पर बिटवाइज़ संचालित होता है। प्रत्येक बिट स्थिति के लिए, यह 0 लौटाता है यदि उस स्थिति में अधिकांश इनपुट बिट शून्य हैं, अन्यथा यह 1 लौटाता है।

ब्लॉक Σ0 A को 2 बिट्स द्वारा घुमाता है, फिर मूल शब्द A को 13 बिट्स द्वारा घुमाया जाता है, और इसी तरह 22 बिट्स द्वारा घुमाया जाता है। ए के परिणामी तीन स्थानांतरित संस्करण बिटवाइज़ मॉड्यूलो 2 जोड़े गए हैं ( सामान्य एक्सओआर, (ए आरओआर 2) एक्सओआर (ए आरओआर 13) एक्सओआर (ए आरओआर 22)).

Ch चयन फ़ंक्शन को कार्यान्वित करता है। प्रत्येक बिट स्थिति में, E से एक बिट की जाँच की जाती है, यदि यह एक के बराबर है, तो इस स्थिति से F से बिट आउटपुट है, अन्यथा G से एक बिट। इस प्रकार, F और G से बिट्स को मूल्य के आधार पर मिश्रित किया जाता है ई का.

Σ1 संरचना में Σ0 के समान है, लेकिन ई शब्द के साथ काम करता है, और संबंधित शिफ्ट स्थिरांक 6, 11 और 25 हैं।

लाल ब्लॉक 32-बिट जोड़ करते हैं, आउटपुट शब्द ए और ई के लिए नए मान उत्पन्न करते हैं। मान डब्ल्यू टी इनपुट डेटा के आधार पर उत्पन्न होता है (यह एल्गोरिदम के उस हिस्से में होता है जो हैशेड डेटा प्राप्त करता है और संसाधित करता है .यह हमारे दायरे से बाहर है)। K t प्रत्येक दौर के लिए अपना स्वयं का स्थिरांक है।

उपरोक्त चित्र में, यह ध्यान देने योग्य है कि एक क्रिप्टोग्राफ़िक दौर में केवल ए और ई बदलते हैं। शेष शब्द नहीं बदलते हैं, लेकिन आउटपुट पर स्थानांतरित हो जाते हैं - पुराना ए आउटपुट बी में बदल जाता है, पुराना बी नए सी में बदल जाता है, और इसी तरह। हालाँकि एल्गोरिदम का एक राउंड डेटा में ज्यादा बदलाव नहीं करता है, 64 राउंड के बाद, इनपुट जानकारी पूरी तरह से एन्क्रिप्ट हो जाएगी।

हम मैन्युअल रूप से खनन करते हैं

वीडियो में मैं दिखाता हूं कि आप पेन और पेपर के साथ वर्णित सभी चरणों को कैसे पूरा कर सकते हैं। मैंने ब्लॉक को माइन करने के लिए हैशिंग का पहला दौर पूरा किया। इसमें मुझे 16 मिनट, 45 सेकंड लगे।


मुझे थोड़ा समझाने दीजिए कि क्या हो रहा है: मैंने ए से एच तक शब्दों को हेक्साडेसिमल रूप में लिखा, और प्रत्येक के नीचे मैंने बाइनरी रूप में अनुवाद किया। ब्लॉक Ma का परिणाम C शब्द के नीचे है, और शिफ्ट के बाद A का मान और आउटपुट Σ0 स्वयं A के साथ लाइन के ऊपर दिखाई देता है। चयन फ़ंक्शन G के नीचे दिखाई देता है, और अंत में E और के संबंधित स्थानांतरित संस्करण दिखाई देते हैं। ब्लॉक Σ1 के बाद का मान E के साथ रेखा से ऊपर जाता है। निचले दाएं कोने में एक अतिरिक्त प्रदर्शन किया जाता है, जिसका परिणाम नए A और नए E (पहले तीन लाल योग ब्लॉक) दोनों की गणना में शामिल होता है। ऊपर दाईं ओर मैंने A के नए मान की गणना की है, और बीच में E के नए मान की गणना है। इन सभी चरणों पर ऊपर चर्चा की गई थी और इन्हें आरेख में आसानी से ट्रैक किया जा सकता है।

वीडियो में दिखाए गए राउंड के अलावा, मैंने एक और आयोजित किया - एक विशिष्ट बिटकॉइन ब्लॉक के लिए अंतिम 64वां हैशिंग राउंड। फोटो में, हैश मान को पीले रंग में हाइलाइट किया गया है। शून्य की संख्या पुष्टि करती है कि यह एक वैध बिटकॉइन हैश है। ध्यान दें कि शून्य हैश के अंत में स्थित हैं, शुरुआत में नहीं, जैसा कि मैंने पहले लिखा था। इसका कारण यह है कि बिटकॉइन केवल SHA-256 द्वारा प्राप्त बाइट्स को फ़्लिप करता है।


SHA-256 का अंतिम दौर, जिसके परिणामस्वरूप सफलतापूर्वक खनन किया गया बिटकॉइन ब्लॉक दिखाई दे रहा है

हार्डवेयर खनिकों के डिज़ाइन के लिए इन सबका क्या मतलब है?

SHA-256 में प्रत्येक चरण डिजिटल तर्क में बहुत सरल दिखता है - सरल बिट संचालन और 32-बिट योग (यदि आपने कभी सर्किट डिज़ाइन का अध्ययन किया है, तो आप शायद पहले ही कल्पना कर चुके होंगे कि हार्डवेयर में यह कैसा दिख सकता है)। इसलिए, ASICs SHA-256 को बहुत कुशलता से लागू करते हैं, सैकड़ों SHA-256 राउंड निष्पादन इकाइयों को समानांतर में रखते हैं। नीचे दी गई तस्वीर एक खनन चिप दिखाती है जो प्रति सेकंड 2-3 बिलियन हैश की गणना कर सकती है। आप ज़ेप्टोबार्स पर और तस्वीरें देख सकते हैं।


बिटफ्यूरी ASIC चिप का एक सिलिकॉन शॉट, जो बिटकॉइन को 2-3 गीगाहैश प्रति सेकंड की दर से माइन कर सकता है। ज़ेप्टोबार्स से चित्र। (सीसी बाय 3.0)

बिटकॉइन के विपरीत, लाइटकॉइन, डॉगकॉइन और अन्य समान वैकल्पिक-कॉइन सिस्टम स्क्रीप्ट हैशिंग एल्गोरिदम का उपयोग करते हैं, जिसे हार्डवेयर में लागू करना स्वाभाविक रूप से कठिन है। यह एल्गोरिदम निष्पादन के दौरान मेमोरी में 1024 अलग-अलग हैश मान संग्रहीत करता है, और अंतिम परिणाम प्राप्त करने के लिए उन्हें आउटपुट पर जोड़ता है। इसलिए, SHA-256 हैश की तुलना में स्क्रीप्ट हैश की गणना करने के लिए बहुत अधिक मेमोरी और सर्किटरी की आवश्यकता होती है। संबंधित खनन हार्डवेयर की तुलना करने पर हैशिंग एल्गोरिदम को बदलने का प्रभाव स्पष्ट रूप से दिखाई देता है - स्क्रीप्ट (लाइटकॉइन और अन्य) के संस्करण SHA-256 (बिटकॉइन) के संस्करणों की तुलना में हजारों गुना धीमे हैं।

निष्कर्ष

SHA-256 अचानक इतना सरल हो गया कि इसकी गणना हाथ से भी की जा सकती थी (बिटकॉइन लेनदेन पर हस्ताक्षर करने के लिए उपयोग किया जाने वाला अण्डाकार वक्र एल्गोरिथ्म बहुत अधिक दर्दनाक होगा, क्योंकि इसमें 32-बाइट संख्याओं के गुणन का एक समूह शामिल है)। SHA-256 के एक राउंड की गणना करने में मुझे 16 मिनट, 45 सेकंड लगे। इस प्रदर्शन के साथ, पूरे बिटकॉइन ब्लॉक (128 राउंड) को हैश करने में 1.49 दिन लगेंगे, यानी, हमें प्रति दिन 0.67 हैश की हैशिंग दर मिलती है (वास्तव में, अभ्यास के साथ प्रक्रिया तेज हो जाएगी)। तुलनात्मक रूप से, बिटकॉइन खनिकों की वर्तमान पीढ़ी प्रति सेकंड कई टेराहैश उत्पन्न करती है, जो मुझसे लगभग एक क्विंटल गुना तेज है। मुझे लगता है कि यह स्पष्ट है कि मैन्युअल बिटकॉइन खनन बहुत व्यावहारिक नहीं है।

Reddit के एक पाठक ने मेरे ऊर्जा व्यय के बारे में पूछा। चूँकि मैं कोई गंभीर शारीरिक प्रयास नहीं करता, हम मान सकते हैं कि चयापचय दर प्रति दिन 1500 किलोकैलोरी होगी, फिर हमने पाया कि मैन्युअल हैशिंग के लिए लगभग 10 मेगाजूल प्रति हैश की आवश्यकता होती है। विशिष्ट खपत ऊर्जा एक लोहे के खनिक के लिए 1000 मैगेहैश प्रति जूल है। इस प्रकार, मैं लोहे के एक विशेष टुकड़े की तुलना में 10^16 गुना (10 क्वाड्रिलियन) कम ऊर्जा कुशल हूं। एक और मुद्दा ऊर्जा की लागत है। बिजली का एक सस्ता स्रोत 23 पर डोनट्स है सेंट प्रति 200 किलोकैलोरी। मेरे पास बिजली की लागत 15 सेंट प्रति किलोवाट-घंटा है, जो डोनट्स की तुलना में 6.7 गुना सस्ती है। परिणामस्वरूप, एक मानव खनिक के रूप में मेरे लिए हैश के संदर्भ में ऊर्जा की लागत 67 क्वाड्रिलियन गुना अधिक है। हाँ, यह स्पष्ट है कि मुझे यह नहीं मिलेगा। मैन्युअल बिटकॉइन माइनिंग के लिए शुभकामनाएं, और इसमें कागज और पेन की लागत को भी ध्यान में नहीं रखा जा रहा है!