REVIZUIT INTERN · ZERO VULNERABILITĂȚI CRITICEBNB Smart Chain (BEP-20)Proxy UUPS (ERC-1967)Solidity 0.8.24

Securitate și evaluare tehnică Smart Contract J1USD

Raport complet de analiză arhitecturală și verificare a sistemului de tokenuri J1USD pe BNB Smart Chain. Revizuit intern pentru siguranța actualizărilor, controlul imuabil al accesului, invarianții de aprovizionare și segregarea lichidității pe multiple platforme.

Declarație de Evaluare: Această evaluare tehnică și de securitate a fost efectuată intern de către echipa de dezvoltare și securitate AirJIT. Nu este un audit independent terț al contractelor inteligente.

Zero vulnerabilități critice

0 Critical

0 vulnerabilități ridicate / 0 critice identificate în contractele de bază ale tokenului.

Plafon strict de emisie

1,000,000,000

Plafon imuabil de 1.000.000.000 J1USD impus direct la nivel de bytecode.

Separare clară a rolurilor

RBAC Partitioned

Adrese distincte pentru Administrator, Upgrader, Minter, Burner și Pauser.

Spații rezervate de stocare UUPS

__gap[42]

Spațiu rezervat de 42 de sloturi (__gap[42]) pentru a preveni coliziunile de memorie.

DEPLOY-URI VERIFICATE ON-CHAIN

Adrese canonice de contract și verificare

J1USD funcționează prin arhitectura modulară de proxy OpenZeppelin ERC-1967 UUPS. Mai jos sunt contractele sursă verificate implementate pe mainnet-ul BNB Smart Chain.

Proxy oficial al tokenului
Dețineți și tranzacționați la această adresă

J1USDProxy.sol

Adresa canonică a tokenului BEP-20 pentru interacțiunea utilizatorilor. Toate soldurile, aprobările și stările de stocare rezidă permanent aici. Compatibil cu Grey Wallet, MetaMask, Trust Wallet și toate DEX-urile de pe BNB Chain.

Standard ProxyERC-1967 (UUPS)
Standard TokenBEP-20 (6 Zecimale)
Contract de implementare logică
Nu trimiteți fonduri la această adresă

J1USDTokenUpgradeable.sol

Conține regulile de afaceri compilate, verificările de conformitate, plafoanele de aprovizionare și modificatorii de roluri. Inițializarea directă este permanent blocată la implementare.

Versiunev1.0.0 (Revizuire Internă)
Plafon Emisie1.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.

REVIZUIRE DE CONFORMITATE ȘI POLITICI

Liste negre, înghețarea conturilor și aplicarea sancțiunilor

Evaluarea mecanismelor de conformitate ale tokenului. J1USD este un token BEP-20 deschis care funcționează pe un model activ de listă neagră și înghețare — fără listă albă — asigurând componabilitate maximă fără permisiuni, permițând în același timp respectarea ordinelor judecătorești.

FĂRĂ PERMISIUNIPROMOVAT · Permisiv

Nu există cerință de listă albă (Transferuri libere fără permisiune)

J1USD NU menține o listă albă pentru transferuri. Orice portofel Web3 standard de pe BNB Smart Chain poate primi, deține, trimite și tranzacționa liber J1USD pe DEX-uri fără KYC sau înregistrare prealabilă.

Evaluare de Securitate:Funcțiile standard de transfer (transfer, transferFrom) se execută necondiționat pentru toate adresele curate. Operațiunile obișnuite peer-to-peer și DeFi nu necesită nicio aprobare.
CONTROLAT DE RBACPROMOVAT · Protejat

Funcționalitate explicită de listă neagră (Conformitate la risc)

Rolul dedicat BLACKLISTER_ROLE poate restricționa adresele malițioase asociate cu atacuri cibernetice, sancțiuni sau furturi, blocând depunerea sau retragerea fondurilor.

Evaluare de Securitate:Funcția addToBlacklist() necesită un hash bytes32 complianceReference nenul pentru auditare on-chain. Adresele de sistem protejate (pool-urile DEX și Trezoreria) sunt imune la blocare.
IZOLARE LITIGIIPROMOVAT · Izolat

Înghețare parțială și completă de înaltă precizie a conturilor

Contractul acceptă atât freezeAccount(), cât și freezeBalance(amount). În timpul disputelor comerciale, doar suma contestată este blocată, restul soldului rămânând complet lichid.

