J1USD Akıllı Sözleşme Güvenliği ve Teknik Değerlendirmesi
BNB Smart Chain üzerindeki J1USD token sisteminin kapsamlı mimari analizi ve doğrulama raporu. Yükseltilebilirlik güvenliği, değiştirilemez erişim kontrolleri, arz değişmezleri ve çoklu işlem platformu likidite ayrımı dâhili olarak incelenmiştir.
Sıfır Kritik Bulgu
0 Critical
Ana token sözleşmelerinde 0 yüksek / 0 kritik güvenlik açığı tespit edildi.
Kesin Arz Tavanı
1,000,000,000
Bayt kodu düzeyinde uygulanan 1.000.000.000 J1USD değişmez üst sınır.
Rollerin Ayrılığı
RBAC Partitioned
Yönetici, Yükseltici, Basıcı, Yakıcı ve Duraklatıcı için ayrı adresler.
UUPS Depolama Boşlukları
__gap[42]
Gelecekteki yükseltmelerde bellek çakışmalarını önleyen 42 yuvalık ayrılmış alan (__gap[42]).
DOĞRULANMIŞ ZİNCİR ÜSTÜ DAĞITIMLAR
Kanonik Sözleşme Adresleri ve Doğrulama
J1USD, modüler bir OpenZeppelin ERC-1967 UUPS proxy yapısıyla çalışır. Aşağıda BNB Smart Chain ana ağında dağıtılmış doğrulanmış kaynak sözleşmeleri yer almaktadır.
J1USDProxy.sol
Kullanıcıya yönelik kanonik BEP-20 token adresi. Tüm bakiyeler, yetkilendirmeler ve depolama durumları kalıcı olarak burada yer alır. Grey Wallet, MetaMask, Trust Wallet ve BNB Chain üzerindeki tüm DEX'lerle uyumludur.
J1USDTokenUpgradeable.sol
Derlenmiş iş kurallarını, uyumluluk kontrollerini, arz tavanı sınırlarını ve rol değiştiricilerini içerir. Doğrudan başlatma, dağıtım sırasında kurucu koruması ile kilitlenmiştir.
0xb3B34F032923DeA2ee8476Df26894E8fA9Eb7F54). The implementation address is stateless bytecode; funds directly transferred to the implementation contract cannot be retrieved by users.UYUMLULUK VE POLİTİKA İNCELEMESİ
Kara Liste, Hesap Dondurma ve Yaptırım Mekanizmaları
Tokenın uyumluluk mekanizmalarının değerlendirilmesi. J1USD, beyaz liste yerine aktif bir kara liste ve dondurma modeliyle çalışan açık bir BEP-20 tokenidir; bu sayede yasal yaptırımların uygulanmasını sağlarken maksimum izinsiz şekillendirilebilirliği korur.
Beyaz Liste Zorunluluğu Yok (İzinsiz Transferler)
J1USD'nin transfer beyaz listesi YOKTUR. BNB Smart Chain'deki herhangi bir standart Web3 cüzdanı, KYC veya ön kayıt olmadan DEX'lerde J1USD alabilir, tutabilir, gönderebilir ve takas edebilir.
Açık Kara Liste İşlevselliği (Risk Uyumluluğu)
Özel BLACKLISTER_ROLE rolü, hack, yaptırım veya hırsızlıkla ilişkili kötü amaçlı adreslerin fon transferi yapmasını engelleyebilir.
Hassas Kısmi ve Tam Hesap Dondurma
Sözleşme hem freezeAccount() hem de freezeBalance(amount) işlevlerini destekler. Ticari anlaşmazlıklarda yalnızca ihtilaflı miktar kilitlenir, kalan fonların likiditesi korunur.
Onaylı Yasal Tasfiye Koruması (Wipe)
WIPER_ROLE, dondurulmuş bakiyeleri yalnızca bağlayıcı mahkeme veya düzenleyici kararlara dayanarak imha edebilir. Keyfi cüzdan varlığı imhası yapısal olarak imkansızdır.
Bayt Kodu Düzeyinde Kanca Doğrulaması: _update(), _approve() ve transferFrom()
Bayt kodu _update(from, to, amount) içinde katı borç ve alacak kontrolleri uygular:
Gönderici kara listede OLMAMALIDIR (!isBlacklisted), hesap dondurulmuş OLMAMALIDIR (!isAccountFrozen) ve talep edilen miktar availableBalanceOf değerini aşamaz.
Alıcı kara listede olmamalı ve dondurulmamış olmalıdır. Kötü niyetli aktörlerin yasa dışı fonları kısıtlı gözetim cüzdanlarına aktarmasını engeller.
Hem token sahibi hem de harcayıcı kısıtlamalardan muaf olmalıdır. Kısıtlanmış kuruluşlar yetki devredemez veya üçüncü taraf transferleri yürütemez.
AKILLI SÖZLEŞME MİMARİSİ
Güvenlik Mekanizmaları ve Değişmez Analizi
J1USD çekirdek bileşenlerinin derinlemesine denetim değerlendirmesi: proxy yükseltme güvenliği, kriptografik tekilleştirme, sorumlulukların ayrılması ve acil durum korumaları.
UUPS Yükseltilebilirlik Güvenliği
OpenZeppelin'in UUPS standardı üzerine inşa edilmiştir. Durum değişkenleri ve bakiyeler yalnızca proxy yuvalarında saklanır. Uygulama kurucusu, mantığın bağımsız olarak talep edilmesini önlemek için _disableInitializers() çağırır.
Kesin Arz Tavanı Değişmezi
Sınırsız basılan stablecoin'lerin aksine J1USD sözleşme düzeyinde supplyCeiling uygular. Her mint() işlemi totalSupply() + amount <= supplyCeiling olduğunu kontrol eder. Yöneticinin tavanı mevcut dolaşımdaki arzın altına indirmesi yasaktır.
Tekil Olay Tekilleştirmesi
Basım ve yakım işlemleri benzersiz bir bytes32 referans karması (issuanceReference / burnReference) zorunlu kılar. Bir referansı yeniden kullanma girişimi derhal ReferenceAlreadyUsed ile geri döner.
Zaman Kilitli Yönetici Geçişleri
AccessControlDefaultAdminRulesUpgradeable kullanır. Yönetici rolü devirleri tek bir blokta gerçekleşemez; zorunlu bir gecikme süresi (defaultAdminDelay) uygulayarak anahtar ele geçirilmesine karşı korur.
Hassas Kısmi Dondurma
Tüm hesapları tamamen engellemek yerine J1USD freezeBalance sunar. İhtilaflı tutarlar orantılı dondurulurken, availableBalanceOf meşru harcamalara izin verir.
Korumalı Sistem Adresleri
Çekirdek protokol adresleri (PancakeSwap havuzları, hazine ve operasyonel altyapı) protectedSystemAddress olarak atanmış olup dondurma veya kara listeden muaftır.
YETKİLENDİRME MATRİSİ
Rol Tabanlı Erişim Kontrolü (RBAC) İzinleri
Yönetici, basım, yakım, uyumluluk ve acil durum aktörlerinin ayrıcalıklarının doğrulanması. Tüm ayrıcalıklı işlevler, atanan rollerle eşleşen açık kriptografik imzalar gerektirir.
| Rol Tanımlayıcı | Ayrıcalıklı Fonksiyon(lar) | Güvenlik Kontrolleri ve Değişmezler |
|---|---|---|
| DEFAULT_ADMIN_ROLE0x00 (Admin Root) | Rol atamalarını yapılandırır, arz tavanı sınırlarını günceller ve korunan sistem adreslerini belirler. | Zorunlu zaman kilidi gecikmesi olan OpenZeppelin AccessControlDefaultAdminRules ile yönetilir. |
| UPGRADER_ROLEkeccak256('UPGRADER_ROLE') | _authorizeUpgrade() içinde UUPS mantık yükseltmelerini yetkilendirir. | Çoklu imzalı protokol yönetimiyle sınırlıdır; geçerli bir sözleşme olmadan durum değiştiremez. |
| MINTER_ROLEkeccak256('MINTER_ROLE') | Doğrulanmış teminat veya uzlaşma gereksinimlerine karşı yeni J1USD tokenleri basar. | Değişmez supplyCeiling ve benzersiz issuanceReference tekilleştirmesi ile kesin sınırlandırılmıştır. |
| BURNER_ROLEkeccak256('BURNER_ROLE') | Geri ödeme veya protokol borç tasfiyesi sırasında token arzını azaltır. | Benzersiz burnReference gerektirir. Sınırlı bir istisna, ödeme gücünü korumak için kısıtlı hesaplardan yakıma izin verir. |
| PAUSER_ROLEkeccak256('PAUSER_ROLE') | Standart transferleri durduran acil durum devre kesicisini etkinleştirir veya devre dışı bırakır. | Beklenmedik kriz olayları veya köprü anomalileri için savunma yeteneği. |
| BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE') | Genel borç/alacak kara listesine adres ekler veya çıkarır. | protectedSystemAddress kapsamındaki adresleri hedef alamaz. Uyumluluk takip referansı gerektirir. |
| FREEZER_ROLEkeccak256('FREEZER_ROLE') | Tüm hesapları veya kısmi bakiyeleri dondurur (freezeBalance, freezeAllCurrentBalance). | Kalan bakiyeyi kullanılabilir tutarken ihtilaflı tutarları dondurur. Sistem adresleri muaftır. |
| WIPER_ROLEkeccak256('WIPER_ROLE') | Onaylı yargı veya düzenleyici mahkeme kararı uyarınca dondurulmuş bakiyeleri imha eder. | Yalnızca önceden dondurulmuş hesapları silebilir; dondurulan bakiye miktarını aşamaz. |
| RESCUE_ROLEkeccak256('RESCUE_ROLE') | Yanlışlıkla sözleşmeye gönderilen ilgisiz üçüncü taraf BEP-20 tokenlerini kurtarır. | J1USD token bakiyelerine dokunması kesinlikle yasaktır (RescueProhibitedToken). |
LİKİDİTE ALTYAPISI VE HAVUZ DEĞERLENDİRMESİ
Zincir Üstü DEX Likiditesi vs Merkezi İkincil Havuzlar
J1USD, BNB Smart Chain üzerindeki gözetimsiz merkeziyetsiz AMM pazarlarını zincir dışı merkezi emir defterleriyle dengeler. İşte havuz adresleri, canlı işlem bağlantıları ve güvenlik sınırları.
Otomatik Piyasa Yapıcı (AMM) Havuzları
PancakeSwap aracılığıyla BNB Smart Chain üzerinde yerel olarak çalışan gözetimsiz akıllı sözleşme likidite havuzları. Karşı taraf gözetim riski sıfırdır; işlemler değişmez bayt kodu ile yürütülür.
J1USD'yi 1.00 USD Coin'e sıkıca sabitleyen konsantre likidite havuzu. Uyumluluk dondurmalarından korunan sistem adresi.
AirJIT yardımcı program tokeni (JIT) ile uzlaşma varlığını (J1USD) birbirine bağlayan merkeziyetsiz AMM köprüsü.
Dahili Emir Defteri Havuzları
AirJIT, özel akıllı sözleşme adresleri olmadan ana teminat çiftlerinde zincir dışı ikincil pazarlar sunar. İşlem uzlaşması merkezi yüksek verimli eşleştirme motorlarıyla yürütülür.
Zincir dışı sunucular, BNB Smart Chain üzerinde J1USD tokeni basma veya yakma yetkisine sahip özel anahtarlara sahip değildir.
Dahili zincir dışı hesap bakiyeleri, doğrulanmış zincir üstü proxy token mevduatlarıyla kesin şekilde sınırlandırılmıştır.
Aktif Zincir Dışı İşlem Çiftleri (Emir Defteri):
DEĞERLENDİRME BULGULARI VE TEHDİT MODELLEMESİ
Saldırı Vektörü Analizi ve Resmi Savunmalar
Teknik inceleme sırasında araştırılan potansiyel ekonomik, matematiksel ve kriptografik saldırı yüzeylerinin kapsamlı incelemesi.
Yeniden Giriş (Reentrancy) Saldırıları
Token, bakiye işlemlerinden önce güvenilmeyen harici çağrılar yapmadan OpenZeppelin ERC-20 durum güncellemelerini (_update) devralır. Checks-Effects-Interactions ile tam uyumludur.
Oracle ve Spot Fiyat Manipülasyonu
J1USD token defteri transferler sırasında harici fiyat oracle'larına başvurmaz. Bakiye aritmetiği %100 dahili olup flaş kredi manipülasyonlarını engeller.
Uygulamanın Ele Geçirilmesi
Mantık uygulaması dağıtımda _disableInitializers() yürütür. Temel sözleşme bir saldırgan tarafından bağımsız olarak başlatılamaz veya sahiplenilemez.
Düşmanca Yönetişim Ele Geçirmesi
Yönetici rolü atamaları değiştirilemez bir zaman gecikmesi (defaultAdminDelay) uygular. Tek bir anahtarın ele geçirilmesi kontrolü anında devralamaz.
GÜVENLİK DEĞİŞMEZLERİ
Resmi Olarak Kontrol Edilen Güvenlik Değişmezleri
Tüm uç durumlarda sistem bütünlüğünün korunduğunu doğrulayan bayt kodu kontrolleri özeti.
Arz Tavanı Yürütülebilirliği
totalSupply() + amount tavanı aşarsa işlemler SupplyCeilingExceeded ile geri döner. Yöneticinin tavanı mevcut dolaşımdaki arzın altına düşürmesi yasaktır.
mint() içinde supplyCeiling durum kontrolüBasım ve Yakım Tekrar Tekilleştirmesi
Her işlem benzersiz bir bytes32 tanımlayıcı gerektirir. Aynı referansa sahip mükerrer çağrılar ReferenceAlreadyUsed ile geri döner.
_usedIssuanceReferences ve _usedBurnReferences eşlemeleriUygulama Mantığının Ele Geçirilmesini Önleme
Uygulama sözleşmesi kurucusunda başlatıcıları kilitler. Kötü niyetli aktörler temel mantık sözleşmesini bağımsız başlatamaz veya sahiplenemez.
Kurucuda _disableInitializers() çağrısıDepolama Düzeni Çakışma Koruması
Proxy depolaması standart yuvalara uygundur. 42 kelimelik ayrılmış alan, gelecekteki yükseltmelerin mevcut durum değişkenlerinin üzerine yazmamasını sağlar.
ERC-1967 standart yuvaları + uint256[42] boşluğuDüşmanca Yönetici Ele Geçirmesini Azaltma
DEFAULT_ADMIN_ROLE devri anlık değildir. Zorunlu gecikmeli iki adımlı süreç, ani ele geçirme veya anahtar kaybı felaketlerini önler.
defaultAdminDelay ile AccessControlDefaultAdminRulesKritik Altyapı Dokunulmazlığı
Kayıtlı sistem adresleri (DEX havuzları, hazine, sözleşmeler) dondurulamaz veya kara listeye alınamaz, likidite DoS risklerini ortadan kaldırır.
Uyumluluk fonksiyonlarında _requireNotProtected() kontrolüToken Kurtarmada Kendi Varlığını Çekme Kilidi
Hata ile gönderilen üçüncü taraf tokenlerinin kurtarılmasını sağlar, ancak J1USD token sözleşmesinin kendisini hedef alan çağrıları engeller.
rescueERC20() içinde RescueProhibitedToken kontrolüGenel Acil Durum Devre Kesicisi
Yetkili PAUSER_ROLE, piyasa anomalisi durumunda transferleri derhal durdurabilirken yasal uyumluluk işlemlerini korur.
transfer/mint/approve üzerinde whenNotPaused değiştiricisiİzole Bakiye Dondurma Hassasiyeti
Kullanıcının tüm cüzdanını kilitlemeden ihtilaflı bakiyelerin dondurulmasını sağlar, temiz fonları tamamen likit bırakır.
availableBalanceOf() aritmetik ayrımıSORUMLU AÇIKLAMA
Bir Güvenlik Açığını Bildirin
AirJIT proaktif bir güvenlik açığı bildirme programı yürütmektedir. J1USD proxy'sinde, uygulamasında veya akıllı sözleşme altyapısında bir açık bulursanız sorumlu şekilde bildirin.
Mümkünse hassas raporları PGP ile şifreleyin. Tüm meşru bildirimleri 24 saat içinde yanıtlıyoruz.