USDT ट्रांसफ़र को 65,000 ऊर्जा क्यों चाहिए, और ख़ाली पते के लिए 131,000
पूछिए कि TRON पर एक USDT ट्रांसफ़र में कितनी ऊर्जा लगती है, तो हर स्रोत वही दो जवाब देता है: लगभग 65,000 इकाइयाँ, या प्राप्तकर्ता के पास USDT न हो तो लगभग 131,000। नेटवर्क की जलाने की दर 100 sun प्रति इकाई पर ये वही 6.5 TRX और 13.1 TRX हैं जिन्हें वॉलेट शुल्क के रूप में दिखाते हैं। ये दोनों संख्याएँ कहाँ से आती हैं, यह शायद ही कोई बताता है। हमने एक नोड से पूछा, और उसके अपने हिसाब में इनमें से हर संख्या दो हिस्सों में बँटी है। ऊर्जा का तीन-चौथाई से ज़्यादा हिस्सा नेटवर्क के डायनामिक ऊर्जा मॉडल के तहत लगा अधिभार है, और USDT उसे उस सबसे ऊँचे गुणक पर चुकाता है जिसकी नेटवर्क इजाज़त देता है। जिस पते के पास USDT नहीं, उसके लिए जो अतिरिक्त 66,000 लगते हैं, वे 15,000 इकाई अतिरिक्त काम हैं जिन पर वही अधिभार चढ़ता है।
एक ट्रांसफ़र के लिए नोड क्या बताता है
एक नोड किसी अनुबंध कॉल को भेजे बिना चला सकता है। वह कॉल को चेन की अपनी प्रति पर चलाता है और जवाब देने के बाद नतीजा फेंक देता है, इसलिए न कुछ हस्ताक्षर होता है, न कुछ चुकाया जाता है। 7 सितंबर 2026 को हमने ऐसे चार कॉल चलाए: हर एक सबसे छोटी रक़म का ट्रांसफ़र था, एक इकाई यानी एक USDT का दस लाखवाँ हिस्सा, हज़ारों USDT रखने वाले एक वॉलेट से चार तरह के प्राप्तकर्ताओं को: USDT के साथ या उसके बिना, और on-chain खाते के साथ या उसके बिना। कुछ मिनट बाद हमने यही सेट अलग पतों पर दोबारा चलाया, कुल आठ कॉल।
हर जवाब में वह आँकड़ा होता है जिसे सब उद्धृत करते हैं, energy_used, और उसके बगल में एक दूसरा, energy_penalty। दोनों बार हर तरह के प्राप्तकर्ता के लिए यही जोड़ी आई:
| प्राप्तकर्ता, 7 सितंबर 2026 | energy_used | energy_penalty | अंतर |
|---|---|---|---|
| USDT है, खाता सक्रिय | 64,285 | 49,635 | 14,650 |
| USDT है, कभी सक्रिय नहीं हुआ | 64,285 | 49,635 | 14,650 |
| USDT नहीं, खाता सक्रिय | 130,285 | 100,635 | 29,650 |
| USDT नहीं, कभी सक्रिय नहीं हुआ | 130,285 | 100,635 | 29,650 |
प्राप्तकर्ता का खाता है या नहीं, इससे कोई फ़र्क़ नहीं पड़ता: जिस पते के बारे में नेटवर्क ने कभी सुना तक नहीं, उसका ख़र्च उतना ही है जितना उसी बैलेंस वाले किसी पुराने पते का। फ़ैसला बैलेंस करता है, और उसकी रेखा शून्य पर खिंची है। दूसरे दौर में USDT की सिर्फ़ एक इकाई, यानी एक टोकन का दस लाखवाँ हिस्सा, रखने वाले प्राप्तकर्ता को सस्ता आँकड़ा मिला। एक ऑर्डर के लिए इसका क्या मतलब है, यह सक्रिय न किए गए खातों वाली पोस्ट में है।
27 अक्टूबर 2026 को हमने उनमें से दो कॉल फिर चलाए, उसी वॉलेट से उन्हीं दो पतों को, एक जिसके पास USDT था और एक ख़ाली। दोनों में energy_used और energy_penalty वही लौटे जो सितंबर में थे, एक-एक इकाई तक।
अधिभार और उसके पैरामीटर
चेन में उस चीज़ के लिए एक स्विच है जिसे वह डायनामिक ऊर्जा कहती है, और हर अनुबंध का अपना energy_factor होता है। इसके साथ तीन और नेटवर्क पैरामीटर चलते हैं, और अपने नामों को देखें तो वे हैं: इस्तेमाल का थ्रेशोल्ड, वह चरण जिससे गुणक चढ़ता है, और एक छत। जो अनुबंध भारी इस्तेमाल में है वह हर कॉल के लिए ज़्यादा ऊर्जा चुकाता है। हमने पैरामीटर 3 सितंबर 2026 को पढ़े और फिर 27 अक्टूबर को, जिस दिन USDT का अपना गुणक भी पढ़ा। दोनों पाठों के बीच पैरामीटर हिले नहीं थे।
| चेन से पढ़ा गया | मान |
|---|---|
डायनामिक ऊर्जा चालू, getAllowDynamicEnergy | 1 |
थ्रेशोल्ड, getDynamicEnergyThreshold | 5,000,000,000 |
चरण, getDynamicEnergyIncreaseFactor | 2,000 |
छत, getDynamicEnergyMaxFactor | 34,000 |
USDT का energy_factor, 27 अक्टूबर 2026 | 34,000 |
जलाने की दर, sun प्रति इकाई, getEnergyFee | 100 |
USDT छत पर बैठा है। जिस शाम हमने वह गुणक पढ़ा, उसी शाम USDT रखने वाले प्राप्तकर्ता को किए गए ट्रांसफ़र ने सितंबर वाला ही energy_penalty बताया, इसलिए सितंबर के आँकड़े भी 34,000 के गुणक पर बैठते हैं।
65,000 और 131,000 का बँटवारा
energy_penalty को अधिभार पढ़िए और बाक़ी को कॉल का अपना काम, यानी उसकी मूल लागत। तब दोनों तरह के ट्रांसफ़र में 15,000 इकाई काम का और 51,000 इकाई अधिभार का अंतर बैठता है:
| प्रति ट्रांसफ़र ऊर्जा | USDT है | USDT नहीं | अंतर |
|---|---|---|---|
| मूल लागत | 14,650 | 29,650 | 15,000 |
| अधिभार | 49,635 | 100,635 | 51,000 |
| कुल | 64,285 | 130,285 | 66,000 |
अंतर वाले कॉलम का हिसाब सटीक है: अतिरिक्त 15,000 इकाई काम पर 51,000 इकाई अधिभार चढ़ता है, यानी हर पाँच पर सत्रह, जो 34,000 का गुणक है जिसे दस हज़ार के हिस्सों में गिना गया हो। इसलिए जो 66,000 दोनों उद्धृत आँकड़ों को अलग करता है, वह अतिरिक्त काम का एक खंड है, जिस पर USDT के गुणक से अधिभार लगा है।
कॉल का बाक़ी हिस्सा उस दर से थोड़ा चूकता है। 14,650 का सत्रह बटा पाँच 49,810 होता, और नोड ने 49,635 बताया, जो 175 इकाई कम है। ख़ाली बैलेंस वाला मामला भी 175 इकाई कम है, इसलिए यह फ़ासला उस काम में बैठा है जो दोनों तरह के ट्रांसफ़र में साझा है। चूँकि 49,635 किसी भी पूर्ण संख्या का सत्रह बटा पाँच नहीं है, इसलिए यह कमी कॉल का वह टुकड़ा नहीं हो सकती जो अधिभार से बच निकलता है, और जिस शाम उसी कॉल ने वही पेनल्टी बताई, उस शाम गुणक 34,000 पढ़ा गया था। यह पैटर्न राउंडिंग जैसा दिखता है, जिसमें अधिभार कॉल के बहुत-से छोटे चरणों पर एक-एक करके निकाला जाता है। हमने इसे नोड के कोड से नहीं जाँचा, इसलिए तालिका वही छापती है जो नोड ने बताया और 175 को अनसमझा छोड़ देती है।
अतिरिक्त 15,000 इकाई काम आख़िर क्या है
USDT का बैलेंस टोकन अनुबंध की अपनी स्टोरेज में एक प्रविष्टि है, जो TRON खाते से अलग रखी जाती है, और इसी वजह से बिना खाते वाला पता भी USDT रख सकता है। जिस पते पर बैलेंस है, उसे ट्रांसफ़र एक ऐसी प्रविष्टि को ओवरराइट करता है जिसमें पहले से कोई संख्या है। शून्य बैलेंस वाले को ट्रांसफ़र एक ख़ाली प्रविष्टि में लिखता है। इस फ़ासले की आम व्याख्या यह है कि ख़ाली प्रविष्टि में लिखना ओवरराइट से महँगा पड़ता है, और 15,000 उससे मेल खाता है। हमारी जाँचों ने लागत नापी, उस कारण को परखे बिना, इसलिए इसे ऐसी व्याख्या मानिए जिससे संख्याएँ सहमत हैं।
अगर यह सही है, तो जिस पते के पास कभी USDT था और जिसने सारा बाहर भेज दिया, उस पर ऊँचा आँकड़ा लगना चाहिए, क्योंकि उसकी प्रविष्टि फिर शून्य पर लौट आई है। सर्च नतीजों में कम से कम एक पन्ना कहता है कि ऐसे पते को अब भी कम वाला आँकड़ा मिल सकता है। हमने इस मामले के लिए कोई जाँच नहीं सोची थी, और दर्ज की गई जाँचों में से एक फिर भी इसे ढक लेती है। पहले दौर का एक शून्य-बैलेंस प्राप्तकर्ता USDT ट्रांसफ़र की फ़ीड से भेजने वाले के रूप में उठाया गया था: जाँच से ठीक एक हफ़्ते पहले उसने चवालीस USDT से कुछ ज़्यादा भेजा था। यानी उसके पास USDT रहा था और वह ख़ाली कर दिया गया था, और उसे किए गए ट्रांसफ़र का आँकड़ा 130,285 आया, वही जो उस दौर के लिए बनाए गए पते का आया था। यह एक पता है, एक बार पढ़ा गया।
64,285 से 65,000 तक
गोल आँकड़े नापे गए आँकड़ों से ज़रा ऊपर बैठते हैं। हमारी सेवा भी इसी तरह ऊपर गोल करती है: यहाँ एक ऑर्डर दोनों तरह के ट्रांसफ़र के लिए 65,000 या 131,000 इकाई का बनता है, जबकि नापी गई ज़रूरतें 64,285 और 130,285 हैं। इससे दोनों सूरतों में 715 इकाई की गुंजाइश बचती है। ऊपर गोल करना सुरक्षित तरफ़ है, क्योंकि जिस ट्रांसफ़र की ऊर्जा कम पड़ जाए वह या तो बाक़ी के लिए भेजने वाले का TRX जला देता है या, जब जलाने की इजाज़त न हो, ऊर्जा ख़र्च हो चुकने के बाद भी नाकाम हो जाता है (वह नाकामी कैसी दिखती है)। किराए पर लेने के बजाय जलाने पर, नापे गए आँकड़े गोल आँकड़ों से कुछ कम बैठते हैं:
| प्राप्तकर्ता | नापी गई ऊर्जा | 100 sun प्रति इकाई पर जलाने पर |
|---|---|---|
| USDT है | 64,285 इकाइयाँ | 6.4285 TRX |
| USDT नहीं | 130,285 इकाइयाँ | 13.0285 TRX |
दोनों आँकड़े सिर्फ़ ऊर्जा के हैं। ट्रांसफ़र बैंडविड्थ भी ख़र्च करता है, जो एक अलग मीटर है जिसका बिल कहीं छोटा है (ऊर्जा और बैंडविड्थ आमने-सामने)।
संख्याओं को क्या हिला सकता है
पहला लीवर गुणक है। वह अनुबंध का है, और पैरामीटरों के नामों को देखें तो वह अनुबंध के इस्तेमाल के साथ चरणों में चढ़ता है, छत तक। USDT अभी छत पर है, इसलिए यहाँ से गुणक या तो टिका रह सकता है या उतर सकता है, जब तक छत ख़ुद न बदली जाए। थ्रेशोल्ड, चरण और छत नेटवर्क पैरामीटर हैं, जिन्हें नेटवर्क का गवर्नेंस बदल सकता है। छत पर अधिभार USDT ट्रांसफ़र के ख़र्च का तीन-चौथाई से ज़्यादा है। इन आँकड़ों पर, उसके बिना USDT रखने वाले को वही ट्रांसफ़र अपनी मूल लागत, 14,650 इकाई, पर आता।
दूसरा जलाने की दर है, getEnergyFee, जो हमारे दोनों पाठों के दिन 100 sun प्रति इकाई थी। वही तय करती है कि ऊर्जा जलाने का TRX में कितना दाम पड़ता है, और ऊर्जा की गिनती वही रहती है चाहे दर कुछ भी हो। नेटवर्क इसे पहले बदल चुका है, और शुल्क की गाइड आज की दर पर गणित दिखाती है। हमारी जाँचों के दोनों सेटों के बीच के सात हफ़्तों में ऊर्जा वाला पक्ष नहीं हिला: दोनों बार 64,285 और 130,285।
कुछ भी हस्ताक्षर होने से पहले जाँच लीजिए कि प्राप्तकर्ता पर कौन-सा आँकड़ा लगेगा: API रेफ़रेंस में GET /v1/address-check →