PRZEPROWADZONO PRZEGLĄD WEWNĘTRZNY · ZERO KRYTYCZNYCH PODATNOŚCIBNB Smart Chain (BEP-20)Proxy UUPS (ERC-1967)Solidity 0.8.24

Bezpieczeństwo i Ocena Techniczna Smart Kontraktu J1USD

Kompleksowy raport z analizy architektonicznej i weryfikacji systemu tokena J1USD na BNB Smart Chain. Przejrzany pod kątem bezpieczeństwa aktualizacji, niezmiennych kontroli dostępu, niezmienników podaży i separacji płynności.

Ujawnienie Dotyczące Oceny: Niniejsza ocena bezpieczeństwa i techniczna została przeprowadzona wewnętrznie przez zespół programistyczny i ds. bezpieczeństwa AirJIT. Nie stanowi ona niezależnego audytu smart kontraktów strony trzeciej.

Zero Krytycznych Uwag

0 Critical

0 wysokich / 0 krytycznych podatności w kluczowych kontraktach tokena.

Sztywny Pułap Podaży

1,000,000,000

Niezmienny limit 1 000 000 000 J1USD egzekwowany na poziomie kodu bajtowego.

Separacja Ról

RBAC Partitioned

Niezależne adresy dla Administratora, Upgradera, Mintera, Burnera i Pausera.

Odstępy w Pamięci UUPS

__gap[42]

Zarezerwowany odstęp 42 slotów (__gap[42]) chroniący przed kolizjami pamięci.

ZWERYFIKOWANE WDROŻENIA ON-CHAIN

Kanoniezne Adresy Kontraktów i Weryfikacja

J1USD działa w oparciu o modułowy wzorzec proxy OpenZeppelin ERC-1967 UUPS. Poniżej znajdują się zweryfikowane kontrakty źródłowe wdrożone w sieci głównej BNB Smart Chain.

Oficjalne Proxy Tokena
Trzymaj i Handluj na Tym Adresie

J1USDProxy.sol

Kanoniezny adres tokena BEP-20 dla użytkowników. Wszystkie salda, uprawnienia i stan kontraktu znajdują się na stałe tutaj. Kompatybilny z Grey Wallet, MetaMask, Trust Wallet i wszystkimi DEX na BNB Chain.

Standard ProxyERC-1967 (UUPS)
Standard TokenaBEP-20 (6 Miejsc po przecinku)
Kontrakt Implementacji Logiki
Nie Wysyłaj Środków na Ten Adres

J1USDTokenUpgradeable.sol

Implementacja logiki zawierająca skompilowane reguły biznesowe, kontrole zgodności, limity podaży i modyfikatory ról. Bezpośrednia inicjalizacja jest zablokowana podczas wdrażania.

Wersjav1.0.0 (Przegląd Wewnętrzny)
Pułap Podaży1 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.

PRZEGLĄD ZGODNOŚCI I POLITYKI

Czarna Lista, Zamrażanie Kont i Mechanizmy Sankcji

Ocena mechanizmów zgodności tokena. J1USD to otwarty token BEP-20 działający w modelu aktywnej czarnej listy i zamrażania — bez białej listy —, co zapewnia maksymalną interoperacyjność bez zezwoleń przy jednoczesnym egzekwowaniu sankcji prawnych.

BEZ ZEZWOLEŃZALICZONE · Dozwolone

Brak Wymogu Białej Listy (Transfery Bez Pozwoleń)

J1USD NIE posiada białej listy transferów. Każdy portfel Web3 w sieci BNB Smart Chain może swobodnie odbierać, przechowywać, wysyłać i handlować J1USD na DEX bez KYC czy rejestracji.

Ocena Bezpieczeństwa:Standardowe funkcje transferu (transfer, transferFrom) wykonują się bezwarunkowo dla wszystkich nieograniczonych kont. Operacje P2P i DeFi nie wymagają żadnych pozwoleń.
KONTROLOWANE PRZEZ RBACZALICZONE · Chronione

Wyraźna Funkcja Czarnej Listy (Zgodność z Prawem)

Dedykowana rola BLACKLISTER_ROLE może zablokować złośliwe adresy powiązane z atakami, sankcjami lub kradzieżami przed obciążaniem lub uznawaniem środków.

Ocena Bezpieczeństwa:addToBlacklist() wymaga niezerowego hasza bytes32 complianceReference dla audytowalności on-chain. Chronione adresy systemowe (AMM DEX i Skarbiec) są odporne na blokady.
IZOLACJA SPORÓWZALICZONE · Odizolowane

Precyzyjne Częściowe i Pełne Zamrażanie Kont

Kontrakt obsługuje zarówno freezeAccount(), jak i freezeBalance(amount). Podczas sporów handlowych blokowana jest tylko sporna kwota, co zachowuje płynność pozostałych środków.