Evaluare de Securitate:availableBalanceOf(account) separă dinamic fondurile disponibile de soldurile înghețate. Fondurile curate fără dispută rămân 100% transferabile de către proprietar chiar și în timpul unei investigații active.
STRICT RESTRICȚIONATPROMOVAT · Restricție strictă

Protecție certificată pentru confiscare legală (Wipe)

WIPER_ROLE poate distruge soldurile înghețate doar în baza unor mandate judecătorești sau decizii de reglementare executorii. Distrugerea arbitrară a activelor utilizatorilor este imposibilă structural.

Evaluare de Securitate:Apelează excepția WipeRequiresRestrictedAccount dacă este chemată pe o adresă neînghețată. Apelează WipeExceedsFrozenBalance dacă suma solicitată depășește soldul înghețat verificat.

Validarea hook-urilor la nivel de bytecode: _update(), _approve() și transferFrom()

Bytecode-ul impune verificări stricte de debit și credit în cadrul _update(from, to, amount):

Verificări Debit (_requireCanDebit)

Expeditorul NU trebuie să fie pe lista neagră (!isBlacklisted), contul NU trebuie să fie complet înghețat (!isAccountFrozen), iar suma nu poate depăși availableBalanceOf.

Verificări Credit (_requireCanCredit)

Destinatarul NU trebuie să fie pe lista neagră și NU trebuie să fie înghețat. Acest lucru împiedică actorii rău-intenționați să spele fonduri ilicite în portofele custodiale restricționate.

Verificări Aprobare (_approve)

Proprietarul tokenurilor și entitatea împuternicită trebuie să fie amândoi liberi de restricții. Entitățile restricționate nu pot delega limite sau efectua transferuri terțe.

ARHITECTURA SMART CONTRACT

Mecanisme de securitate și analiza invarianților

Evaluare aprofundată a componentelor fundamentale J1USD: siguranța actualizării proxy-ului, deduplicarea criptografică, separarea atribuțiilor și disjunctoarele de urgență.

Securitatea actualizărilor UUPS

Construit pe standardul OpenZeppelin UUPS. Variabilele de stare și soldurile sunt stocate exclusiv în sloturile proxy-ului. Constructorul de logică apelează _disableInitializers() pentru a se asigura că logica de bază nu poate fi preluată fraudulos.

Securitatea stocării: spațiul rezervat de 42 de sloturi (__gap[42]) previne coruperea memoriei la viitoarele upgrade-uri.

Invariant strict al plafonului de emisie

Spre deosebire de stablecoin-urile cu batere nelimitată, J1USD impune supplyCeiling la nivel de contract. Fiecare mint() verifică totalSupply() + amount <= supplyCeiling. Administratorul nu poate reduce plafonul sub circulația curentă.

Emisie maximă posibilă: 1.000.000.000,000000 J1USD (6 zecimale).

Deduplicarea idempotentă a evenimentelor

Operațiunile de batere și ardere necesită un hash de referință bytes32 unic (issuanceReference / burnReference). Încercările de refolosire a unei referințe sunt respinse imediat cu ReferenceAlreadyUsed.

Elimină atacurile de tip replay ale operatorului, baterea dublă și divergențele de indexare off-chain.

Timelock la transferul administratorului

Utilizează AccessControlDefaultAdminRulesUpgradeable. Transferul rolului de admin nu se produce într-un singur bloc; impune o întârziere temporală obligatorie (defaultAdminDelay) pentru a proteja împotriva compromiterii cheilor.

Separarea rolurilor: Upgrader, Minter, Burner și Pauser operează complet independent.

Precizia înghețării parțiale

În loc să blocheze întregul portofel, J1USD oferă freezeBalance. Sumele disputate pot fi izolate punctual, în timp ce availableBalanceOf permite utilizarea normală a restului fondurilor.

Protejează soldurile legitime ale utilizatorilor în timpul disputelor comerciale.

Adrese de sistem protejate

Adresele critice de protocol (pool-urile PancakeSwap, Trezoreria, contractele operaționale) sunt înregistrate ca protectedSystemAddress, fiind complet imune la înghețare sau blocare.

Previne atacurile de tip Denial of Service (DoS) accidentale sau malițioase asupra perechilor publice DEX.

MATRICEA DE PERMISIUNI

Controlul accesului bazat pe roluri (RBAC)

Auditarea privilegiilor administratorilor, emitenților, operatorilor de conformitate și a celor de urgență. Toate funcțiile privilegiate necesită semnături criptografice valide asociate rolurilor atribuite.

