BITCOIN

आंशिक प्रीइमेज तकनीक

यह पोस्ट पहली बार

पर प्रकाशित हुआ था मध्यम ।

सामान्य तौर पर, किसी इनपुट (जिसे प्रीइमेज कहा जाता है) के हैश की गणना करने के लिए, इसकी संपूर्णता की आवश्यकता होती है। हम हैशिंग एल्गोरिदम की एक विस्तृत श्रृंखला के लिए, प्रीइमेज के केवल एक हिस्से के साथ हैश की गणना करने के लिए एक नई तकनीक दिखाते हैं।

SHA256 कैसे काम करता है

आइए SHA256 को एक उदाहरण के रूप में देखें। आंतरिक रूप से, यह निम्नानुसार काम करता है:

  • प्रीइमेज को 512 बिट्स के विखंडू में विभाजित किया गया है। यदि आवश्यक हो तो पैडिंग जोड़ दी जाती है फ़ंक्शन g , साथ में एक आंतरिक स्थिति (वर्तमान हैश h0-h3), जिसका आउटपुट है अगले पुनरावृत्ति के लिए इनपुट के रूप में उपयोग किया जाता है अंतिम हैश। मर्कले-डैमगार्ड निर्माण

    इस प्रक्रिया को कहा जाता है ) मर्कले-डैमगार्ड निर्माण । जी

  • एक संपीड़न फ़ंक्शन है जो दो निश्चित-लंबाई इनपुट लेता है और एक निश्चित-लंबाई आउटपुट उत्पन्न करता है

    आंशिक प्रीइमेज तकनीक

    निर्माण की पुनरावृत्ति प्रकृति के कारण, यदि हम किसी मध्यवर्ती पुनरावृत्ति से शुरू करते हैं तो हम वही हैश प्राप्त कर सकते हैं , जब तक हमारे पास वर्तमान आंतरिक स्थिति/हैश और शेष प्रीइमेज है। Merkle–Damgård construction

  • इंटरमीडिएट राज्य से हैश की गणना करें
  • लंबाई विस्तार हमला

    SHA256 की पुनरावृत्त और स्टेटफुल प्रकृति इसे तथाकथित के लिए कमजोर बनाती है लम्बाई विस्तार हमला । एक हमलावर उपयोग कर सकता है SHA256(message1) और संदेश 1 की लंबाई की गणना करने के लिए

    SHA256(message1 पैडिंग ‖ message2)¹ एक हमलावर द्वारा नियंत्रित message2 के लिए, की सामग्री को जानने की आवश्यकता के बिना message1।

    हम हमले की सतह को चालू करते हैं इसका सिर और इसे हमारे लाभ के लिए उपयोग करें।

    उदाहरण उपयोग: एक प्राप्त करें पूर्ण टीएक्स के बिना माता-पिता टीएक्स का एनलॉकटाइम

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

    अनुबंध IncrementLocktime

    समारोह partialSha256() SHA256 को लागू करता है और एक अनुगामी से लेनदेन के sha256 हैश की गणना करता है इसका हिस्सा और सभी पूर्ववर्ती भागों के लिए वर्तमान हैश ( h0-h7 )। लाइन 53-158 एक चंक के लिए फ़ंक्शन जी लागू करने के अनुरूप है।

    विचार – विमर्श

    उपरोक्त अनुबंध में आंशिक प्रीइमेज तकनीक लागू करने का कोई मतलब नहीं हो सकता है, क्योंकि SHA256 को लागू करने का ओवरहेड केवल आंशिक लेनदेन को इंजेक्ट करने की बचत से अधिक है। हालाँकि, जब लेन-देन बड़ा होता है, तो लाभ ओवरहेड से अधिक हो सकता है, जो कि अधिक से अधिक होता जा रहा है क्योंकि स्क्रिप्ट और लेन-देन का आकार लगातार बढ़ रहा है।

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

    पावती

    आंशिक पूर्व-छवि के विचार और कोड दोनों चलते हैं यिंग चैन के लिए, पहले nChain में और अब कैम्ब्रिज क्रिप्टोग्राफ़िक में।

    टिप्पणियाँ:

    ‖ संयोजन है।

    [2] मान लें कि 4-बाइट nlocktime अंतिम खंड में है, अंतिम 2 भाग में विभाजित नहीं है।

    देखें: कॉइनगीक न्यूयॉर्क प्रस्तुति, ग्रीन बिटकॉइन कैसे प्राप्त करें: ऊर्जा की खपत और पर्यावरणीय स्थिरता )

    बिटकॉइन के लिए नए हैं? CoinGeek की जाँच करें के लिए बिटकॉइन शुरुआती खंड, बिटकॉइन के बारे में अधिक जानने के लिए अंतिम संसाधन मार्गदर्शिका – जैसा कि मूल रूप से सतोशी नाकामोटो द्वारा कल्पना की गई थी – और ब्लॉकचेन।

    होते )

    Back to top button
    %d bloggers like this: