内部レビュー済 · 重大な脆弱性ゼロBNB Smart Chain (BEP-20)UUPS プロキシ (ERC-1967)Solidity 0.8.24

J1USD スマートコントラクト セキュリティ&技術評価

BNB Smart Chain 上の J1USD トークンシステムに関する包括的なアーキテクチャ分析と検証レポート。アップグレードの安全性、不変のアクセス制御、供給量不変性、マルチ会場流動性分離を内部レビュー。

評価に関する開示事項: 本セキュリティおよび技術評価は、AirJIT開発・セキュリティチームによって内部で実施されたものです。独立した第三者機関によるスマートコントラクト監査ではありません。

致命的指摘事項ゼロ

0 Critical

コアトークンコントラクトにおいて高/重大な脆弱性は 0 件でした。

厳格な供給量上限

1,000,000,000

バイトコードレベルで 1,000,000,000 J1USD の不変上限を適用。

権限の明確な分離

RBAC Partitioned

管理者、アップグレーダー、ミンター、バーナー、ポーズ権限を個別アドレスに分離。

UUPS ストレージギャップ

__gap[42]

将来のアップグレード時のストレージ競合を防ぐ 42 スロットの予約ギャップ (__gap[42])。

検証済みオンチェーン展開

標準コントラクトアドレスと検証

J1USD はモジュール型の OpenZeppelin ERC-1967 UUPS プロキシパターンを採用しています。以下は BNB Smart Chain メインネットに展開された検証済みコントラクトです。

公式トークンプロキシ
このアドレスを保有・取引

J1USDProxy.sol

ユーザー向けの標準 BEP-20 トークンアドレス。すべての残高、承認、コントラクトストレージは恒久的にここに保持されます。Grey Wallet、MetaMask、Trust Wallet、および BNB Chain 上の全 DEX と互換性があります。

プロキシアドレス (標準)
プロキシ規格ERC-1967 (UUPS)
トークン規格BEP-20 (小数点以下 6 桁)
ロジック実装コントラクト
資金を直接送金しないでください

J1USDTokenUpgradeable.sol

コンパイル済みビジネスルール、コンプライアンス検証、供給量上限境界、ロール修飾子を含みます。デプロイ時のコンストラクタガードにより直接初期化は禁止されています。

バージョンv1.0.0 (内部レビュー済)
供給量上限1,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.

コンプライアンスおよびポリシー評価

ブラックリスト、口座凍結、制裁履行メカニズム

トークンのコンプライアンス機構の評価。J1USD はホワイトリストではなく、アクティブなブラックリストおよび凍結モデルを採用したオープンな BEP-20 トークンであり、最大限のパーミッションレスな相互運用性を維持しつつ法的制裁の履行を可能にします。

パーミッションレス合格 · 許可

ホワイトリスト要件なし (パーミッションレス転送)

J1USD には転送ホワイトリストがありません。BNB Smart Chain 上の標準 Web3 ウォレットは、事前の KYC 承認や登録なしに DEX で自由に J1USD を受取、保有、送金、取引できます。

セキュリティ評価:通常の送金関数 (transfer, transferFrom) は、制限のないアカウントに対して無条件に実行されます。日常的な P2P および DeFi 操作に許可は一切不要です。
RBAC 制御合格 · 保護済み

明示的なブラックリスト機能 (不正対応)

専用の BLACKLISTER_ROLE は、既知のハッキング、制裁、盗難に関連する悪意のあるアドレスからの資金引落や入金を制限できます。

セキュリティ評価:addToBlacklist() はオンチェーン監査追跡のためゼロ以外の bytes32 complianceReference ハッシュを要求します。保護対象システムアドレス(DEX AMM および財務庫)は数学的にブラックリストから免除されます。
紛争隔離合格 · 隔離処理

高精度な口座の部分凍結および全凍結

コントラクトは freezeAccount() と freezeBalance(amount) の両方をサポートします。商取引の紛争時、係争中の金額のみを固定し、残りの資金の流動性を維持できます。