Ocena Bezpieczeństwa:availableBalanceOf(account) dynamicznie rozdziela saldo dostępne od zamrożonego. Niekwestionowane środki pozostają w 100% zbywalne przez posiadacza nawet podczas trwającego dochodzenia.
OGRANICZONEZALICZONE · Ścisłe Ograniczenie

Certyfikowana Ochrona Prawnego Przepadku (Wipe)

Rola WIPER_ROLE może niszczyć zamrożone salda wyłącznie na podstawie prawomocnych wyroków sądowych lub nakazów regulacyjnych. Samowolne niszczenie aktywów jest niemożliwe.

Ocena Bezpieczeństwa:Wycofuje transakcję z WipeRequiresRestrictedAccount, jeśli wywołano dla niezamrożonego adresu. Wycofuje z WipeExceedsFrozenBalance, jeśli kwota przekracza zamrożone środki.

Weryfikacja Hooków na Poziomie Kodu Bajtowego: _update(), _approve() i transferFrom()

Kod bajtowy egzekwuje rygorystyczne sprawdzanie debetu i kredytu wewnątrz _update(from, to, amount):

Kontrole Obciążenia (_requireCanDebit)

Nadawca NIE może być na czarnej liście (!isBlacklisted), konto NIE może być całkowicie zamrożone (!isAccountFrozen), a kwota nie może przekraczać availableBalanceOf.

Kontrole Uznania (_requireCanCredit)

Odbiorca NIE może być na czarnej liście ani być zamrożony. Zapobiega praniu nielegalnych środków na kontach podlegających ograniczeniom.

Kontrole Zezwoleń (_approve)

Zarówno właściciel, jak i upoważniony muszą być wolni od ograniczeń. Podmioty objęte ograniczeniami nie mogą delegować limitów ani wykonywać transferów osób trzecich.

ARCHITEKTURA SMART KONTRAKTÓW

Mechanizmy Bezpieczeństwa i Analiza Niezmienników

Szczegółowa ocena kluczowych komponentów J1USD: bezpieczeństwo aktualizacji proxy, deduplikacja kryptograficzna, podział obowiązków i wyłączniki awaryjne.

Bezpieczeństwo Aktualizacji UUPS

Zbudowany w oparciu o standard UUPS OpenZeppelin. Zmienne stanu i salda są przechowywane wyłącznie w slotach proxy. Konstruktor implementacji wywołuje _disableInitializers(), uniemożliwiając przejęcie logiki.

Bezpieczeństwo pamięci: bufor 42 slotów (__gap[42]) zapobiega konfliktom pamięci przy przyszłych aktualizacjach.

Niezmiennik Sztywnego Pułapu Podaży

W przeciwieństwie do nielimitowanych stablecoinów, J1USD egzekwuje supplyCeiling na poziomie kontraktu. Każde mint() sprawdza totalSupply() + amount <= supplyCeiling. Obniżenie pułapu poniżej bieżącej podaży jest zabronione.

Maksymalny pułap podaży: 1 000 000 000,000000 J1USD (6 miejsc po przecinku).

Idempotentna Deduplikacja Zdarzeń

Emisja i spalanie wymagają unikalnego hasza referencyjnego bytes32 (issuanceReference / burnReference). Próba ponownego użycia natychmiast cofa transakcję z ReferenceAlreadyUsed.

Chroni przed atakami typu replay przez operatorów, podwójną emisją i rozbieżnościami indeksowania.

Zmiana Administratora z Blokadą Czasową

Wykorzystuje AccessControlDefaultAdminRulesUpgradeable. Zmiana roli administratora nie zachodzi natychmiast; wymusza obowiązkowe opóźnienie (defaultAdminDelay), chroniąc przed przejęciem kluczy.

Podział ról: Upgrader, Minter, Burner i Pauser działają całkowicie niezależnie.

Precyzyjne Częściowe Zamrażanie

Zamiast blokować całe portfele, J1USD wprowadza freezeBalance. Sporne kwoty mogą być zamrażane proporcjonalnie, a availableBalanceOf pozwala na wydawanie pozostałych środków.

Chroni niewinne środki podczas sporów komercyjnych.

Chronione Adresy Systemowe

Kluczowe adresy protokołu (pule PancakeSwap, skarbiec, kontrakty operacyjne) mają status protectedSystemAddress, co uniemożliwia ich zamrożenie lub zablokowanie.

Zapobiega atakom odmowy usługi (DoS) na publiczne pary handlowe DEX.

MACIERZ UPRAWNIEŃ

Kontrola Dostępu Oparta na Rolach (RBAC)

Weryfikacja przywilejów administratora, emisji, spalania, zgodności i ról awaryjnych. Wszystkie uprzywilejowane funkcje wymagają jawnych podpisów kryptograficznych zgodnych z rolami.