Identificator RolFuncții PrivilegiateControale de siguranță și invarianți
DEFAULT_ADMIN_ROLE0x00 (Admin Root)Configurează atribuirea rolurilor, actualizează plafonul de emisie și înregistrează adresele de sistem protejate.Guvernat de OpenZeppelin AccessControlDefaultAdminRules cu timelock obligatoriu.
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')Autorizează actualizările logicii de implementare UUPS în _authorizeUpgrade().Limitat la guvernanța multisig a protocolului; nu poate modifica starea fără un contract valid implementat.
MINTER_ROLEkeccak256('MINTER_ROLE')Emite noi tokenuri J1USD pe baza garanțiilor verificate sau a cerințelor de decontare.Strict restricționat de plafonul imuabil supplyCeiling și hash-ul unic issuanceReference.
BURNER_ROLEkeccak256('BURNER_ROLE')Reduce oferta de tokenuri în timpul răscumpărării sau stingerii obligațiilor de protocol.Necesită burnReference unic. Excepție limitată pentru arderea din conturi restricționate pentru a păstra solvabilitatea.
PAUSER_ROLEkeccak256('PAUSER_ROLE')Comută disjunctorul de urgență pentru a opri transferurile standard de tokenuri.Mecanism de apărare de urgență pentru crize de piață sau anomalii ale punților cross-chain.
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')Adaugă sau elimină adrese din lista neagră globală de debit și credit.Nu poate viza adresele protectedSystemAddress. Necesită referință de conformitate pentru audit.
FREEZER_ROLEkeccak256('FREEZER_ROLE')Îngheață conturile total sau parțial (freezeBalance, freezeAllCurrentBalance).Permite izolarea sumelor în litigiu, păstrând lichiditatea restului de fonduri. Adresele de sistem sunt imune.
WIPER_ROLEkeccak256('WIPER_ROLE')Distruge soldurile înghețate în baza unui mandat judecătoresc sau de reglementare valid.Se aplică doar conturilor deja înghețate; nu poate depăși soldul înghețat verificat.
RESCUE_ROLEkeccak256('RESCUE_ROLE')Recuperează tokenuri BEP-20 terțe trimise din greșeală la adresa contractului.Este strict interzisă retragerea propriilor tokenuri J1USD (RescueProhibitedToken).

INFRASTRUCTURĂ DE LICHIDITATE ȘI EVALUAREA POOL-URILOR

Lichiditate DEX On-Chain vs. Pool-uri Secundare Centralizate

J1USD echilibrează piețele AMM descentralizate non-custodiale de pe BNB Smart Chain cu carnetele de ordine centralizate off-chain. Iată adresele pool-urilor, linkurile de tranzacționare și delimitările de securitate.

Lichiditate descentralizată on-chain (DEX)

Pool-uri Automated Market Maker (AMM)

Pool-uri de lichiditate smart contract non-custodiale care funcționează direct pe BNB Smart Chain prin PancakeSwap. Risc de custodie terță zero; tranzacțiile sunt executate peer-to-contract prin bytecode imuabil.

PancakeSwap V3 · J1USD / USDC
PRINCIPALComision 0,05%

Pool de lichiditate concentrată care ancorează ferm J1USD la 1,00 USD Coin. O adresă de sistem protejată și imună la înghețare.

PancakeSwap V2 · J1USD / JIT
ECOSISTEMComision 0,25%

Punte AMM descentralizată care conectează tokenul utilitar AirJIT (JIT) și activul de decontare (J1USD).

Pool-uri secundare off-chain și centralizate

Pool-uri interne cu registru de ordine

AirJIT cotează piețe secundare pe principalele perechi de garanții în afara lanțului, fără adrese individuale de smart contract. Decontarea are loc prin motoare centralizate de potrivire a ordinelor de mare viteză.

Fără privilegii de batere smart contract

Serverele off-chain nu dețin chei private autorizate să bată sau să ardă tokenuri J1USD pe BNB Smart Chain.

Garantat 1:1 prin active on-chain

Soldurile conturilor interne off-chain sunt strict plafonate de depozitele verificate de tokenuri pe contractul proxy on-chain.

CONCLUZIILE EVALUĂRII ȘI MODELAREA AMENINȚĂRILOR

Analiza vectorilor de atac și apărări formale

O prezentare detaliată a suprafețelor potențiale de atac economic, matematic și criptografic investigate în timpul evaluării tehnice.

