SINURI NANG INTERNAL · ZERO CRITICAL FINDINGSBNB Smart Chain (BEP-20)UUPS Proxy (ERC-1967)Solidity 0.8.24

Seguridad at Teknikal na Pagtatasa ng J1USD Smart Contract

Komprehensibong ulat sa pagsusuri ng arkitektura at pagpapatunay ng J1USD token system sa BNB Smart Chain. Sinuri nang internal para sa kaligtasan sa pag-upgrade, hindi nababagong mga kontrol sa pag-access, mga invariant sa suplay, at paghihiwalay ng liquidity sa iba't ibang venue.

Pagsisiwalat ng Pagtatasa: Ang seguridad at teknikal na pagtatasa na ito ay isinagawa nang internal ng pangkat ng pagpapaunlad at seguridad ng AirJIT. Hindi ito isang independiyenteng third-party smart contract audit.

Walang Kritikal na Natuklasan

0 Critical

0 mataas / 0 kritikal na kahinaan na natukoy sa mga pangunahing token contract.

Mahigpit na Limitasyon sa Suplay

1,000,000,000

1,000,000,000 J1USD immutable cap na ipinapatupad sa antas ng bytecode.

Malinaw na Paghihiwalay ng Tungkulin

RBAC Partitioned

Magkakahiwalay na address para sa Admin, Upgrader, Minter, Burner, at Pauser.

UUPS Storage Gaps

__gap[42]

42-slot reserved storage gap (__gap[42]) na nagpoprotekta laban sa mga banggaan sa imbakan.

MGA BERIPIKADONG ON-CHAIN DEPLOYMENT

Mga Kanonikal na Contract Address at Beripikasyon

Gumagana ang J1USD sa pamamagitan ng modular na ERC-1967 UUPS proxy architecture ng OpenZeppelin. Nasa ibaba ang mga na-verify na source contract na naka-deploy sa BNB Smart Chain mainnet.

Opisyal na Token Proxy
Hawakan at I-trade ang Address na Ito

J1USDProxy.sol

Ang kanonikal na BEP-20 token address para sa pakikipag-ugnayan ng mga user. Ang lahat ng balanse, pag-apruba, at estado ng imbakan ay permanenteng naninirahan dito. Tugma sa Grey Wallet, MetaMask, Trust Wallet, at lahat ng DEX sa BNB Chain.

Pamantayan ng ProxyERC-1967 (UUPS)
Pamantayan ng TokenBEP-20 (6 Decimals)
Logic Implementation Contract
Huwag magpadala ng pondo sa address na ito

J1USDTokenUpgradeable.sol

Naglalaman ng pinagsama-samang mga panuntunan sa negosyo, pagsusuri sa pagsunod, limitasyon sa suplay, at mga role modifier. Ang direktang pagsisimula ay permanenteng naka-lock sa pag-deploy.

Bersyonv1.0.0 (Sinuri nang Internal)
Limitasyon sa Suplay1,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.

PAGSUSURI SA PAGSUNOD AT PATAKARAN

Blacklist, Pag-freeze ng Account at Pagpapatupad ng Parusa

Pagtatasa ng mga mekanismo ng pagsunod sa token. Ang J1USD ay isang bukas na BEP-20 token na gumagana sa ilalim ng aktibong blacklist at freeze model — walang whitelist — tinitiyak ang pinakamataas na permissionless composability habang pinapagana ang pagsunod sa legal na kautusan.

PERMISSIONLESSIPINASA · Pinapayagan

Walang Kinakailangang Whitelist (Malayang Paglilipat nang Walang Pahintulot)

HINDI nagpapanatili ng whitelist sa paglilipat ang J1USD. Anumang karaniwang Web3 wallet sa BNB Smart Chain ay malayang makakatanggap, makakahawak, makakapagpadala, at makakapag-trade ng J1USD sa mga DEX nang walang KYC o pre-registration.

Pagtatasa sa Seguridad:Ang mga karaniwang function sa paglilipat (transfer, transferFrom) ay walang pasubaling tumatakbo para sa lahat ng malilinis na address. Ang regular na peer-to-peer at DeFi na transaksyon ay hindi nangangailangan ng anumang pag-apruba.
KONTROLADO NG RBACIPINASA · Protektado

Tah Tahas na Functionality ng Blacklist (Pagsunod sa Panganib)