セキュリティ評価:availableBalanceOf(account) は利用可能な残高と凍結残高を動的に分離します。調査中であっても、係争外の正当な資金は保有者によって 100% 自由に移動可能です。
制限付き機能合格 · 厳格な制限

法的根拠に基づく消去保護 (Wipe)

WIPER_ROLE は法的拘束力のある裁判所命令または規制当局の指示に従ってのみ凍結残高を消去できます。任意のアカウント資産を恣意的に消去することは構造上不可能です。

セキュリティ評価:制限または凍結されていないアドレスに対して呼び出された場合は WipeRequiresRestrictedAccount でリバートし、凍結額を超過する場合は WipeExceedsFrozenBalance でリバートします。

コントラクトレベル Hook 検証: _update()、_approve()、transferFrom()

バイトコードは _update(from, to, amount) 内で厳格な残高検証を実行します:

引落検証 (_requireCanDebit)

送信者はブラックリストに登録されておらず (!isBlacklisted)、口座が全凍結されておらず (!isAccountFrozen)、送金要求額が availableBalanceOf を超えてはなりません。

入金検証 (_requireCanCredit)

受取人はブラックリストおよび凍結の対象外である必要があります。不正な資金が制限された保管ウォレットに流入するのを防ぎます。

承認検証 (_approve)

トークン所有者と代理人の双方が制限を受けていない必要があります。制限対象者は利用枠を委託したり第三者送金を実行できません。

スマートコントラクトアーキテクチャ

セキュリティメカニズムと不変条件の分析

J1USD コアコンポーネントの詳細な監査評価:プロキシアップグレードの安全性、暗号学的重複防止、関心の分離、緊急安全装置。

UUPS アップグレードの安全性

OpenZeppelin の UUPS 標準に準拠。状態変数と残高はプロキシのスロットにのみ格納されます。実装コンストラクタは _disableInitializers() を呼び出し、ロジックコントラクトが単独で初期化されるのを防ぎます。

ストレージの安全性:42 スロットの予約ギャップ (__gap[42]) により将来のアップグレード時の状態衝突を回避します。

供給量上限の不変性

無制限に発行されるステーブルコインとは異なり、J1USD はコントラクトレベルで supplyCeiling を強制します。すべての mint() は totalSupply() + amount <= supplyCeiling を検証します。管理者は上限を現在の供給量以下に引き下げることはできません。

最大発行上限:1,000,000,000.000000 J1USD (小数点以下 6 桁)。

冪等なイベント重複排除

発行および償却には一意の bytes32 参照ハッシュ (issuanceReference / burnReference) が必須です。重複した参照ハッシュを用いたトランザクションは ReferenceAlreadyUsed で即座にリバートします。

リプレイ攻撃、二重発行、インデックスの不整合を完全に防止します。

タイムロック付き管理者移行

AccessControlDefaultAdminRulesUpgradeable を活用。管理者ロールの移転は即時には実行されず、強制的な遅延時間 (defaultAdminDelay) が適用され、秘密鍵の不正利用を防ぎます。

ロールの完全分離:Upgrader、Minter、Burner、Pauser が独立して動作します。

高精度な部分凍結

アカウント全体の完全ブラックリスト化ではなく、J1USD は freezeBalance を提供します。係争中の金額のみを凍結し、availableBalanceOf で正規の資金決済を可能にします。

商取引紛争時における正規の残高を保護します。

保護対象システムアドレス

コアプロトコルアドレス(PancakeSwap プール、財務庫、運用コントラクト)は protectedSystemAddress として登録され、凍結やブラックリストの対象から除外されます。

公開 DEX 取引ペアに対する偶発的または悪意ある DoS 障害を防止します。

認可マトリクス

ロールベースアクセス制御 (RBAC) 権限一覧

管理、発行、償却、コンプライアンス、緊急オペレーターの特権検証。すべての特権関数は割り当てられたロールに一致する明示的な暗号署名を必要とします。

