आंतरिक रूप से समीक्षित · शून्य गंभीर निष्कर्षBNB Smart Chain (BEP-20)UUPS प्रॉक्सी (ERC-1967)Solidity 0.8.24

J1USD स्मार्ट अनुबंध सुरक्षा और तकनीकी मूल्यांकन

BNB Smart Chain पर J1USD टोकन प्रणाली की व्यापक वास्तुशिल्प विश्लेषण और सत्यापन रिपोर्ट। अपग्रेड सुरक्षा, अपरिवर्तनीय पहुँच नियंत्रण, आपूर्ति इनवेरिएंट और तरलता अलगाव की आंतरिक तकनीकी समीक्षा की गई।

मूल्यांकन प्रकटीकरण: यह सुरक्षा और तकनीकी मूल्यांकन AirJIT विकास और सुरक्षा टीम द्वारा आंतरिक रूप से किया गया था। यह किसी स्वतंत्र तृतीय-पक्ष द्वारा किया गया स्मार्ट अनुबंध ऑडिट नहीं है।

शून्य गंभीर निष्कर्ष

0 Critical

कोर टोकन अनुबंधों में 0 उच्च / 0 गंभीर सुरक्षा कमियाँ पाई गईं।

कठोर आपूर्ति सीमा

1,000,000,000

बाइटकोड स्तर पर 1,000,000,000 J1USD की अपरिवर्तनीय सीमा लागू।

भूमिकाओं का स्पष्ट पृथक्करण

RBAC Partitioned

व्यवस्थापक, अपग्रेडर, मिन्टर, बर्नर और पॉज़र के लिए स्वतंत्र पते।

UUPS स्टोरेज स्लॉट अंतर

__gap[42]

आरक्षित 42 स्लॉट अंतर (__gap[42]) भविष्य के अपग्रेड में मेमोरी टकराव को रोकता है।

सत्यापित ऑन-चेन परिनियोजन

प्रामाणिक अनुबंध पते और सत्यापन

J1USD एक मॉड्यूलर OpenZeppelin ERC-1967 UUPS प्रॉक्सी पैटर्न के माध्यम से संचालित होता है। नीचे BNB Smart Chain मेननेट पर परिनियोजित सत्यापित स्रोत अनुबंध दिए गए हैं।

आधिकारिक टोकन प्रॉक्सी
इस पते को रखें और व्यापार करें

J1USDProxy.sol

उपयोगकर्ताओं के लिए प्रामाणिक BEP-20 टोकन पता। सभी शेष, अनुमतियाँ और अनुबंध भंडारण स्थायी रूप से यहीं रहते हैं। Grey Wallet, MetaMask, Trust Wallet और BNB Chain के सभी DEX के साथ संगत।

प्रॉक्सी पता (प्रामाणिक)
प्रॉक्सी मानकERC-1967 (UUPS)
टोकन मानकBEP-20 (6 दशमलव)
तर्क कार्यान्वयन अनुबंध
यहाँ धनराशि न भेजें

J1USDTokenUpgradeable.sol

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

कार्यान्वयन पता
संस्करणv1.0.0 (आंतरिक समीक्षा)
आपूर्ति सीमा1,000,000,000 J1USD
Security Notice for Integrators & Wallets: Always route transfers, deposits, and automated liquidity integrations directly to the Proxy address (0xb3B34F032923DeA2ee8476Df26894E8fA9Eb7F54). The implementation address is stateless bytecode; funds directly transferred to the implementation contract cannot be retrieved by users.

अनुपालन और नीति समीक्षा

ब्लैकलिस्ट, खाता फ़्रीज़िंग और प्रतिबंध तंत्र

टोकन के अनुपालन तंत्र का मूल्यांकन। J1USD एक खुला BEP-20 टोकन है जो सक्रिय ब्लैकलिस्ट और फ़्रीज़िंग मॉडल पर काम करता है — व्हाइटलिस्ट पर नहीं —, जिससे कानूनी प्रतिबंधों को लागू करते हुए अधिकतम अनुमतिहीन संयोजकता सुनिश्चित होती है।