Maaaring paghigpitan ng itinalagang BLACKLISTER_ROLE ang mga nakakahamak na address na konektado sa mga exploit, parusa, o pagnanakaw mula sa pagdeposito o pag-withdraw ng mga pondo.

Pagtatasa sa Seguridad:Nangangailangan ang addToBlacklist() ng non-zero bytes32 complianceReference hash para sa kakayahang ma-audit on-chain. Ang mga protektadong address ng sistema (mga pool ng DEX at Treasury) ay ligtas mula sa pagka-blacklist.
PAGHIHIWALAY NG DISPUTAIPINASA · Nakahiwalay

Tumpak na Bahagyang at Buong Pag-freeze ng Account

Sinusuportahan ng contract ang parehong freezeAccount() at freezeBalance(amount). Sa mga komersyal na hindi pagkakaunawaan, tanging ang pinagtatalunang halaga lamang ang ikinukulong habang ang natitirang balanse ay nananatiling likido.

Pagtatasa sa Seguridad:Dinamikong inihihiwalay ng availableBalanceOf(account) ang mga magagamit na pondo at ang mga naka-freeze na balanse. Ang mga malinis at walang pagtatalong pondo ay 100% maililipat pa rin ng may-ari kahit habang may aktibong imbestigasyon.
MAHIGPIT NA PINAGHIHIGPITANIPINASA · Mahigpit na Paghihigpit

Sertipikadong Proteksyon sa Legal na Pagkumpiska (Wipe)

Maaari lamang sirain ng WIPER_ROLE ang mga naka-freeze na balanse alinsunod sa umiiral na utos ng hukuman o regulasyon. Ang basta-bastang pagsira sa mga ari-arian ng wallet ng user ay structurally imposible.

Pagtatasa sa Seguridad:Nagbabalik ng WipeRequiresRestrictedAccount kung tatawagin sa isang hindi naka-freeze na address. Nagbabalik ng WipeExceedsFrozenBalance kung ang hinihinging halaga ay lumampas sa naka-freeze na balanse.

Pagpapatunay ng Bytecode Hook: _update(), _approve(), at transferFrom()

Ipinapatupad ng bytecode ang mahigpit na mga pagsusuri sa debit at credit sa loob ng _update(from, to, amount):

Mga Pagsusuri sa Debit (_requireCanDebit)

Ang nagpadala ay HINDI dapat naka-blacklist (!isBlacklisted), ang account ay HINDI dapat ganap na naka-freeze (!isAccountFrozen), at ang halaga ay hindi dapat lumampas sa availableBalanceOf.

Mga Pagsusuri sa Credit (_requireCanCredit)

Ang tatanggap ay HINDI dapat naka-blacklist at HINDI dapat naka-freeze. Pinipigilan nito ang mga kriminal na maglaba ng mga pondo sa mga restricted custodial wallet.

Mga Pagsusuri sa Pag-apruba (_approve)

Ang may-ari ng token at ang gumagastos ay dapat parehong walang mga paghihigpit. Ang mga pinaghihigpitang entity ay hindi maaaring magtalaga ng allowance o magpatupad ng mga paglilipat ng third-party.

ARKITEKTURA NG SMART CONTRACT

Mga Mekanismo sa Seguridad at Pagsusuri ng Invariant

Malalimang pagsusuri sa mga pangunahing bahagi ng J1USD: kaligtasan sa pag-upgrade ng proxy, cryptographic deduplication, paghihiwalay ng mga tungkulin, at mga panseguridad na emergency circuit breaker.

Kaligtasan sa Pag-upgrade ng UUPS

Binuo sa OpenZeppelin UUPS standard. Ang mga state variable at balanse ay eksklusibong nakaimbak sa mga slot ng proxy. Ang logic constructor ay tumatawag sa _disableInitializers() upang matiyak na ang pinagbabatayang logic ay hindi maaaring manakaw.

Seguridad sa imbakan: ang 42-slot reserved gap (__gap[42]) ay pumipigil sa pagkasira ng memorya sa mga susunod na pag-upgrade.

Invariant sa Mahigpit na Limitasyon ng Suplay

Hindi tulad ng mga stablecoin na may walang limitasyong paggawa, ipinapatupad ng J1USD ang supplyCeiling sa antas ng contract. Bawat mint() ay sumusuri na ang totalSupply() + amount <= supplyCeiling. Bawal ibaba ng admin ang limitasyon sa ilalim ng kasalukuyang sirkulasyon.

Pinakamataas na posibleng suplay: 1,000,000,000.000000 J1USD (6 decimals).