ロール識別子特権関数セキュリティ制御と不変条件
DEFAULT_ADMIN_ROLE0x00 (Admin Root)ロール割り当ての設定、供給量上限の更新、保護対象システムアドレスの指定。タイムロック遅延を義務付ける OpenZeppelin AccessControlDefaultAdminRules に準拠。
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')_authorizeUpgrade() での UUPS 実装ロジックのアップグレード承認。マルチシグガバナンスに限定され、正当な展開なしに状態を変更することはできません。
MINTER_ROLEkeccak256('MINTER_ROLE')検証済み担保またはプロトコル決済要件に応じて新しい J1USD を発行。不変の supplyCeiling および一意の issuanceReference 重複排除により厳格に制約。
BURNER_ROLEkeccak256('BURNER_ROLE')償還またはプロトコル債務の決済時にトークン供給量を削減。一意の burnReference が必要。制限アカウントからの償却を可能にする安全機構を保持。
PAUSER_ROLEkeccak256('PAUSER_ROLE')標準的な転送を停止する緊急サーキットブレーカーの有効化/無効化。ブラックスワン事象やブリッジ異常に対する防御機能。
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')グローバルなブラックリストへのアドレス追加または削除。protectedSystemAddress に指定されたアドレスは対象外。追跡用参照ハッシュが必須。
FREEZER_ROLEkeccak256('FREEZER_ROLE')アカウント全体または指定額の部分凍結 (freezeBalance, freezeAllCurrentBalance)。係争額のみを凍結し、余剰額の流動性を維持可能。システムアドレスは免疫。
WIPER_ROLEkeccak256('WIPER_ROLE')法的効力のある司法・規制当局の命令に従い、凍結された残高を消去。すでに凍結またはブラックリスト化された口座のみ対象。凍結残高を超過することは不可。
RESCUE_ROLEkeccak256('RESCUE_ROLE')コントラクトに誤送信された第三者の無関係な BEP-20 トークンを回収。J1USD トークン残高を操作することは厳格に禁止 (RescueProhibitedToken)。

流動性インフラとプール評価

オンチェーン DEX 流動性 vs 中央集権型セカンダリプール

J1USD は BNB Smart Chain 上の非カストディ型分散 AMM 市場とオフチェーンの中央集権型オーダーブックのバランスを保っています。以下はプールアドレス、取引リンク、セキュリティ境界の内訳です。

オンチェーン分散型流動性 (DEX)

自動マーケットメーカー (AMM) プール

PancakeSwap を通じて BNB Smart Chain 上でネイティブに稼働する非カストディ型流動性プール。第三者カストディリスクゼロ。不変のバイトコードを通じてピア・ツー・コントラクトで実行されます。

PancakeSwap V3 · J1USD / USDC
プライマリ手数料 0.05%

J1USD を 1.00 USD Coin に強固に固定する集中流動性プール。コンプライアンス凍結から保護された指定システムアドレス。

プールスマートコントラクトアドレス:
PancakeSwap V2 · J1USD / JIT
エコシステム手数料 0.25%

AirJIT ユーティリティトークン (JIT) とプロトコル決済資産 (J1USD) を相互接続する分散型 AMM ブリッジ。

プールスマートコントラクトアドレス:
オフチェーンおよび中央集権型セカンダリプール

内部オーダーブックプール

AirJIT は専用のスマートコントラクトアドレスを持たずに主要な担保ペアのセカンダリ市場をオフチェーンで提示します。取引の決済は中央集権型の高スループットマッチングエンジンで実行されます。

スマートコントラクト発行特権ゼロ

オフチェーンサーバーは BNB Smart Chain 上で J1USD トークンを発行または償却する秘密鍵を一切保持しません。

1:1 のオンチェーン資産裏付け

内部オフチェーンアカウントの残高は、検証済みのオンチェーンプロキシトークン預入量によって厳格に制限されます。

評価所見と脅威モデリング

攻撃ベクトル分析と形式的防御

技術的レビュー中に調査された潜在的な経済的、数学的、暗号学的攻撃対象領域の包括的レビュー。

影響なし (免疫)

リエントランシー攻撃