Identyfikator RoliFunkcje UprzywilejowaneŚrodki Bezpieczeństwa i Niezmienniki
DEFAULT_ADMIN_ROLE0x00 (Admin Root)Konfiguruje przypisania ról, aktualizuje limity podaży i wyznacza chronione adresy systemowe.Regulowane przez OpenZeppelin AccessControlDefaultAdminRules z obowiązkowym opóźnieniem czasowym.
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')Autoryzuje aktualizacje logiki implementacji UUPS w _authorizeUpgrade().Ograniczone ściśle do zarządzania multisig; nie może modyfikować stanu bez wdrożonego kontraktu.
MINTER_ROLEkeccak256('MINTER_ROLE')Emituje nowe tokeny J1USD pod zweryfikowane zabezpieczenie lub potrzeby rozliczeń protokołu.Ściśle ograniczone przez niezmienny supplyCeiling i unikalną referencję issuanceReference.
BURNER_ROLEkeccak256('BURNER_ROLE')Zmniejsza podaż tokenów podczas wykupu lub spłaty zobowiązań protokołu.Wymaga unikalnego burnReference. Dopuszcza spalanie z kont zablokowanych dla zachowania wypłacalności.
PAUSER_ROLEkeccak256('PAUSER_ROLE')Włącza lub wyłącza awaryjny wyłącznik wstrzymujący standardowe transfery.Zdolność obronna w przypadku zdarzeń kryzysowych lub anomalii mostów międzyłańcuchowych.
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')Dodaje lub usuwa adresy z globalnej czarnej listy debetu/kredytu.Nie może blokować adresów protectedSystemAddress. Wymaga referencji śledzenia zgodności.
FREEZER_ROLEkeccak256('FREEZER_ROLE')Zamraża całe konta lub kwoty częściowe (freezeBalance, freezeAllCurrentBalance).Umożliwia zamrożenie spornych kwot przy zachowaniu płynności reszty salda. Adresy systemowe odporne.
WIPER_ROLEkeccak256('WIPER_ROLE')Niszczy zamrożone środki na podstawie prawomocnego wyroku sądowego lub decyzji regulatora.Dotyczy tylko kont uprzednio zamrożonych; nie może przekraczać kwoty zamrożonej.
RESCUE_ROLEkeccak256('RESCUE_ROLE')Odzyskuje pomyłkowo przesłane na kontrakt zewnętrzne tokeny BEP-20.Całkowity zakaz ingerencji w salda tokena J1USD (RescueProhibitedToken).

INFRASTRUKTURA PŁYNNOŚCI I OCENA PUL

Płynność DEX On-Chain vs Scentralizowane Pule Wtórne

J1USD równoważy zdecentralizowane rynki AMM bez depozytu na BNB Smart Chain ze scentralizowanymi arkuszami zleceń off-chain. Oto zestawienie adresów pul, linków transakcyjnych i granic bezpieczeństwa.

Zdecentralizowana Płynność On-Chain (DEX)

Pule Automatycznego Animatora Rynku (AMM)

Pule płynności smart kontraktów bez depozytu działające natywnie na BNB Smart Chain za pośrednictwem PancakeSwap. Zero ryzyka powierniczego; transakcje realizowane peer-to-contract przez niezmienny kod bajtowy.

PancakeSwap V3 · J1USD / USDC
GŁÓWNAProwizja 0,05%

Pula skoncentrowanej płynności ściśle wiążąca J1USD z 1,00 USD Coin. Wyznaczony adres systemowy chroniony przed zamrożeniem.

PancakeSwap V2 · J1USD / JIT
EKOSYSTEMProwizja 0,25%

Zdecentralizowany most AMM łączący token użytkowy AirJIT (JIT) i aktywo rozliczeniowe (J1USD).

Pule Wtórne Scentralizowane i Off-Chain

Wewnętrzne Pule Arkusza Zleceń

AirJIT kwotuje rynki wtórne głównych par zabezpieczeń poza łańcuchem bez dedykowanych adresów kontraktów. Rozliczanie transakcji odbywa się za pośrednictwem scentralizowanych silników dopasowywania zleceń.

Brak Uprawnień Emisji w Smart Kontraktach

Serwery off-chain nie posiadają kluczy prywatnych uprawnionych do emisji lub spalania J1USD na BNB Smart Chain.

Pokrycie Aktywami 1:1 On-Chain

Salda kont wewnętrznych off-chain są ściśle ograniczone zweryfikowanymi depozytami w kontrakcie proxy on-chain.

WYNIKI OCENY I MODELOWANIE ZAGROŻEŃ

Analiza Wektorów Ataku i Formalne Środki Obrony

Szczegółowy przegląd potencjalnych ekonomicznych, matematycznych i kryptograficznych powierzchni ataku zbadanych podczas audytu.

ODPORNY