Idempotent Event Deduplication

Ang mga operasyon ng paggawa at pagsunog ay nangangailangan ng natatanging bytes32 reference hash (issuanceReference / burnReference). Ang mga pagtatangkang gamitin muli ang isang reference ay agad na ibinabasura gamit ang ReferenceAlreadyUsed.

Tinatanggal ang mga pag-atake sa replay ng operator, dobleng paggawa, at mga hindi pagkakatugma sa off-chain indexing.

Timelock sa Paglipat ng Admin

Gumagamit ng AccessControlDefaultAdminRulesUpgradeable. Ang paglipat ng admin role ay hindi nagaganap sa isang block; ipinapatupad nito ang mandatoryong pagkaantala ng oras (defaultAdminDelay) upang maprotektahan laban sa pagnanakaw ng susi.

Paghihiwalay ng tungkulin: Ang Upgrader, Minter, Burner, at Pauser ay gumagana nang hiwalay.

Katumpakan sa Bahagyang Pag-freeze

Sa halip na i-block ang buong wallet, nag-aalok ang J1USD ng freezeBalance. Maaaring ihiwalay ang mga pinagtatalunang halaga habang pinapayagan ng availableBalanceOf ang natitirang pondo na malayang magamit.

Pinoprotektahan ang mga lehitimong pondo ng mga kalahok sa panahon ng mga komersyal na hindi pagkakaunawaan.

Mga Protektadong Address ng Sistema

Ang mga kritikal na address ng protocol (mga PancakeSwap pool, Treasury, operational contract) ay nakarehistro bilang protectedSystemAddress, na nagbibigay sa kanila ng kaligtasan laban sa pag-freeze o blacklist.

Pinipigilan ang hindi sinasadya o mapanirang denial of service (DoS) sa mga pampublikong trading pair ng DEX.

PERMISSIONS MATRIX

Role-Based Access Control (RBAC)

Pagsusuri sa mga pribilehiyo ng administrator, issuer, burner, compliance, at emergency operator. Ang lahat ng may pribilehiyong function ay nangangailangan ng wastong cryptographic signature na tumutugma sa mga itinalagang tungkulin.

Tagatukoy ng TungkulinMga Pribilehiyong FunctionMga Panseguridad na Kontrol at Invariant
DEFAULT_ADMIN_ROLE0x00 (Admin Root)Nagko-configure ng mga pagtatalaga ng tungkulin, nag-a-update ng limitasyon sa suplay, at nagrerehistro ng mga protektadong address ng sistema.Pinamamahalaan ng OpenZeppelin AccessControlDefaultAdminRules na may mandatoryong timelock.
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')Nagpapahintulot sa mga pag-upgrade ng logic ng pagpapatupad ng UUPS sa loob ng _authorizeUpgrade().Limitado sa multisig governance ng protocol; hindi mababago ang estado nang walang wastong na-deploy na kontrata.
MINTER_ROLEkeccak256('MINTER_ROLE')Gumagawa ng mga bagong J1USD token laban sa napatunayang kolateral o mga kinakailangan sa pag-aayos.Mahigpit na nililimitahan ng hindi nababagong supplyCeiling at natatanging issuanceReference hash.
BURNER_ROLEkeccak256('BURNER_ROLE')Binabawasan ang suplay ng token sa panahon ng pagkuha o pag-aayos ng pananagutan ng protocol.Nangangailangan ng natatanging burnReference. Limitadong pagbubukod sa pagsunog mula sa mga restricted account para mapanatili ang solvency.
PAUSER_ROLEkeccak256('PAUSER_ROLE')I-toggle ang emergency circuit breaker upang ihinto ang karaniwang paglilipat ng token.Mekanismo ng depensa sa emergency para sa matinding krisis sa merkado o mga anomalya sa cross-chain bridge.
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')Nagdaragdag o nag-aalis ng mga address mula sa pandaigdigang blacklist ng debit at credit.Hindi maaaring i-target ang mga protectedSystemAddress. Nangangailangan ng compliance reference para sa audit.
FREEZER_ROLEkeccak256('FREEZER_ROLE')I-freeze ang mga account nang buo o bahagya (freezeBalance, freezeAllCurrentBalance).Nagbibigay-daan sa paghihiwalay ng pinagtatalunang halaga habang pinapanatili ang liquidity ng natitirang pondo. Ligtas ang mga address ng sistema.
WIPER_ROLEkeccak256('WIPER_ROLE')Sinisira ang mga naka-freeze na balanse alinsunod sa wastong utos ng hukuman o regulasyon.Nalalapat lamang sa mga naka-freeze na account; hindi maaaring lumampas sa na-verify na frozen balance.
RESCUE_ROLEkeccak256('RESCUE_ROLE')Pagsagip sa mga third-party BEP-20 token na hindi sinasadyang naipadala sa contract address.Mahigpit na ipinagbabawal ang paghawak sa sariling balanse ng J1USD token (RescueProhibitedToken).