अनुमतिहीनउत्तीर्ण · अनुमत

कोई व्हाइटलिस्ट आवश्यकता नहीं (अनुमतिहीन स्थानांतरण)

J1USD में कोई स्थानांतरण व्हाइटलिस्ट नहीं है। BNB Smart Chain पर कोई भी मानक Web3 वॉलेट बिना KYC या पूर्व पंजीकरण के DEX पर स्वतंत्र रूप से J1USD प्राप्त, धारण, भेज और व्यापार कर सकता है।

सुरक्षा मूल्यांकन:मानक स्थानांतरण कार्य (transfer, transferFrom) अप्रतिबंधित खातों के लिए बिना शर्त निष्पादित होते हैं। सामान्य पीयर-टू-पीयर और DeFi संचालन के लिए किसी अनुमति की आवश्यकता नहीं होती।
RBAC नियंत्रितउत्तीर्ण · सुरक्षित

स्पष्ट ब्लैकलिस्ट कार्यक्षमता (जोखिम अनुपालन)

समर्पित BLACKLISTER_ROLE दुर्भावनापूर्ण पतों (हैक, प्रतिबंध या चोरी से जुड़े) को धनराशि डेबिट या क्रेडिट करने से रोक सकता है।

सुरक्षा मूल्यांकन:addToBlacklist() को ऑन-चेन ऑडिटेबिलिटी के लिए गैर-शून्य bytes32 complianceReference हैश की आवश्यकता होती है। संरक्षित सिस्टम पते (DEX AMM और ट्रेजरी) गणितीय रूप से ब्लैकलिस्ट से मुक्त हैं।
विवाद पृथक्करणउत्तीर्ण · पृथक

सटीक आंशिक और पूर्ण खाता फ़्रीज़िंग

अनुबंध freezeAccount() और freezeBalance(amount) दोनों का समर्थन करता है। वाणिज्यिक विवादों के दौरान, केवल विवादित राशि को लॉक किया जाता है, जिससे शेष धनराशि की तरलता बनी रहती है।

सुरक्षा मूल्यांकन:availableBalanceOf(account) गतिशील रूप से उपलब्ध और फ़्रीज़ की गई धनराशि को अलग करता है। निर्विवाद स्वच्छ धनराशि सक्रिय जाँच के दौरान भी धारक द्वारा 100% हस्तांतरणीय रहती है।
प्रतिबंधितउत्तीर्ण · कठोर प्रतिबंध

प्रमाणित कानूनी जब्ती सुरक्षा (Wipe)

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

सुरक्षा मूल्यांकन:अप्रतिबंधित या अनफ़्रीज़ पते पर कॉल किए जाने पर WipeRequiresRestrictedAccount के साथ निरस्त होता है। यदि अनुरोधित राशि फ़्रीज़ की गई धनराशि से अधिक हो तो WipeExceedsFrozenBalance के साथ निरस्त होता है।

बाइटकोड-स्तरीय हुक सत्यापन: _update(), _approve() और transferFrom()

बाइटकोड _update(from, to, amount) के अंदर सख्त डेबिट और क्रेडिट सत्यापन लागू करता है:

डेबिट जाँच (_requireCanDebit)

प्रेषक ब्लैकलिस्टेड नहीं होना चाहिए (!isBlacklisted), खाता पूरी तरह से फ़्रीज़ नहीं होना चाहिए (!isAccountFrozen), और राशि availableBalanceOf से अधिक नहीं हो सकती।

क्रेडिट जाँच (_requireCanCredit)

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

अनुमोदन जाँच (_approve)

टोकन स्वामी और व्ययकर्ता दोनों प्रतिबंधों से मुक्त होने चाहिए। प्रतिबंधित संस्थाएँ भत्ते सौंपने या तृतीय-पक्ष स्थानांतरण निष्पादित करने में असमर्थ हैं।

स्मार्ट अनुबंध वास्तुकला

सुरक्षा तंत्र और इनवेरिएंट विश्लेषण

