Keselamatan & Penilaian Teknikal Kontrak Pintar J1USD
Laporan analisis seni bina dan pengesahan menyeluruh bagi sistem token J1USD di BNB Smart Chain. Disemak secara dalaman untuk keselamatan kebolehtingkatan, kawalan akses tidak boleh ubah, invarian bekalan, dan pengasingan kecairan pelbagai tempat.
Sifar Penemuan Kritikal
0 Critical
0 kerentanan tinggi / 0 kritikal dikenal pasti dalam kontrak token teras.
Had Bekalan Tegar
1,000,000,000
Had siling 1,000,000,000 J1USD tidak boleh ubah dikuatkuasakan pada kod bait.
Pengasingan Tugas Bersih
RBAC Partitioned
Alamat berbeza untuk Pentadbir, Penaik Taraf, Pencetak, Pembakar, dan Pemegun.
Jurang Storan UUPS
__gap[42]
Jurang rizab 42 slot (__gap[42]) melindungi daripada pertembungan storan.
PENYEBARAN PADA-RANTAIAN DISAHKAN
Alamat Kontrak Kanonikal & Pengesahan
J1USD beroperasi melalui seni bina proksi modular ERC-1967 UUPS OpenZeppelin. Berikut adalah kontrak sumber disahkan yang digunakan pada mainnet BNB Smart Chain.
J1USDProxy.sol
Alamat token BEP-20 kanonikal untuk interaksi pengguna. Semua baki, kelulusan, dan keadaan storan disimpan di sini secara kekal. Serasi dengan Grey Wallet, MetaMask, Trust Wallet, dan semua DEX di BNB Chain.
J1USDTokenUpgradeable.sol
Mengandungi peraturan perniagaan yang dikompilasi, semakan pematuhan, siling bekalan, dan pengubah peranan. Permulaan terus dikunci semasa pelaksanaan.
0xb3B34F032923DeA2ee8476Df26894E8fA9Eb7F54). The implementation address is stateless bytecode; funds directly transferred to the implementation contract cannot be retrieved by users.SEMAKAN PEMATUHAN & DASAR
Senarai Hitam, Pembekuan Akaun & Penguatkuasaan Sekatan
Penilaian mekanik pematuhan token. J1USD ialah token BEP-20 terbuka yang beroperasi di bawah model senarai hitam dan pembekuan aktif — tiada senarai putih — memastikan kebolehgabungan tanpa kebenaran maksimum sambil membolehkan pematuhan perintah undang-undang.
Tiada Keperluan Senarai Putih (Pemindahan Bebas Tanpa Kebenaran)
J1USD TIDAK mengekalkan senarai putih pemindahan. Mana-mana dompet Web3 standard di BNB Smart Chain boleh menerima, memegang, menghantar, dan memperdagangkan J1USD di DEX secara bebas tanpa KYC atau pra-pendaftaran.
Fungsi Senarai Hitam Eksplisit (Pematuhan Risiko)
BLACKLISTER_ROLE yang ditetapkan boleh menyekat alamat berniat jahat yang terikat dengan eksploitasi, sekatan, atau kecurian daripada mendepositkan atau mengeluarkan dana.
Pembekuan Akaun Separa & Penuh yang Tepat
Kontrak menyokong kedua-dua freezeAccount() dan freezeBalance(amount). Semasa pertikaian komersial, hanya amaun yang dipertikaikan dikunci sementara baki selebihnya kekal cair.
Perlindungan Perampasan Sah Bertauliah (Wipe)
WIPER_ROLE hanya boleh memusnahkan baki beku di bawah perintah kehakiman atau undang-undang yang sah. Pemusnahan sewenang-wenangnya ke atas aset dompet pengguna adalah mustahil dari segi struktur.
Pengesahan Cangkuk Kod Bait: _update(), _approve(), dan transferFrom()
Kod bait menguatkuasakan semakan debit dan kredit yang ketat dalam _update(from, to, amount):
Penghantar TIDAK boleh disenaraihitamkan (!isBlacklisted), akaun TIDAK boleh dibekukan sepenuhnya (!isAccountFrozen), dan amaun tidak boleh melebihi availableBalanceOf.
Penerima TIDAK boleh disenaraihitamkan dan TIDAK boleh dibekukan. Ini menghalang penjenayah daripada mencuci dana haram ke dalam dompet jagaan terhad.
Pemilik token dan perbelanja kedua-duanya mesti bebas daripada sekatan. Entiti terhad tidak boleh mewakilkan elaun atau melakukan pemindahan pihak ketiga.
SENI BINA KONTRAK PINTAR
Mekanisme Keselamatan & Analisis Invarian
Penilaian mendalam tentang komponen teras J1USD: keselamatan peningkatan proksi, penyahduplikasian kriptografi, pengasingan tugas, dan pemutus litar kecemasan.
Keselamatan Kebolehtingkatan UUPS
Dibina atas piawaian UUPS OpenZeppelin. Pembolehubah keadaan dan baki disimpan secara eksklusif dalam slot proksi. Pembina logik memanggil _disableInitializers() untuk memastikan logik asas tidak boleh dirampas.
Invarian Siling Bekalan Tegar
Tidak seperti stablecoin pencetakan tanpa had, J1USD menguatkuasakan supplyCeiling pada tahap kontrak. Setiap mint() mengesahkan totalSupply() + amount <= supplyCeiling. Pentadbir dihalang daripada menurunkan siling di bawah edaran semasa.
Penyahduplikasian Acara Idempoten
Operasi cetak dan bakar memerlukan cincangan rujukan bytes32 yang unik (issuanceReference / burnReference). Percubaan menggunakan rujukan terpakai dibatalkan dengan serta-merta dengan ReferenceAlreadyUsed.
Kunci Masa Pemindahan Pentadbir
Menggunakan AccessControlDefaultAdminRulesUpgradeable. Pemindahan peranan pentadbir tidak berlaku dalam satu blok; menguatkuasakan kelewatan masa wajib (defaultAdminDelay) untuk melindungi daripada pencurian kunci.
Ketepatan Pembekuan Separa
Daripada membekukan seluruh dompet, J1USD menyediakan freezeBalance. Amaun pertikaian boleh diasingkan sementara availableBalanceOf membenarkan baki selebihnya beroperasi secara normal.
Alamat Sistem Dilindungi
Alamat protokol kritikal (kolam PancakeSwap, Perbendaharaan, kontrak operasi) didaftarkan sebagai protectedSystemAddress, menjadikannya kebal daripada pembekuan atau senarai hitam.
MATRIKS KEBENARAN
Kawalan Akses Berasaskan Peranan (RBAC)
Pengauditan keistimewaan pentadbir, penerbit, pembakar, pematuhan, dan pengendali kecemasan. Semua fungsi berkeistimewaan memerlukan tandatangan kriptografi yang sepadan dengan peranan yang ditetapkan.
| Pengecam Peranan | Fungsi Berkeistimewaan | Kawalan Keselamatan & Invarian |
|---|---|---|
| DEFAULT_ADMIN_ROLE0x00 (Admin Root) | Mengkonfigurasi penetapan peranan, mengemas kini siling bekalan, dan mendaftarkan alamat sistem yang dilindungi. | Ditadbir oleh AccessControlDefaultAdminRules OpenZeppelin dengan kunci masa wajib. |
| UPGRADER_ROLEkeccak256('UPGRADER_ROLE') | Membenarkan peningkatan logik pelaksanaan UUPS dalam _authorizeUpgrade(). | Dihadkan kepada tadbir urus berbilang tandatangan protokol; tidak boleh mengubah keadaan tanpa pelaksanaan yang sah. |
| MINTER_ROLEkeccak256('MINTER_ROLE') | Mencetak token J1USD baharu terhadap cagaran yang disahkan atau keperluan penyelesaian. | Dihadkan dengan ketat oleh supplyCeiling tidak boleh ubah dan cincangan issuanceReference unik. |
| BURNER_ROLEkeccak256('BURNER_ROLE') | Mengurangkan bekalan token semasa penebusan atau penyelesaian liabiliti protokol. | Memerlukan burnReference unik. Pengecualian terhad untuk membakar daripada akaun terhad demi memelihara kesolvenan. |
| PAUSER_ROLEkeccak256('PAUSER_ROLE') | Mengaktifkan atau menyahaktifkan pemutus litar kecemasan untuk menghentikan pemindahan standard. | Ciri pertahanan kecemasan untuk krisis pasaran atau anomali jambatan silang rantaian. |
| BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE') | Menambah atau mengeluarkan alamat daripada senarai hitam debit dan kredit global. | Tidak boleh menyasarkan alamat protectedSystemAddress. Memerlukan rujukan audit pematuhan. |
| FREEZER_ROLEkeccak256('FREEZER_ROLE') | Membekukan akaun sepenuhnya atau secara berbutir (freezeBalance, freezeAllCurrentBalance). | Membolehkan pengasingan amaun pertikaian sambil memelihara kecairan baki. Alamat sistem kebal. |
| WIPER_ROLEkeccak256('WIPER_ROLE') | Memusnahkan baki beku mengikut mandat undang-undang atau peraturan yang sah. | Hanya terpakai pada akaun yang telah dibekukan; tidak boleh melebihi baki beku yang sah. |
| RESCUE_ROLEkeccak256('RESCUE_ROLE') | Menyelamatkan token BEP-20 pihak ketiga yang dihantar secara tidak sengaja ke alamat kontrak. | Dilarang sama sekali menyentuh baki token J1USD itu sendiri (RescueProhibitedToken). |
INFRASTRUKTUR KECAIRAN & PENILAIAN KOLAM
Kecairan DEX Pada-Rantaian vs Kolam Sekunder Berpusat
J1USD mengimbangi pasaran AMM bukan jagaan terdesentralisasi di BNB Smart Chain dengan buku pesanan berpusat luar rantaian. Berikut adalah alamat kolam, pautan dagangan, dan sempadan keselamatan.
Kolam Pembuat Pasaran Automatik (AMM)
Kolam kecairan kontrak pintar bukan jagaan yang beroperasi terus di BNB Smart Chain melalui PancakeSwap. Tiada risiko jagaan pihak ketiga; dagangan dilaksanakan secara rakan-ke-kontrak melalui kod bait tidak boleh ubah.
Kolam kecairan tertumpu yang menambat J1USD secara kukuh kepada 1.00 USD Coin. Alamat sistem yang dilindungi dan kebal daripada pembekuan.
Jambatan AMM terdesentralisasi yang menghubungkan token utiliti AirJIT (JIT) dan aset penyelesaian (J1USD).
Kolam Buku Pesanan Dalaman
AirJIT memetik pasaran sekunder merentasi pasangan cagaran utama di luar rantaian tanpa alamat kontrak pintar individu. Penyelesaian pesanan berlaku melalui enjin pemadanan berpusat berkelajuan tinggi.
Pelayan luar rantaian tidak mempunyai kunci peribadi yang dibenarkan untuk mencetak atau membakar token J1USD di BNB Smart Chain.
Baki akaun dalaman luar rantaian dihadkan secara ketat oleh deposit token proksi yang disahkan pada kontrak rantai.
Pasangan Dagangan Luar Rantaian Aktif (Buku Pesanan Berpusat):
PENEMUAN PENILAIAN & PEMODELAN ANCAMAN
Analisis Vektor Serangan & Pertahanan Rasmi
Tinjauan komprehensif mengenai permukaan serangan ekonomi, matematik, dan kriptografi yang disiasat semasa penilaian teknikal.
Serangan Kemasukan Semula (Reentrancy)
Token mewarisi kemas kini keadaan ERC-20 OpenZeppelin (_update) tanpa sebarang panggilan luaran tidak dipercayai sebelum penyelesaian baki. Pematuhan Checks-Effects-Interactions sepenuhnya.
Manipulasi Oracle & Harga Semasa
Buku lejar token J1USD tidak merujuk kepada oracle harga luaran semasa pemindahan. Aritmetik adalah 100% dalaman, menjadikannya kebal kepada manipulasi melalui pinjaman kilat (flash loan).
Perampasan Logik Pelaksanaan
Pembina pelaksanaan melaksanakan _disableInitializers() semasa penyebaran. Kontrak asas tidak boleh dimulakan secara bersendirian oleh penyerang.
Pengambilalihan Tadbir Urus Bermusuhan
Penetapan semula peranan pentadbir memerlukan kelewatan masa tidak boleh ubah (defaultAdminDelay). Kompromi kunci tunggal tidak boleh merampas kawalan serta-merta.
INVARIAN KESELAMATAN
Invarian Keselamatan yang Disahkan Secara Rasmi
Ringkasan semakan logik peringkat kod bait yang mengesahkan integriti sistem terpelihara di bawah semua keadaan ekstrem.
Penguatkuasaan Siling Bekalan
Operasi pencetakan dibatalkan dengan ralat SupplyCeilingExceeded jika siling dilanggar. Pentadbir tidak boleh mengurangkan siling di bawah edaran semasa.
Semakan supplyCeiling dalam mint()Pencegahan Ulangan Cetak & Bakar
Setiap operasi memerlukan rujukan bytes32 yang unik. Permintaan berulang ditolak dengan ReferenceAlreadyUsed untuk menghalang pelaksanaan berganda.
Pemetaan _usedIssuanceReferences dan _usedBurnReferencesPencegahan Perampasan Logik Pelaksanaan
Kontrak pelaksanaan mengunci pemula dalam pembina. Penyerang tidak boleh memulakan atau mengambil alih kontrak asas secara bersendirian.
Panggilan _disableInitializers() dalam pembinaPerlindungan Pertembungan Susun Atur Storan
Storan proksi mematuhi standard ERC-1967. Jurang 42 perkataan memastikan peningkatan masa hadapan tidak menulis ganti pembolehubah sedia ada.
Slot standard ERC-1967 + jurang uint256[42]Pengurangan Risiko Pengambilalihan Pentadbir Berniat Jahat
Pemindahan DEFAULT_ADMIN_ROLE tidak berlaku serta-merta. Proses dua fasa yang tertangguh mengelakkan bencana jika berlaku kompromi kunci.
AccessControlDefaultAdminRules dengan defaultAdminDelayImuniti Infrastruktur Kritikal
Alamat sistem berdaftar (kolam DEX, Perbendaharaan, kontrak operasi) tidak boleh dibekukan atau disenaraihitamkan, menghapuskan risiko DoS kecairan.
Semakan _requireNotProtected() dalam fungsi pematuhanKunci Halang Parit Diri dalam Penyelamatan Token
Membenarkan penyelamatan token pihak ketiga yang dihantar secara silap, tetapi menghalang sepenuhnya sebarang percubaan mengeluarkan token J1USD itu sendiri.
Semakan RescueProhibitedToken dalam rescueERC20()Pemutus Litar Kecemasan Global
PAUSER_ROLE boleh menggantung pemindahan biasa serta-merta semasa krisis pasaran, sementara perintah mahkamah tetap dipelihara.
Pengubah whenNotPaused pada transfer/mint/approveKetepatan Pembekuan Baki Terpencil
Membolehkan hanya amaun yang dipertikaikan dikunci tanpa menyekat seluruh dompet pengguna, memastikan baki bersih selebihnya kekal cair sepenuhnya.
Pengasingan aritmetik dalam availableBalanceOf()PENDEDAHAN KERENTANAN BERTANGGUNGJAWAB
Laporkan Kerentanan Keselamatan
AirJIT mengekalkan program pendedahan kerentanan yang aktif. Sekiranya anda mendapati sebarang isu keselamatan dalam proksi J1USD, pelaksanaan, atau infrastruktur kontrak pintar, sila laporkan secara bertanggungjawab.
Sila enkrip laporan sensitif dengan PGP jika boleh. Kami mengesahkan semua penemuan sah dalam tempoh 24 jam.