残高コミット前に信頼できない外部コントラクトを呼び出すことなく OpenZeppelin ERC-20 の状態更新 (_update) を直接継承。Checks-Effects-Interactions パターンに完全準拠。

該当なし

オラクルおよびスポット価格操作

J1USD の残高元帳は送金や承認時に外部の価格オラクルを参照しません。残高計算は 100% 内部で行われるため、フラッシュローンによる価格操作リスクはありません。

防止済み

実装の乗っ取り

ロジック実装コンストラクタはデプロイ時に _disableInitializers() を実行します。基盤となる実装コントラクトを攻撃者が個別に初期化または所有することは不可能です。

軽減済み

敵対的ガバナンス乗っ取り

管理者ロールの再割り当ては変更不可能な遅延時間 (defaultAdminDelay) を適用します。単一の秘密鍵漏洩でトークンの最高管理権限を即座に奪取することはできません。

セキュリティ不変条件

形式的に検証されたセキュリティ不変条件

すべての極端なケースにおいてシステムの整合性が保たれていることを確認するバイトコードチェックの概要。

ステータス · 結果

供給量上限の強制力

totalSupply() + amount が上限を超える場合、SupplyCeilingExceeded でリバートします。管理者が現在の流通量を下回る上限に設定することは禁止されています。

適用メカニズムmint() 内での supplyCeiling 状態検証
ステータス · 結果

発行および償却のリプレイ重複排除

各トランザクションは一意の bytes32 参照識別子を必要とします。同じ参照を用いた重複呼出は ReferenceAlreadyUsed でリバートし、多重実行を防止します。

適用メカニズム_usedIssuanceReferences および _usedBurnReferences マッピング
ステータス · 結果

実装ロジックの乗っ取り防止

実装コントラクトはコンストラクタで初期化を無効化します。攻撃者が基盤となるロジックコントラクトを独自に初期化または所有することはできません。

適用メカニズムコンストラクタ内での _disableInitializers() 呼出
ステータス · 結果

ストレージレイアウト競合防止

プロキシストレージは ERC-1967 標準に準拠。42 ワードの予約ギャップにより、将来のアップグレードで既存の状態変数が上書きされるのを防ぎます。

適用メカニズムERC-1967 標準スロット + uint256[42] ギャップ
ステータス · 結果

敵対的な管理者乗っ取りの防止

DEFAULT_ADMIN_ROLE の譲渡は即時ではありません。強制的な遅延時間を伴う 2 段階のプロセスにより、単一の鍵紛失による即時乗っ取りを防ぎます。

適用メカニズムdefaultAdminDelay 付き AccessControlDefaultAdminRules
ステータス · 結果

重要インフラの保護免疫

登録済みシステムアドレス(DEX プール、財務庫、運用契約)は凍結やブラックリストの対象外であり、公開流動性に対する DoS 障害を防ぎます。

適用メカニズムコンプライアンス関数内の _requireNotProtected() 検証
ステータス · 結果

トークン救出時の自己資産誤流出防止

誤送信された第三者トークンを救出できますが、J1USD トークンコントラクト自体を対象とする呼出は明示的にブロックされます。

適用メカニズムrescueERC20() 内の RescueProhibitedToken 検証
ステータス · 結果

緊急時サーキットブレーカー

市場異常時に PAUSER_ROLE は即座に転送と承認を停止できますが、法的要求に基づく消去操作は保持されます。

適用メカニズムtransfer/mint/approve 上の whenNotPaused 修飾子
ステータス · 結果

高精度な分離残高凍結

ウォレット全体をロックすることなく係争中の残高のみを凍結できるため、余剰の正常資金は完全に流動性を保ちます。

適用メカニズムavailableBalanceOf() による計算的分離

責任ある脆弱性開示

脆弱性を報告する

AirJIT は積極的な脆弱性開示プログラムを運営しています。J1USD プロキシ、実装、またはスマートコントラクトインフラに欠陥を発見した場合は、責任を持ってご報告ください。

機密性の高い報告は可能な限り PGP で暗号化してください。正当な報告には 24 時間以内に受領確認を返答します。