J1USD के मुख्य घटकों का गहन ऑडिट मूल्यांकन: प्रॉक्सी अपग्रेड सुरक्षा, क्रिप्टोग्राफ़िक डिडुप्लीकेशन, अलगाव और आपातकालीन सुरक्षा उपाय।

UUPS अपग्रेड सुरक्षा

OpenZeppelin के UUPS मानक पर निर्मित। स्थिति चर और शेष राशि केवल प्रॉक्सी स्लॉट में संग्रहीत होती है। कार्यान्वयन कंस्ट्रक्टर _disableInitializers() को कॉल करता है ताकि लॉजिक अनुबंध पर स्वतंत्र रूप से दावा न किया जा सके।

स्टোরেज सुरक्षा: 42 स्लॉट का आरक्षित अंतर (__gap[42]) भविष्य के अपग्रेड में मेमोरी टकराव को रोकता है।

कठोर आपूर्ति सीमा इनवेरिएंट

असीमित रूप से जारी होने वाले स्टेबलकॉइन के विपरीत, J1USD अनुबंध स्तर पर supplyCeiling लागू करता है। प्रत्येक mint() जाँचता है कि totalSupply() + amount <= supplyCeiling। व्यवस्थापक को सीमा को वर्तमान परिसंचारी आपूर्ति से कम करने की मनाही है।

अधिकतम आपूर्ति सीमा: 1,000,000,000.000000 J1USD (6 दशमलव)।

आइडempotent इवेंट डिडुप्लीकेशन

मिन्टिंग और बर्निंग कार्यों के लिए एक अद्वितीय bytes32 संदर्भ हैश (issuanceReference / burnReference) अनिवार्य है। यदि कोई लेनदेन संदर्भ का पुन: उपयोग करने का प्रयास करता है, तो यह तुरंत ReferenceAlreadyUsed के साथ निरस्त हो जाता है।

ऑपरेटर रीप्ले कमियों, दोहरे निर्गमन और इंडेक्सिंग विचलन को रोकता है।

टाइम-लॉक व्यवस्थापक संक्रमण

AccessControlDefaultAdminRulesUpgradeable का उपयोग करता है। व्यवस्थापक भूमिका हस्तांतरण एक ही ब्लॉक में निष्पादित नहीं हो सकता; यह एक अनिवार्य समय विलंब (defaultAdminDelay) लागू करता है, जो कुंजी चोरी से बचाता है।

भूमिकाओं का अलगाव: अपग्रेडर, मिन्टर, बर्नर और पॉज़र पूरी तरह स्वतंत्र रूप से काम करते हैं।

सटीक आंशिक फ़्रीज़िंग

पूरे वॉलेट को ब्लॉक करने के बजाय J1USD freezeBalance प्रदान करता है। विवादित धनराशि को आनुपातिक रूप से फ़्रीज़ किया जा सकता है जबकि availableBalanceOf शेष वैध धनराशि के उपयोग की अनुमति देता है।

वाणिज्यिक विवादों के दौरान निर्दोष शेष राशि की रक्षा करता है।

संरक्षित सिस्टम पते

कोर प्रोटोकॉल पते (PancakeSwap पूल, ट्रेजरी और परिचालन अनुबंध) protectedSystemAddress के रूप में पंजीकृत हैं, जिससे वे फ़्रीज़ या ब्लैकलिस्ट से सुरक्षित रहते हैं।

सार्वजनिक DEX व्यापारिक जोड़ियों पर आकस्मिक या दुर्भावनापूर्ण सेवा इनकार (DoS) को रोकता है।

प्राधिकरण मैट्रिक्स

भूमिका-आधारित पहुँच नियंत्रण (RBAC) अनुमतियाँ

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