Ataki Reentrancy

Token ściśle dziedziczy aktualizacje stanu ERC-20 OpenZeppelin (_update) bez wywołań zewnętrznych przed zatwierdzeniem sald. Pełna zgodność z Checks-Effects-Interactions.

NIE DOTYCZY

Manipulacja Wyrocznią i Ceną Spot

Księga tokena J1USD nie korzysta z zewnętrznych wyroczni cenowych podczas transferów. Arytmetyka jest w 100% wewnętrzna, co eliminuje ataki flash loan.

ZAPOBIEŻONO

Przejęcie Implementacji

Konstruktor implementacji wykonuje _disableInitializers() podczas wdrażania. Bazowy kontrakt nie może zostać zainicjalizowany przez atakującego.

ZŁAGODZONO

Wrogie Przejęcie Zarządzania

Zmiana ról administratora wymusza niezmienne opóźnienie czasowe (defaultAdminDelay). Utrata jednego klucza nie pozwala na natychmiastowe przejęcie kontroli.

NIEZMIENNIKI BEZPIECZEŃSTWA

Formalnie Zweryfikowane Niezmienniki Bezpieczeństwa

Podsumowanie weryfikacji kodu bajtowego potwierdzających integralność systemu we wszystkich przypadkach skrajnych.

Status · Wynik

Wykonalność Pułapu Podaży

Operacje emisji cofają się z SupplyCeilingExceeded, jeśli przekroczono limit. Administrator nie może obniżyć pułapu poniżej bieżącej podaży.

Mechanizm EgzekwowaniaKontrola stanu supplyCeiling w mint()
Status · Wynik

Deduplikacja Replay przy Emisji i Spalaniu

Każda transakcja wymaga unikalnego identyfikatora bytes32. Powtórne wywołania są odrzucane z błędem ReferenceAlreadyUsed.

Mechanizm EgzekwowaniaMapowania _usedIssuanceReferences i _usedBurnReferences
Status · Wynik

Ochrona Logiki Implementacji przed Przejęciem

Kontrakt implementacji blokuje inicjalizację w konstruktorze. Atakujący nie mogą samodzielnie zainicjalizować bazowego kontraktu logiki.

Mechanizm EgzekwowaniaWywołanie _disableInitializers() w konstruktorze
Status · Wynik

Ochrona przed Kolizjami Pamięci

Pamięć proxy jest zgodna z ERC-1967. Odstęp 42 słów gwarantuje, że przyszłe aktualizacje nie nadpiszą istniejących zmiennych.

Mechanizm EgzekwowaniaStandardowe sloty ERC-1967 + odstęp uint256[42]
Status · Wynik

Ochrona przed Wrogiem Przejęciem Administratora

Przekazanie DEFAULT_ADMIN_ROLE nie jest natychmiastowe. Dwuetapowy proces z opóźnieniem chroni przed skutkami kradzieży pojedynczego klucza.

Mechanizm EgzekwowaniaAccessControlDefaultAdminRules z defaultAdminDelay
Status · Wynik

Immunitet Infrastruktury Krytycznej

Zarejestrowane adresy systemowe (pule DEX, skarbiec, kontrakty) nie mogą zostać zamrożone ani zablokowane, eliminując ryzyko DoS.

Mechanizm EgzekwowaniaKontrola _requireNotProtected() w funkcjach zgodności
Status · Wynik

Blokada Samo-Opróżnienia przy Ratowaniu Tokenów

Umożliwia odzyskanie omyłkowo przesłanych tokenów innych podmiotów, lecz blokuje wszelkie próby wypłaty tokena J1USD.

Mechanizm EgzekwowaniaKontrola RescueProhibitedToken w rescueERC20()
Status · Wynik

Globalny Wyłącznik Awaryjny

Upoważniona rola PAUSER_ROLE może natychmiast zatrzymać transfery w przypadku kryzysu rynkowego, zachowując prawne operacje przepadku.

Mechanizm EgzekwowaniaModyfikator whenNotPaused na transfer/mint/approve
Status · Wynik

Precyzja Odizolowanego Zamrażania Salda

Pozwala zamrozić kwotę sporną bez blokowania całego portfela użytkownika, zachowując płynność pozostałych środków.

Mechanizm EgzekwowaniaSeparacja arytmetyczna w availableBalanceOf()

ODPOWIEDZIALNE UJAWNIANIE PODATNOŚCI

Zgłoś Podatność w Bezpieczeństwie

AirJIT prowadzi aktywny program ujawniania podatności. Jeśli odkryjesz lukę w proxy J1USD, implementacji lub infrastrukturze, zgłoś ją odpowiedzialnie.

Jeśli to możliwe, szyfruj poufne raporty za pomocą PGP. Na wszystkie uzasadnione zgłoszenia odpowiadamy w ciągu 24 godzin.