Bảo mật & Đánh giá Kỹ thuật Hợp đồng Thông minh J1USD
Báo cáo phân tích kiến trúc và xác minh toàn diện hệ thống token J1USD trên BNB Smart Chain. Được đánh giá nội bộ về tính an toàn khi nâng cấp, quyền kiểm soát bất biến, bất biến nguồn cung và phân tách thanh khoản đa thị trường.
Không Có Lỗ Hổng Nghiêm Trọng
0 Critical
0 lỗ hổng mức độ cao / 0 lỗ hổng nghiêm trọng trong các hợp đồng cốt lõi.
Trần Nguồn Cung Tuyệt Đối
1,000,000,000
Hạn mức bất biến 1.000.000.000 J1USD được thực thi ở cấp độ bytecode.
Phân Tách Vai Trò Rõ Ràng
RBAC Partitioned
Địa chỉ độc lập riêng biệt cho Quản trị, Nâng cấp, Đúc, Đốt và Tạm dừng.
Khoảng Trống Lưu Trữ UUPS
__gap[42]
Khoảng trống dự phòng 42 khe (__gap[42]) ngăn ngừa xung đột bộ nhớ khi nâng cấp.
TRIỂN KHAI ON-CHAIN ĐÃ XÁC MINH
Địa chỉ Hợp đồng Chuẩn mực & Xác minh
J1USD vận hành theo mô hình proxy UUPS OpenZeppelin ERC-1967 dạng mô-đun. Dưới đây là các hợp đồng mã nguồn đã xác minh được triển khai trên mạng chính BNB Smart Chain.
J1USDProxy.sol
Địa chỉ token BEP-20 tiêu chuẩn tương tác với người dùng. Toàn bộ số dư, cấp quyền và trạng thái lưu trữ vĩnh viễn tại đây. Tương thích với Grey Wallet, MetaMask, Trust Wallet và tất cả các sàn DEX trên BNB Chain.
J1USDTokenUpgradeable.sol
Chứa quy tắc nghiệp vụ đã biên dịch, kiểm tra tuân thủ, giới hạn trần nguồn cung và bộ sửa đổi vai trò. Khởi tạo trực tiếp bị khóa khi triển khai bởi bộ bảo vệ hàm khởi tạo.
0xb3B34F032923DeA2ee8476Df26894E8fA9Eb7F54). The implementation address is stateless bytecode; funds directly transferred to the implementation contract cannot be retrieved by users.ĐÁNH GIÁ CHÍNH SÁCH & TUÂN THỦ
Cơ chế Danh sách Đen, Đóng băng Tài khoản & Thực thi Chế tài
Đánh giá cơ chế tuân thủ của token. J1USD là token BEP-20 mở hoạt động theo mô hình danh sách đen và đóng băng chủ động — không dùng danh sách trắng —, đảm bảo khả năng kết hợp phi tập trung tối đa trong khi vẫn đáp ứng các yêu cầu chế tài pháp lý.
Không Yêu Cầu Danh Sách Trắng (Chuyển khoản Không Cần Phép)
J1USD KHÔNG có danh sách trắng chuyển khoản. Bất kỳ ví Web3 tiêu chuẩn nào trên BNB Smart Chain đều có thể tự do nhận, giữ, gửi và giao dịch J1USD trên DEX mà không cần duyệt KYC hay đăng ký trước.
Chức năng Danh Sách Đen Rõ Ràng (Tuân thủ Chống Gian lận)
Vai trò BLACKLISTER_ROLE chuyên biệt có thể hạn chế các địa chỉ độc hại liên quan đến tấn công mạng, lệnh trừng phạt hoặc trộm cắp thực hiện ghi nợ hoặc ghi có.
Đóng băng Tài khoản Từng phần & Toàn phần Chính xác cao
Hợp đồng hỗ trợ cả freezeAccount() và freezeBalance(amount). Trong các tranh chấp thương mại, chỉ số tiền tranh chấp bị khóa, bảo toàn tính thanh khoản cho phần tiền còn lại.
Bảo vệ Xóa bỏ Pháp lý Đã Chứng nhận (Wipe)
WIPER_ROLE chỉ có thể tiêu hủy số dư bị đóng băng theo các phán quyết tư pháp hoặc quy định pháp luật ràng buộc. Việc tự ý tiêu hủy tài sản của người dùng là hoàn toàn bất khả thi về mặt cấu trúc.
Xác minh Hook ở cấp độ Bytecode: _update(), _approve() và transferFrom()
Bytecode thực hiện kiểm tra tính hợp lệ ghi nợ và ghi có nghiêm ngặt bên trong _update(from, to, amount):
Người gửi KHÔNG được nằm trong danh sách đen (!isBlacklisted), tài khoản KHÔNG bị đóng băng toàn bộ (!isAccountFrozen), và số tiền yêu cầu không vượt quá availableBalanceOf.
Người nhận KHÔNG được nằm trong danh sách đen và KHÔNG bị đóng băng. Ngăn chặn kẻ xấu tẩu tán tài sản bất hợp pháp vào các ví lưu ký bị hạn chế.
Cả chủ sở hữu token và bên chi tiêu đều phải không bị hạn chế. Các thực thể bị hạn chế không thể ủy quyền hạn mức hoặc thực hiện chuyển khoản bên thứ ba.
KIẾN TRÚC HỢP ĐỒNG THÔNG MINH
Cơ chế Bảo mật & Phân tích Bất biến
Đánh giá kiểm toán chuyên sâu các thành phần cốt lõi của J1USD: an toàn nâng cấp proxy, chống trùng lặp mật mã, phân tách trách nhiệm và ngắt mạch khẩn cấp.
An toàn Nâng cấp UUPS
Được xây dựng trên tiêu chuẩn UUPS của OpenZeppelin. Các biến trạng thái và số dư người dùng chỉ lưu trong các khe proxy. Hàm tạo thực thi _disableInitializers() để đảm bảo mã logic không thể bị chiếm quyền khởi tạo độc lập.
Bất biến Trần Nguồn Cung Tuyệt Đối
Không giống các stablecoin phát hành vô hạn, J1USD áp dụng supplyCeiling ở cấp độ hợp đồng. Mỗi lần mint() đều kiểm tra totalSupply() + amount <= supplyCeiling. Quản trị viên bị cấm hạ trần xuống dưới nguồn cung đang lưu hành.
Chống Trùng Lặp Sự Kiện Lũy Đẳng
Các thao tác đúc và đốt yêu cầu mã băm tham chiếu bytes32 duy nhất (issuanceReference / burnReference). Bất kỳ giao dịch nào cố gắng tái sử dụng mã tham chiếu sẽ bị hủy bỏ ngay lập tức với lỗi ReferenceAlreadyUsed.
Chuyển Giao Quyền Quản Trị Khóa Thời Gian
Sử dụng AccessControlDefaultAdminRulesUpgradeable. Việc chuyển giao vai trò quản trị viên không thể diễn ra trong một khối duy nhất; bắt buộc phải có thời gian hoãn (defaultAdminDelay) để phòng ngừa rò rỉ khóa riêng tư.
Đóng Băng Từng Phần Chính Xác Cao
Thay vì khóa toàn bộ ví, J1USD cung cấp tính năng freezeBalance. Các khoản tiền tranh chấp có thể được đóng băng theo tỷ lệ, trong khi availableBalanceOf vẫn cho phép chi tiêu hợp pháp phần còn lại.
Địa Chỉ Hệ Thống Được Bảo Vệ
Các địa chỉ cốt lõi của giao thức (bể PancakeSwap, kho bạc và hạ tầng vận hành) được đăng ký là protectedSystemAddress, miễn nhiễm khỏi việc bị đóng băng hoặc đưa vào danh sách đen.
MA TRẬN PHÂN QUYỀN
Danh sách Quyền Kiểm Soát Truy Cập Dựa Trên Vai Trò (RBAC)
Xác minh đặc quyền giữa các bên quản trị, phát hành, đốt, tuân thủ và khẩn cấp. Mọi hàm đặc quyền đều yêu cầu chữ ký mật mã rõ ràng khớp với vai trò được chỉ định.
| Định danh Vai trò | Hàm Đặc quyền | Kiểm soát An toàn & Bất biến |
|---|---|---|
| DEFAULT_ADMIN_ROLE0x00 (Admin Root) | Cấu hình phân công vai trò, cập nhật trần nguồn cung và chỉ định địa chỉ hệ thống được bảo vệ. | Được quản lý bởi OpenZeppelin AccessControlDefaultAdminRules với thời gian hoãn khóa bắt buộc. |
| UPGRADER_ROLEkeccak256('UPGRADER_ROLE') | Cấp phép nâng cấp logic thực thi UUPS trong _authorizeUpgrade(). | Giới hạn nghiêm ngặt trong quản trị đa chữ ký; không thể thay đổi trạng thái nếu không có mã hợp đồng hợp lệ. |
| MINTER_ROLEkeccak256('MINTER_ROLE') | Đúc token J1USD mới đối ứng với tài sản đảm bảo đã xác minh hoặc nhu cầu thanh toán giao thức. | Bị giới hạn nghiêm ngặt bởi supplyCeiling bất biến và tính duy nhất của mã tham chiếu issuanceReference. |
| BURNER_ROLEkeccak256('BURNER_ROLE') | Giảm nguồn cung token khi hoàn trả hoặc thanh lý các khoản nợ của giao thức. | Yêu cầu burnReference duy nhất. Có cơ chế cho phép đốt từ các tài khoản bị hạn chế để bảo toàn thanh khoản. |
| PAUSER_ROLEkeccak256('PAUSER_ROLE') | Kích hoạt hoặc hủy kích hoạt cầu dao khẩn cấp tạm dừng các giao dịch chuyển tiền thông thường. | Khả năng phòng thủ khẩn cấp trước các sự kiện thiên nga đen hoặc sự cố cầu nối cross-chain. |
| BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE') | Thêm hoặc xóa các địa chỉ khỏi danh sách đen ghi nợ/ghi có toàn cầu. | Không thể nhắm vào các địa chỉ protectedSystemAddress. Bắt buộc phải có mã tham chiếu theo dõi tuân thủ. |
| FREEZER_ROLEkeccak256('FREEZER_ROLE') | Đóng băng toàn bộ tài khoản hoặc một phần số dư (freezeBalance, freezeAllCurrentBalance). | Cho phép đóng băng các khoản tiền tranh chấp trong khi vẫn giữ thanh khoản cho phần dư. Địa chỉ hệ thống được miễn trừ. |
| WIPER_ROLEkeccak256('WIPER_ROLE') | Tiêu hủy số dư bị đóng băng theo lệnh tư pháp hoặc lệnh của cơ quan quản lý có thẩm quyền. | Chỉ áp dụng cho các tài khoản đã bị đóng băng hoặc trong danh sách đen; không vượt quá số dư bị đóng băng. |
| RESCUE_ROLEkeccak256('RESCUE_ROLE') | Thu hồi các token BEP-20 của bên thứ ba không liên quan gửi nhầm vào hợp đồng. | Nghiêm cấm tuyệt đối việc can thiệp vào số dư token J1USD (RescueProhibitedToken). |
HẠ TẦNG THANH KHOẢN & ĐÁNH GIÁ BỂ
Thanh khoản DEX On-Chain vs Bể Thứ cấp Tập trung
J1USD cân bằng giữa các thị trường AMM phi tập trung không lưu ký trên BNB Smart Chain với sổ lệnh tập trung off-chain. Dưới đây là thông tin chi tiết về địa chỉ bể, liên kết giao dịch trực tiếp và ranh giới an toàn.
Bể Tạo Lập Thị Trường Tự Động (AMM)
Bể thanh khoản hợp đồng thông minh không lưu ký hoạt động nguyên bản trên BNB Smart Chain qua PancakeSwap. Không có rủi ro lưu ký bên thứ ba; giao dịch thực thi ngang hàng với hợp đồng qua bytecode bất biến.
Bể thanh khoản tập trung neo giữ chặt chẽ J1USD với 1,00 USD Coin. Địa chỉ hệ thống được chỉ định và bảo vệ khỏi lệnh đóng băng.
Cầu nối AMM phi tập trung liên kết token tiện ích AirJIT (JIT) và tài sản thanh toán của giao thức (J1USD).
Bể Khớp Lệnh Sổ Lệnh Nội Bộ
AirJIT báo giá các thị trường thứ cấp trên các cặp tài sản thế chấp chính off-chain mà không cần địa chỉ hợp đồng riêng. Khớp lệnh được xử lý qua các công cụ khớp lệnh tập trung thông lượng cao.
Các máy chủ off-chain không nắm giữ bất kỳ khóa riêng tư nào được phép đúc hoặc đốt token J1USD trên BNB Smart Chain.
Số dư tài khoản nội bộ off-chain bị giới hạn nghiêm ngặt bởi các khoản ký gửi token proxy đã xác minh on-chain.
Các Cặp Giao Dịch Thứ Cấp Off-Chain Đang Hoạt Động (Sổ Lệnh):
KẾT QUẢ ĐÁNH GIÁ & MÔ HÌNH HÓA MỐI ĐE DỌA
Phân tích Vector Tấn công & Phòng thủ Chính thức
Đánh giá toàn diện các bề mặt tấn công kinh tế, toán học và mật mã tiềm ẩn được xem xét trong đợt đánh giá kỹ thuật.
Tấn công Tái nhập (Reentrancy)
Token kế thừa nghiêm ngặt các bản cập nhật trạng thái ERC-20 của OpenZeppelin (_update) mà không thực hiện các cuộc gọi ngoài không đáng tin cậy trước khi cập nhật số dư. Tuân thủ hoàn toàn quy chuẩn Checks-Effects-Interactions.
Thao túng Oracle & Giá Giao ngay
Sổ cái token J1USD không tham khảo các oracle giá bên ngoài khi chuyển hoặc phê duyệt. Các phép tính số dư diễn ra 100% nội bộ, loại bỏ hoàn toàn các vụ tấn công thao túng giá bằng vay nhanh (flash loan).
Chiếm Đoạt Bản Triển Khai Logic
Hàm tạo của hợp đồng triển khai thực thi _disableInitializers() ngay khi triển khai. Hợp đồng logic bên dưới không thể bị kẻ tấn công khởi tạo hoặc chiếm quyền sở hữu độc lập.
Chiếm Quyền Quản Trị Độc Hại
Việc gán lại vai trò quản trị viên bắt buộc phải có thời gian hoãn không thể thay đổi (defaultAdminDelay). Việc rò rỉ một khóa riêng lẻ không thể ngay lập tức chiếm quyền kiểm soát cao nhất của token.
BẤT BIẾN BẢO MẬT
Các Bất biến Bảo mật Được Kiểm Tra Chính thức
Tóm tắt các phép kiểm tra logic cấp độ bytecode khẳng định tính toàn vẹn của hệ thống được bảo toàn trong mọi trường hợp biên.
Khả năng Thực thi Trần Nguồn Cung
Các thao tác đúc sẽ bị hủy bỏ với lỗi SupplyCeilingExceeded nếu totalSupply() + amount vượt quá trần. Quản trị viên bị cấm hạ trần xuống dưới nguồn cung đang lưu hành.
Kiểm tra trạng thái supplyCeiling trong mint()Khử Trùng Lặp Tái Phát Khi Đúc và Đốt
Mỗi giao dịch đúc và đốt bắt buộc phải có một mã định danh bytes32 lũy đẳng. Các lệnh trùng lặp sẽ bị từ chối với ReferenceAlreadyUsed.
Bảng ánh xạ _usedIssuanceReferences & _usedBurnReferencesChống Chiếm Đoạt Logic Triển Khai
Hợp đồng triển khai khóa các hàm khởi tạo trong hàm tạo của nó. Kẻ tấn công không thể tự ý khởi tạo hoặc chiếm quyền sở hữu hợp đồng logic cơ sở.
Gọi _disableInitializers() trong hàm khởi tạoBảo Vệ Xung Đột Bố Cục Lưu Trữ
Lưu trữ proxy tuân thủ các khe ERC-1967 tiêu chuẩn. Khoảng trống dự phòng 42 từ đảm bảo việc nâng cấp trong tương lai không ghi đè lên các biến trạng thái hiện có.
Khe lưu trữ tiêu chuẩn ERC-1967 + khoảng trống uint256[42]Giảm Thiểu Nguy Cơ Chiếm Quyền Quản Trị Độc Hại
Việc chuyển giao DEFAULT_ADMIN_ROLE không diễn ra ngay lập tức. Quy trình hai bước có độ trễ bắt buộc giúp ngăn ngừa các sự cố rò rỉ khóa bất ngờ.
AccessControlDefaultAdminRules với defaultAdminDelayMiễn Nhiễm Cho Hạ Tầng Trọng Yếu
Các địa chỉ hệ thống đã đăng ký (bể DEX, kho bạc, hợp đồng vận hành) không thể bị đóng băng hoặc đưa vào danh sách đen, loại trừ rủi ro tấn công từ chối dịch vụ.
Kiểm tra _requireNotProtected() trong các hàm tuân thủKhóa Ngăn Tự Rút Tiền Khi Cứu Hộ Token
Hàm rescueERC20 cho phép thu hồi các token bên thứ ba gửi nhầm, nhưng chặn hoàn toàn các lệnh nhắm vào chính hợp đồng token J1USD.
Kiểm tra RescueProhibitedToken trong rescueERC20()Cầu Dao Khẩn Cấp Toàn Hệ Thống
Vai trò được ủy quyền PAUSER_ROLE có thể đình chỉ ngay lập tức các giao dịch chuyển và phê duyệt khi xảy ra biến động thị trường, nhưng vẫn giữ quyền xóa tài sản theo pháp luật.
Bộ sửa đổi whenNotPaused trên transfer/mint/approveĐộ Chính Xác Đóng Băng Số Dư Cô Lập
Cho phép đóng băng các khoản tiền tranh chấp mà không cần khóa toàn bộ ví người dùng, giữ cho các khoản tiền hợp pháp khác luôn có tính thanh khoản cao.
Phân tách số học trong availableBalanceOf()CÔNG BỐ LỖ HỔNG CÓ TRÁCH NHIỆM
Báo cáo Lỗ hổng Bảo mật
AirJIT duy trì chương trình công bố lỗ hổng bảo mật chủ động. Nếu bạn phát hiện lỗ hổng trong proxy J1USD, logic triển khai hoặc cơ sở hạ tầng hợp đồng thông minh, vui lòng báo cáo có trách nhiệm.
Vui lòng mã hóa các báo cáo nhạy cảm bằng PGP nếu có thể. Chúng tôi xác nhận và phản hồi tất cả các báo cáo hợp lệ trong vòng 24 giờ.