भूमिका पहचानकर्ताविशेषाधिकार प्राप्त कार्यसुरक्षा नियंत्रण और इनवेरिएंट
DEFAULT_ADMIN_ROLE0x00 (Admin Root)भूमिका कार्यभार कॉन्फ़िगर करता है, आपूर्ति सीमा अपडेट करता है और संरक्षित सिस्टम पते नामित करता है।अनिवार्य टाइमलॉक विलंब के साथ OpenZeppelin AccessControlDefaultAdminRules द्वारा शासित।
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')_authorizeUpgrade() में UUPS लॉजिक कार्यान्वयन अपग्रेड को अधिकृत करता है।प्रोटोकॉल मल्टीसिग प्रशासन तक सीमित; वैध अनुबंध के बिना स्थिति नहीं बदल सकता।
MINTER_ROLEkeccak256('MINTER_ROLE')सत्यापित संपार्श्विक या प्रोटोकॉल निपटान आवश्यकताओं के विरुद्ध नए J1USD टोकन जारी करता है।अपरिवर्तनीय supplyCeiling और अद्वितीय issuanceReference डिडुप्लीकेशन द्वारा सख्ती से सीमित।
BURNER_ROLEkeccak256('BURNER_ROLE')मोचन या प्रोटोकॉल ऋण निकासी के दौरान टोकन आपूर्ति कम करता है।अद्वितीय burnReference आवश्यक। सीमित छूट शोधनक्षमता बनाए रखने के लिए प्रतिबंधित खातों से जलाने की अनुमति देती है।
PAUSER_ROLEkeccak256('PAUSER_ROLE')मानक स्थानांतरण को रोकने वाले आपातकालीन सर्किट ब्रेकर को सक्रिय या निष्क्रिय करता है।चरम संकट की घटनाओं या ब्रिज विसंगतियों के लिए आपातकालीन रक्षा क्षमता।
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')वैश्विक डेबिट/क्रेडिट ब्लैकलिस्ट में पते जोड़ता या हटाता है।protectedSystemAddress के अंतर्गत नामित पतों को लक्षित नहीं कर सकता। अनुपालन संदर्भ आवश्यक है।
FREEZER_ROLEkeccak256('FREEZER_ROLE')पूरे खाते या आंशिक शेष राशि को फ़्रीज़ करता है (freezeBalance, freezeAllCurrentBalance)।विवादित राशि को फ़्रीज़ करते हुए शेष राशि को तरल रखने की अनुमति देता है। सिस्टम पते सुरक्षित हैं।
WIPER_ROLEkeccak256('WIPER_ROLE')प्रमाणित न्यायिक या नियामक अदालती आदेश के अनुसार फ़्रीज़ किए गए शेष को नष्ट करता है।केवल पहले से फ़्रीज़ खातों पर लागू; फ़्रीज़ राशि से अधिक नहीं हो सकता।
RESCUE_ROLEkeccak256('RESCUE_ROLE')गलती से अनुबंध पर भेजे गए तीसरे पक्ष के असंबंधित BEP-20 टोकन को पुनर्प्राप्त करता है।J1USD टोकन शेष को छूने की सख्त मनाही है (RescueProhibitedToken)।

तरलता अवसंरचना और पूल मूल्यांकन

ऑन-चेन DEX तरलता बनाम केंद्रीकृत द्वितीयक पूल

J1USD BNB Smart Chain पर गैर-कस्टोडियल विकेंद्रीकृत AMM बाजारों को ऑफ-चेन केंद्रीकृत ऑर्डर बुक्स के साथ संतुलित करता है। यहाँ पूल पतों, लाइव ट्रेडिंग लिंक और सुरक्षा सीमाओं का विवरण दिया गया है।

ऑन-चेन विकेंद्रीकृत तरलता (DEX)

स्वचालित मार्केट मेकर (AMM) पूल

PancakeSwap के माध्यम से BNB Smart Chain पर मूल रूप से संचालित होने वाले गैर-कस्टोडियल स्मार्ट अनुबंध तरलता पूल। शून्य तृतीय-पक्ष कस्टडी जोखिम; व्यापार अपरिवर्तनीय बाइटकोड के माध्यम से पीयर-टू-कॉन्ट्रैक्ट निष्पादित होते हैं।

PancakeSwap V3 · J1USD / USDC
प्राथमिक0.05% शुल्क