IMBAKANG PANG-LIQUIDITY AT PAGTATASA SA MGA POOL

On-Chain DEX Liquidity laban sa Centralized Secondary Pools

Binabalanse ng J1USD ang non-custodial decentralized AMM markets sa BNB Smart Chain sa pamamagitan ng centralized off-chain order books. Narito ang mga detalye ng address ng pool, mga link sa trading, at mga limitasyon sa seguridad.

On-Chain Decentralized Liquidity (DEX)

Mga Automated Market Maker (AMM) Pool

Mga non-custodial smart contract liquidity pool na direktang tumatakbo sa BNB Smart Chain sa pamamagitan ng PancakeSwap. Walang panganib sa third-party custody; ang mga kalakalan ay isinasagawa peer-to-contract sa pamamagitan ng hindi nababagong bytecode.

PancakeSwap V3 · J1USD / USDC
PANGUNAHIN0.05% fee tier

Concentrated liquidity pool na mahigpit na nag-uugnay sa J1USD sa 1.00 USD Coin. Isang protektadong address ng sistema na ligtas sa pag-freeze.

PancakeSwap V2 · J1USD / JIT
EKOSISTEMA0.25% fee tier

Decentralized AMM bridge na nag-uugnay sa AirJIT utility token (JIT) at sa settlement asset (J1USD).

Off-Chain at Centralized Secondary Pools

Mga Panloob na Order Book Pool

Nag-aalok ang AirJIT ng mga pangalawang merkado sa mga pangunahing collateral pair sa labas ng blockchain nang walang indibidwal na smart contract address. Ang pag-aayos ay nagaganap sa pamamagitan ng mabilis na matching engines.

Walang Pribilehiyo sa Paggawa ng Smart Contract

Ang mga server sa labas ng blockchain ay walang mga pribadong susi upang gumawa o sumunog ng mga J1USD token sa BNB Smart Chain.

1:1 na Sinusuportahan ng mga On-Chain Asset

Ang mga panloob na balanse ng account sa labas ng blockchain ay mahigpit na nakatali sa mga napatunayang deposito ng proxy token sa on-chain contract.

MGA NATUKLASAN SA PAGTATASA AT PAGMOMODELO NG BANTA

Pagsusuri sa Attack Vector at Pormal na Depensa

Isang komprehensibong pangkalahatang-ideya ng mga potensyal na pang-ekonomiya, matematika, at cryptographic attack surface na inimbestigahan sa panahon ng teknikal na pagtatasa.

LIGTAS

Mga Pag-atake ng Reentrancy

Minana ng token ang mga update sa estado ng ERC-20 ng OpenZeppelin (_update) nang walang hindi pinagkakatiwalaang panlabas na tawag bago ang pag-aayos ng balanse. Ganap na sumusunod sa Checks-Effects-Interactions.

HINDI NAAANGKOP

Manipulasyon ng Oracle at Presyo sa Spot

Hindi sumasangguni ang ledger ng J1USD token sa mga panlabas na oracle ng presyo sa panahon ng paglilipat. Ang aritmetika ay 100% panloob, kaya ligtas ito sa manipulasyon sa pamamagitan ng mga flash loan.

NAIWASAN

Pang-aagaw sa Logic Implementation

Isinasagawa ng constructor ng pagpapatupad ang _disableInitializers() sa oras ng pag-deploy. Ang pinagbabatayang kontrata ay hindi maaaring simulan nang mag-isa ng isang umaatake.

NAPALIIT

Mapanirang Pagkuha sa Pamamahala

Ang muling pagtatalaga ng tungkulin ng admin ay nangangailangan ng hindi nababagong pagkaantala ng oras (defaultAdminDelay). Ang pagkompromiso sa isang susi ay hindi makakapagbigay ng agarang kontrol.

MGA INVARIANT SA SEGURIDAD

Pormal na Na-verify na mga Panseguridad na Invariant