IMUN

Atacuri de tip Reentrancy

Tokenul moștenește actualizările de stare ERC-20 din OpenZeppelin (_update) fără apeluri externe nesigure înainte de decontare. Conformitate deplină cu Checks-Effects-Interactions.

NU SE APLICĂ

Manipularea oracolelor și a prețului spot

Registrul tokenului J1USD nu apelează oracole externe de preț în timpul transferurilor. Aritmetica este 100% internă, fiind imună la manipulări prin flash loans.

PREVENIT

Deturnarea logicii de implementare

Constructorul de implementare execută _disableInitializers() la implementare. Contractul de bază nu poate fi inițializat independent de un atacator.

ATENUAT

Preluarea ostilă a guvernanței

Reatribuirea rolurilor de administrator necesită o întârziere temporală imuabilă (defaultAdminDelay). Compromiterea unei singure chei nu poate prelua controlul imediat.

INVARIANȚI DE SECURITATE

Invarianți de securitate verificați formal

Rezumatul verificărilor de logică la nivel de bytecode care confirmă că integritatea sistemului este păstrată în toate condițiile extreme.

Stare · Rezultat

Aplicarea plafonului de emisie

Operațiunile de batere eșuează cu eroarea SupplyCeilingExceeded dacă se depășește plafonul. Administratorul nu poate coborî plafonul sub oferta aflată în circulație.

Mecanism de aplicareVerificarea supplyCeiling în mint()
Stare · Rezultat

Prevenirea atacurilor replay la batere și ardere

Fiecare operațiune necesită o referință bytes32 unică. Cererile repetate sunt respinse cu ReferenceAlreadyUsed pentru a preveni execuțiile duble.

Mecanism de aplicareMapările _usedIssuanceReferences și _usedBurnReferences
Stare · Rezultat

Prevenirea deturnării logicii de implementare

Contractul de implementare blochează inițializatorii în constructor. Atacatorii nu pot inițializa sau prelua independent contractul de logică.

Mecanism de aplicareApelul _disableInitializers() în constructor
Stare · Rezultat

Protecție împotriva coliziunilor în memoria proxy-ului

Stocarea proxy respectă standardele ERC-1967. Spațiul rezervat de 42 de cuvinte garantează că viitoarele upgrade-uri nu vor suprascrie variabilele existente.

Mecanism de aplicareSloturi standard ERC-1967 + spațiu rezervat uint256[42]
Stare · Rezultat

Atenuarea preluării ostile a rolului de administrator

Transferul rolului DEFAULT_ADMIN_ROLE nu este instantaneu. Un proces amânat în două faze previne dezastrele cauzate de compromiterea unei chei.

Mecanism de aplicareAccessControlDefaultAdminRules cu defaultAdminDelay
Stare · Rezultat

Imunitatea infrastructurii critice

Adresele de sistem înregistrate (pool-urile DEX, Trezoreria, contractele operaționale) nu pot fi înghețate sau blocate, eliminând riscurile de DoS.

Mecanism de aplicareVerificarea _requireNotProtected() în funcțiile de conformitate
Stare · Rezultat

Blocarea golirii propriului sold la salvarea tokenurilor

Permite salvarea tokenurilor terțe trimise din greșeală, dar blochează complet tentativele de retragere a tokenului J1USD însuși.

Mecanism de aplicareVerificarea RescueProhibitedToken în rescueERC20()
Stare · Rezultat

Disjunctor global de urgență

PAUSER_ROLE poate suspenda imediat transferurile obișnuite în momente de criză, permițând în același timp respectarea ordinelor legale.

Mecanism de aplicareModificatorul whenNotPaused pe transfer/mint/approve
Stare · Rezultat

Precizia izolării soldului înghețat

Permite blocarea doar a sumei disputate fără blocarea întregului portofel, menținând restul fondurilor curate complet lichide.

Mecanism de aplicareSegregare aritmetică în availableBalanceOf()

DIVULGARE RESPONSABILĂ A VULNERABILITĂȚILOR

Raportați o vulnerabilitate de securitate

AirJIT menține un program activ de divulgare a vulnerabilităților. Dacă descoperiți o problemă de securitate în proxy-ul J1USD, implementare sau infrastructura de contracte, vă rugăm să o raportați responsabil.

Vă rugăm să criptați rapoartele sensibile cu PGP dacă este posibil. Confirmăm primirea tuturor rapoartelor valide în termen de 24 de ore.