सघन तरलता पूल जो J1USD को 1.00 USD Coin से मजबूती से जोड़ता है। अनुपालन फ़्रीज़ से सुरक्षित नामित सिस्टम पता।

पूल स्मार्ट अनुबंध पता:
PancakeSwap V2 · J1USD / JIT
इकोसिस्टम0.25% शुल्क

विकेंद्रीकृत AMM ब्रिज जो AirJIT उपयोगिता टोकन (JIT) और प्रोटोकॉल निपटान संपत्ति (J1USD) को जोड़ता है।

पूल स्मार्ट अनुबंध पता:
ऑफ-चेन और केंद्रीकृत द्वितीयक पूल

आंतरिक ऑर्डर बुक पूल

AirJIT बिना किसी समर्पित स्मार्ट अनुबंध पते के ऑफ-चेन प्रमुख संपार्श्विक जोड़ियों पर द्वितीयक बाजार उद्धृत करता है। व्यापार निपटान उच्च-थ्रूपुट मिलान इंजनों के माध्यम से किया जाता है।

स्मार्ट अनुबंध मिन्टिंग विशेषाधिकार शून्य

ऑफ-चेन सर्वर के पास BNB Smart Chain पर J1USD टोकन बनाने या जलाने के लिए कोई निजी कुंजी नहीं है।

1:1 ऑन-चेन संपत्ति समर्थन

आंतरिक ऑफ-चेन खाता शेष ऑन-चेन प्रॉक्सी टोकन जमा द्वारा कड़ाई से समर्थित और सीमित हैं।

मूल्यांकन निष्कर्ष और खतरा मॉडलिंग

हमला वेक्टर विश्लेषण और औपचारिक सुरक्षा

तकनीकी समीक्षा के दौरान जाँचे गए संभावित आर्थिक, गणितीय और क्रिप्टोग्राफ़िक हमले सतहों की व्यापक समीक्षा।

सुरक्षित (इम्यून)

रीएंट्रेंसी हमले

टोकन शेष राशि दर्ज करने से पहले अविश्वसनीय बाहरी कॉल किए बिना OpenZeppelin ERC-20 स्थिति अपडेट (_update) प्राप्त करता है। Checks-Effects-Interactions का पूर्ण पालन।

लागू नहीं

ओरेकल और स्पॉट मूल्य हेरफेर

J1USD टोकन लेज़र स्थानांतरण या अनुमोदन के दौरान बाहरी मूल्य ओरेकल से परामर्श नहीं करता। गणना 100% आंतरिक है, जिससे फ्लैश लोन शोषण समाप्त हो जाता है।

रोका गया

कार्यान्वयन अपहरण

कार्यान्वयन कंस्ट्रक्टर परिनियोजन पर _disableInitializers() चलाता है। हमलावर द्वारा अंतर्निहित अनुबंध पर स्वतंत्र स्वामित्व संभव नहीं है।

शमित

शत्रुतापूर्ण शासन अधिग्रहण

व्यवस्थापक भूमिका पुनर्नियुक्ति अपरिवर्तनीय समय विलंब (defaultAdminDelay) लागू करती है। एक कुंजी समझौता तुरंत पूर्ण नियंत्रण नहीं दे सकता।

सुरक्षा इनवेरिएंट

औपचारिक रूप से जाँचे गए सुरक्षा इनवेरिएंट

बाइटकोड-स्तरीय तर्क जाँच का सारांश जो पुष्टि करता है कि सभी चरम स्थितियों में सिस्टम की अखंडता सुरक्षित रहती है।

स्थिति · परिणाम

आपूर्ति सीमा प्रवर्तन

यदि सीमा पार हो जाती है तो मिन्टिंग SupplyCeilingExceeded के साथ निरस्त हो जाती है। व्यवस्थापक को सीमा को परिसंचारी आपूर्ति से कम करने की मनाही है।

प्रवर्तन तंत्रmint() में supplyCeiling स्थिति जाँच
स्थिति · परिणाम

मिन्टिंग और बर्निंग रीप्ले डिडुप्लीकेशन