Buod ng mga pagsusuri sa lohika sa antas ng bytecode na nagpapatunay na ang integridad ng sistema ay napananatili sa ilalim ng lahat ng matitinding kondisyon.

Katayuan · Kinalabasan

Pagpapatupad ng Limitasyon sa Suplay

Bumabalik ang operasyon ng paggawa na may error na SupplyCeilingExceeded kung nalabag ang limitasyon. Hindi maaaring bawasan ng admin ang limitasyon sa ilalim ng umiiral na suplay.

Mekanismo ng PagpapatupadPagsusuri sa supplyCeiling sa loob ng mint()
Katayuan · Kinalabasan

Pag-iwas sa Pag-replay ng Paggawa at Pagsunog

Bawat operasyon ay nangangailangan ng natatanging bytes32 reference. Ang mga paulit-ulit na kahilingan ay ibinabasura gamit ang ReferenceAlreadyUsed.

Mekanismo ng PagpapatupadMga mapping ng _usedIssuanceReferences at _usedBurnReferences
Katayuan · Kinalabasan

Pagpigil sa Pang-aagaw ng Logic Implementation

Ikinakandado ng implementation contract ang mga initializer sa constructor. Hindi maaaring simulan o agawin ng mga umaatake ang pinagbabatayang logic contract.

Mekanismo ng PagpapatupadTawag sa _disableInitializers() sa loob ng constructor
Katayuan · Kinalabasan

Proteksyon sa Banggaan ng Storage Layout

Sumusunod ang proxy storage sa mga pamantayan ng ERC-1967. Tinitiyak ng 42-salitang puwang na hindi mabubura ng mga susunod na pag-upgrade ang mga umiiral na variable.

Mekanismo ng PagpapatupadMga karaniwang ERC-1967 slot + uint256[42] gap
Katayuan · Kinalabasan

Pagpapagaan sa Mapanirang Pagkuha ng Admin

Ang paglilipat ng DEFAULT_ADMIN_ROLE ay hindi kaagad nangyayari. Ang naantalang proseso na may dalawang yugto ay pumipigil sa sakuna kapag nakompromiso ang susi.

Mekanismo ng PagpapatupadAccessControlDefaultAdminRules na may defaultAdminDelay
Katayuan · Kinalabasan

Imunidad ng Kritikal na Imprastraktura

Ang mga rehistradong address ng sistema (mga pool ng DEX, Treasury, operational contract) ay hindi maaaring i-freeze o i-blacklist, na nag-aalis sa panganib ng DoS sa liquidity.

Mekanismo ng PagpapatupadPagsusuri sa _requireNotProtected() sa mga function ng pagsunod
Katayuan · Kinalabasan

Kandado Laban sa Pag-ubos sa Sarili sa Pagsagip ng Token

Pinapayagan ang pagsagip sa mga nagkamaling naipadalang token ng third-party, ngunit ganap na hinaharangan ang pag-withdraw sa sariling J1USD token.

Mekanismo ng PagpapatupadPagsusuri sa RescueProhibitedToken sa loob ng rescueERC20()
Katayuan · Kinalabasan

Pandaigdigang Emergency Circuit Breaker

Maaaring agarang suspindihin ng PAUSER_ROLE ang mga regular na paglilipat sa panahon ng krisis sa merkado, habang nananatili ang mga legal na utos.

Mekanismo ng PagpapatupadModifier na whenNotPaused sa transfer/mint/approve
Katayuan · Kinalabasan

Katumpakan sa Paghihiwalay ng Naka-freeze na Balanse

Nagbibigay-daan upang i-lock lamang ang pinagtatalunang halaga nang hindi hinaharangan ang buong wallet, na nagpapanatili sa natitirang malinis na pondo na ganap na likido.

Mekanismo ng PagpapatupadAritmetikong paghihiwalay sa loob ng availableBalanceOf()

RESPONSABLENG PAGSISISIWALAT NG KAHINAAN

Mag-ulat ng Kahinaan sa Seguridad

Nagpapanatili ang AirJIT ng aktibong programa sa pagsisiwalat ng kahinaan. Kung may matuklasan kang anumang isyu sa seguridad sa J1USD proxy, implementation, o imprastraktura ng kontrata, mangyaring iulat ito nang responsable.

Paki-encrypt ang mga sensitibong ulat gamit ang PGP kung maaari. Kinukumpirma namin ang lahat ng wastong ulat sa loob ng 24 na oras.