भारत में क्रिप्टोकरेंसी से होने वाले मुनाफ़े पर 2022 से 30% फ़्लैट टैक्स और हर ट्रांज़ैक्शन पर 1% TDS लागू है, फिर भी देश दुनिया के सबसे बड़े क्रिप्टो यूज़र-बेस में गिना जाता है। Bitcoin के SHA-256 के उलट, Litecoin और Dogecoin जैसी कॉइन्स माइनिंग के लिए scrypt इस्तेमाल करती हैं, जिसकी memory-hard डिज़ाइन की वजह से इन्हें GPU माइनिंग रिग पर माइन करना ASIC-हावी बिटकॉइन नेटवर्क की तुलना में अब भी ज़्यादा व्यावहारिक बना रहा।
Memory-hard फ़ंक्शन क्या है
एक memory-hard एल्गोरिदम जानबूझकर इस तरह डिज़ाइन किया जाता है कि एक हैश कैलकुलेट करने के लिए मेमोरी में काफ़ी मात्रा में इंटरमीडिएट डेटा रखना पड़े। वैल्यूज़ को दोबारा कैलकुलेट करने की क़ीमत पर मेमोरी बचाने की कोशिश की बजाय कंप्यूटेशन टाइम बहुत ज़्यादा बढ़ जाता है — यानी अटैकर को या तो मेमोरी या स्पीड में से किसी एक की क़ुर्बानी देनी पड़ती है।
यह स्पेशलाइज़्ड हार्डवेयर पर अटैक को क्यों मुश्किल बनाता है
ASIC चिप्स और GPU साधारण अरिथमेटिक ऑपरेशन को बड़े पैमाने पर पैरेलल चलाने में बहुत असरदार हैं, लेकिन हर पैरेलल कंप्यूटेशन थ्रेड में मेमोरी जोड़ना कहीं ज़्यादा महँगा पड़ता है और उतना अच्छे से स्केल नहीं करता। Scrypt ऐसे हार्डवेयर पर ब्रूट-फ़ोर्स अटैक को क्लासिक हैश फ़ंक्शन की तुलना में आर्थिक रूप से कम आकर्षक बना देता है।
यह किस काम आता है
- GPU फ़ार्म अटैक के प्रतिरोधी पासवर्ड हैशिंग एल्गोरिदम चुनना।
- क्रिप्टोग्राफ़ी के संदर्भ में memory-hard फ़ंक्शन का कॉन्सेप्ट समझना।
- किसी ख़ास सिस्टम के लिए scrypt बनाम bcrypt और Argon2 के ट्रेड-ऑफ़ की तुलना करना।
वास्तव में कितनी मेमोरी चाहिए
scrypt के एक कैलकुलेशन के लिए मेमोरी लगभग 128 × N × r बाइट्स के बराबर होती है। सामान्य पैरामीटर (N=16384, r=8) पर यह एक हैश के लिए लगभग 16 मेगाबाइट है — एक लॉगिन के लिए नगण्य, लेकिन अगर सर्वर को हज़ारों एक साथ चल रहे ऑथेंटिकेशन हैंडल करने हों, तो कुल मेमोरी जल्दी ही पैरामीटर चुनते समय एक असली सीमा बन जाती है, न कि सिर्फ़ एक एब्स्ट्रैक्ट सिक्योरिटी रिक्वायरमेंट।