प्रत्येक लेनदेन के लिए अद्वितीय bytes32 संदर्भ पहचानकर्ता आवश्यक है। डुप्लिकेट कॉल ReferenceAlreadyUsed के साथ तुरंत निरस्त हो जाते हैं।

प्रवर्तन तंत्र_usedIssuanceReferences और _usedBurnReferences मैपिंग
स्थिति · परिणाम

कार्यान्वयन तर्क अपहरण निवारण

कार्यान्वयन अनुबंध कंस्ट्रक्टर में इनिशियलाइज़र को लॉक करता है। हमलावर अंतर्निहित तर्क अनुबंध पर स्वतंत्र रूप से नियंत्रण नहीं कर सकते।

प्रवर्तन तंत्रकंस्ट्रक्टर में _disableInitializers() कॉल
स्थिति · परिणाम

भंडारण लेआउट टकराव सुरक्षा

प्रॉक्सी स्टोरेज मानक स्लॉट का पालन करता है। 42 शब्दों का आरक्षित अंतर सुनिश्चित करता है कि भविष्य के अपग्रेड मौजूदा चर को ओवरराइट न करें।

प्रवर्तन तंत्रERC-1967 मानक स्लॉट + uint256[42] अंतर
स्थिति · परिणाम

शत्रुतापूर्ण व्यवस्थापक अधिग्रहण न्यूनीकरण

DEFAULT_ADMIN_ROLE का हस्तांतरण तुरंत नहीं होता। अनिवार्य विलंब वाली दो-चरणीय प्रक्रिया एक कुंजी के रिसाव से होने वाले नुकसान से बचाती है।

प्रवर्तन तंत्रdefaultAdminDelay के साथ AccessControlDefaultAdminRules
स्थिति · परिणाम

महत्वपूर्ण अवसंरचना सुरक्षा

पंजीकृत सिस्टम पते (DEX पूल, ट्रेजरी, परिचालन अनुबंध) फ़्रीज़ या ब्लैकलिस्ट नहीं किए जा सकते, जिससे DoS जोखिम समाप्त हो जाते हैं।

प्रवर्तन तंत्रअनुपालन कार्यों में _requireNotProtected() जाँच
स्थिति · परिणाम

टोकन बचाव में स्वयं-निकासी रोकथाम

गलती से भेजे गए टोकन को वापस पाने की अनुमति देता है, लेकिन J1USD टोकन अनुबंध को लक्षित करने वाले कॉल को स्पष्ट रूप से ब्लॉक करता है।

प्रवर्तन तंत्रrescueERC20() में RescueProhibitedToken जाँच
स्थिति · परिणाम

वैश्विक आपातकालीन सर्किट ब्रेकर

अधिकृत PAUSER_ROLE बाजार की असामान्यताओं में स्थानांतरण रोक सकता है, जबकि कानूनी जब्ती संचालन सुरक्षित रहते हैं।

प्रवर्तन तंत्रtransfer/mint/approve पर whenNotPaused संशोधक
स्थिति · परिणाम

पृथक शेष फ़्रीज़िंग सटीकता

उपयोगकर्ता के पूरे वॉलेट को लॉक किए बिना विवादित धनराशि को फ़्रीज़ करने की अनुमति देता है, जिससे शेष धनराशि पूरी तरह तरल रहती है।

प्रवर्तन तंत्रavailableBalanceOf() गणितीय पृथक्करण

जिम्मेदार प्रकटीकरण

सुरक्षा भेद्यता की रिपोर्ट करें

AirJIT एक सक्रिय भेद्यता प्रकटीकरण कार्यक्रम चलाता है। यदि आप J1USD प्रॉक्सी, कार्यान्वयन या बुनियादी ढांचे में कोई सुरक्षा कमी पाते हैं, तो कृपया जिम्मेदारी से रिपोर्ट करें।

यदि संभव हो तो PGP का उपयोग करके संवेदनशील रिपोर्ट एन्क्रिप्ट करें। हम 24 घंटों के भीतर सभी वैध प्रस्तुतियों की पुष्टि करते हैं।