التقييم الأمني والتقني للعقد الذكي J1USD
تقرير تحليلي شامل للهندسة المعمارية والتحقق من نظام رمز J1USD على BNB Smart Chain. تمت مراجعته لضمان أمان الترقية، وضوابط الوصول غير القابلة للتغيير، وثوابت المعروض، وفصل السيولة بين المنصات.
صفر ثغرات حرجة
0 Critical
0 ثغرات عالية / 0 ثغرات حرجة تم تحديدها في عقود الرمز الأساسية.
سقف معروض صارم
1,000,000,000
حد ثابت يبلغ 1,000,000,000 J1USD مفروض على مستوى كود البايت (Bytecode).
فصل الأدوار والمهام
RBAC Partitioned
عناوين مستقلة للمسؤول، والترقية، والصك، والحرق، والإيقاف المؤقت.
فجوات تخزين UUPS
__gap[42]
فجوة تخزين محجوزة تضم 42 موضعاً لمنع تضارب الذاكرة عند الترقية مستقبلاً.
عمليات النشر المعتمدة على السلسلة
عناوين العقود الرسمية والتحقق منها
يعمل J1USD من خلال نمط بروكسي UUPS القياسي ERC-1967 من OpenZeppelin. فيما يلي العقود المصدرية المعتمدة والمنشورة على الشبكة الرئيسية لـ BNB Smart Chain.
J1USDProxy.sol
العنوان الرسمي لرمز BEP-20 الموجه للمستخدمين. توجد جميع الأرصدة والتفويضات وحالة التخزين بشكل دائم هنا. متوافق مع Grey Wallet وMetaMask وTrust Wallet وجميع منصات DEX على BNB Chain.
J1USDTokenUpgradeable.sol
يحتوي عقد التنفيذ على قواعد المعاملات المترجمة، وفحوصات الامتثال، وحدود سقف المعروض، ومحددات الأدوار. التهيئة المباشرة مقفلة عند النشر بواسطة حماية المنشئ.
0xb3B34F032923DeA2ee8476Df26894E8fA9Eb7F54). The implementation address is stateless bytecode; funds directly transferred to the implementation contract cannot be retrieved by users.مراجعة الامتثال والسياسات
آليات القائمة السوداء وتجميد الحسابات وإنفاذ العقوبات
تقييم آليات الامتثال للرمز. J1USD هو رمز BEP-20 مفتوح يعمل بنموذج القائمة السوداء النشطة والتجميد — وليس القائمة البيضاء — مما يضمن أقصى درجات قابلية التركيب غير المشروطة مع تمكين الامتثال للقرارات القضائية.
عدم اشتراط قائمة بيضاء (تحويلات غير مقيدة)
لا يفرض J1USD أي قائمة بيضاء للتحويل. يمكن لأي محفظة Web3 قياسية على BNB Smart Chain استلام واحتفاظ وإرسال وتداول J1USD بحرية على DEXs دون اشتراط KYC أو تسجيل مسبق.
خاصية القائمة السوداء الصريحة (الامتثال لمكافحة الجرائم)
يمكن لدور BLACKLISTER_ROLE المخصص تقييد العناوين الخبيثة المرتبطة بالاختراقات أو العقوبات أو السرقات الموثقة لمنع سحب أو إيداع الأموال.
تجميد الحسابات الجزئي والكلي عالي الدقة
يدعم العقد كلاً من freezeAccount() وfreezeBalance(amount). في حالة النزاعات التجارية، يتم حجز المبلغ المتنازع عليه فقط، مع الحفاظ على سيولة بقية الأموال.
حماية الشطب القانوني المعتمد للأصول (Wipe)
لا يجوز لدور WIPER_ROLE إتلاف الأرصدة المجمدة إلا استناداً إلى أحكام قضائية أو تنظيمية ملزمة. التدمير التعسفي لأصول المحافظ مستحيل برمجياً.
التحقق من خطافات كود البايت: _update() و_approve() وtransferFrom()
يطبق كود البايت تدقيقاً صارماً لصحة الخصم والائتمان داخل _update(from, to, amount):
يجب ألا يكون المرسل مدرجاً بالقائمة السوداء (!isBlacklisted)، وألا يكون حسابه مجمداً بالكامل (!isAccountFrozen)، وألا يتجاوز المبلغ المطلوب availableBalanceOf.
يجب ألا يكون المستلم مدرجاً بالقائمة السوداء أو مجمداً. يمنع ذلك الجهات المشبوهة من غسل الأموال غير المشروعة عبر محافظ الحراسة المقيدة.
يجب أن يكون مالك الرمز والوكيل المعتمد كلاهما خاليين من أي قيود. لا يمكن للكيانات المقيدة تفويض حدود السحب أو تنفيذ تحويلات بالنيابة.
الهندسة المعمارية للعقد الذكي
آليات الأمان وتحليل الثوابت البرمجية
تقييم دقيق للمكونات الجوهرية لـ J1USD: أمان ترقية البروكسي، ومنع التكرار التشفيري، وفصل المهام، وضمانات الطوارئ.
أمان قابلية الترقية UUPS
مبني وفق معيار UUPS من OpenZeppelin. يتم تخزين متغيرات الحالة وأرصدة المستخدمين حصرياً في فتحات البروكسي. يستدعي منشئ التنفيذ _disableInitializers() لضمان عدم إمكانية المطالبة بعقد المنطق أو تهيئته بشكل منفصل.
ثابت سقف المعروض الصارم
على عكس العملات المستقرة ذات السك المفتوح، يفرض J1USD حداً أقصى للمعروض supplyCeiling في العقد. يتحقق كل استدعاء mint() من أن totalSupply() + amount <= supplyCeiling. يُحظر على المسؤول خفض السقف دون المعروض المتداول حالياً.
منع التكرار التشفيري للمعاملات
تتطلب عمليات السك والحرق مرجع تجزئة bytes32 فريداً (issuanceReference / burnReference). في حال محاولة إعادة استخدام المرجع، يتم التراجع فوراً مع الخطأ ReferenceAlreadyUsed.
انتقال الإدارة بالقفل الزمني
يعتمد على AccessControlDefaultAdminRulesUpgradeable. لا يمكن نقل دور المسؤول في كتلة واحدة؛ بل يفرض تأخيراً زمنياً إلزامياً (defaultAdminDelay)، مما يحمي من الاستيلاء العدائي عند تسرب المفاتيح.
دقة التجميد الجزئي للأرصدة
بدلاً من إغلاق الحساب بالكامل، يتيح J1USD ميزة freezeBalance. يمكن تجميد المبالغ المتنازع عليها حصراً، بينما يسمح availableBalanceOf بمتابعة العمليات الشرعية ببقية الرصيد.
عناوين النظام المحمية
تم تعيين العناوين الحيوية للبروتوكول (مجمعات PancakeSwap والخزينة والبنية التحتية) كعناوين محمية protectedSystemAddress، مما يجعلها محصنة ضد التجميد أو الحظر.
مصفوفة التفويض والصلاحيات
ضوابط الوصول القائمة على الأدوار (RBAC)
التحقق من الامتيازات عبر جهات الإدارة والإصدار والحرق والامتثال والطوارئ. تتطلب جميع الوظائف ذات الامتيازات توقيعات تشفيرية صريحة تتطابق مع الأدوار المحددة.
| معرف الدور | الدوال ذات الامتيازات | ضوابط الأمان والثوابت |
|---|---|---|
| DEFAULT_ADMIN_ROLE0x00 (Admin Root) | تكوين تعيينات الأدوار، وتحديث حدود سقف المعروض، وتسجيل عناوين النظام المحمية. | تخضع لقواعد OpenZeppelin AccessControlDefaultAdminRules مع قفل زمني إلزامي. |
| UPGRADER_ROLEkeccak256('UPGRADER_ROLE') | تفويض ترقيات منطق تنفيذ UUPS في دالة _authorizeUpgrade(). | مقيد حصرياً بحوكمة التوقيعات المتعددة للبروتوكول؛ لا يمكن تعديل الحالة دون نشر عقد صالح. |
| 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 بين أسواق AMM اللامركزية غير الاحتجازية على BNB Smart Chain ودفاتر الأوامر المركزية خارج السلسلة. فيما يلي العناوين الرسمية، وروابط التداول، وحدود الأمان.
مجمعات صانع السوق الآلي (AMM)
مجمعات سيولة عقود ذكية غير احتجازية تعمل أصلياً على BNB Smart Chain عبر PancakeSwap. صفر مخاطر حراسة من أطراف ثالثة؛ الصفقات تنفذ مباشرة من النظير إلى العقد عبر كود بايت ثابت.
مجمع سيولة مركزة يربط J1USD بإحكام بقيمة 1.00 USD Coin. عنوان نظامي محمي ومحصن ضد تجميد الامتثال.
جسر AMM لامركزي يربط بين رمز المنفعة لـ AirJIT (JIT) وأصل التسوية للبروتوكول (J1USD).
مجمعات دفاتر الأوامر الداخلية
توفر AirJIT أسواقاً ثانوية عبر أزواج الضمانات الرئيسية خارج السلسلة دون عناوين عقود ذكية مخصصة. تتم تسوية الصفقات عبر محركات مطابقة مركزية فائقة السرعة.
لا تمتلك الخوادم المركزية أي مفاتيح خاصة تخولها سك أو حرق رموز J1USD على BNB Smart Chain.
أرصدة الحسابات الداخلية مقيدة تماماً بالإيداعات المحققة على عقد البروكسي على السلسلة.
أزواج التداول النشطة خارج السلسلة (دفتر الأوامر المركزي):
نتائج التقييم ونمذجة التهديدات
تحليل نواقل الهجوم والدفاعات الرسمية
مراجعة شاملة لأسطح الهجوم الاقتصادية والرياضية والتشفيرية المحتملة التي تم فحصها خلال التدقيق التقني.
هجمات إعادة الدخول (Reentrancy)
يرث الرمز بدقة تحديثات حالة OpenZeppelin ERC-20 (_update) دون إجراء استدعاءات خارجية غير موثوقة قبل قيد الأرصدة. يتوافق كلياً مع معيار Checks-Effects-Interactions.
التلاعب بأسعار الأوراكل والأسعار الفورية
لا يعتمد دفتر أستاذ رمز J1USD على أوراكل خارجية أثناء التحويلات أو الموافقات. الحسابات داخلية بنسبة 100%، مما يلغي استغلال القروض السريعة (Flash Loans).
اختطاف عقد التنفيذ المنطقي
ينفذ منشئ التنفيذ دالة _disableInitializers() عند النشر. لا يمكن لأي مهاجم تهيئة العقد المنطقي أو الاستيلاء على ملكيته بشكل منفرد.
الاستيلاء العدائي على الحوكمة
يفرض تغيير دور المسؤول تأخيراً زمنياً ثابتاً (defaultAdminDelay). لا يمكن لمفتاح واحد مخترق السيطرة على العقد بصورة فورية.
ثوابت الأمان البرمجية
ثوابت الأمان المحققة رسمياً
ملخص الفحوصات المنطقية على مستوى كود البايت التي تؤكد سلامة النظام في كافة الظروف والسيناريوهات القصوى.
إلزامية سقف المعروض
تفشل عمليات السك مع خطأ SupplyCeilingExceeded إذا تجاوز totalSupply() + amount السقف المحدد. يُحظر على المسؤول خفض السقف إلى ما دون المعروض المتداول.
التحقق من حالة supplyCeiling في دالة mint()منع التكرار في السك والحرق
تتطلب كل معاملة سك أو حرق معرف bytes32 فريداً. أي طلب مكرر بنفس المرجع يرفض فوراً مع ReferenceAlreadyUsed.
جداول _usedIssuanceReferences و_usedBurnReferencesمنع الاستيلاء على عقد التنفيذ
يقفل عقد التنفيذ أدوات التهيئة عند البناء. لا يمكن للمهاجمين تهيئة أو الاستيلاء على عقد المنطق الأساسي بشكل مستقل.
استدعاء _disableInitializers() في دالة البناءحماية هيكل التخزين من التداخل
يلتزم تخزين البروكسي بفتحات ERC-1967. تضمن الفجوة المحجوزة المكونة من 42 كلمة عدم تجاوز المتغيرات الحالية عند الترقية مستقبلاً.
مواضع تخزين ERC-1967 القياسية + فجوة uint256[42]الحد من الاستيلاء العدائي على الإدارة
نقل دور المسؤول DEFAULT_ADMIN_ROLE ليس فورياً. يمنع الإجراء المكون من خطوتين مع تأخير زمني إلزامي الكوارث الناتجة عن تسرب مفتاح فردي.
AccessControlDefaultAdminRules مع تأخير defaultAdminDelayحصانة البنية التحتية الحيوية
لا يمكن تجميد أو حظر عناوين النظام المسجلة (مجمعات DEX والخزينة والعقود التشغيلية)، مما يزيل مخاطر حجب الخدمة عن السيولة العامة.
التحقق من _requireNotProtected() في دوال الامتثالمنع الاستنزاف الذاتي عند استرداد الرموز
تتيح الدالة استعادة الرموز الخارجية المرسلة خطأً، لكنها تحظر صراحةً أي محاولة لسحب رمز J1USD نفسه.
فحص RescueProhibitedToken في rescueERC20()قاطع الدائرة العام للطوارئ
يمكن لدور PAUSER_ROLE إيقاف التحويلات فوراً عند حدوث اضطرابات سوقية كبرى، مع الحفاظ على عمليات الشطب القانونية للأصول.
محدد whenNotPaused على التحويل والصك والتفويضدقة التجميد المعزول للأرصدة
يتيح تجميد المبالغ المتنازع عليها دون قفل محفظة المستخدم بالكامل، مما يترك الأموال السليمة قابلة للاستخدام بحرية.
العزل الحسابي في availableBalanceOf()الإفصاح المسؤول عن الثغرات
الإبلاغ عن ثغرة أمنية
تعتمد AirJIT برنامجاً استباقياً للإفصاح عن الثغرات الأمنية. إذا اكتشفت ثغرة أمنية في وكيل J1USD أو تنفيذه أو بنيته التحتية، يرجى الإبلاغ عنها بمسؤولية.
يرجى تشفير التقارير الحساسة باستخدام PGP كلما أمكن ذلك. نقوم بالرد وتأكيد الاستلام خلال 24 ساعة.