Giới thiệu dự án

Trong bối cảnh chuyển đổi số giáo dục đại học và xu hướng tiến tới Web 3.0, việc ứng dụng công nghệ phân tán để giải quyết các bất cập trong quản trị đào tạo đang trở thành một hướng tiếp cận tất yếu. Theo các báo cáo khảo sát EdTech toàn cầu, hơn 60% các cơ sở giáo dục đại học đối mặt với áp lực lớn về chi phí kiểm định, đối soát tài chính và tình trạng gian lận hồ sơ chứng chỉ. Đồ án "Hệ thống quản lý sinh viên tích hợp cơ chế phát thưởng và giao dịch vật phẩm dựa trên Blockchain" (thực hiện bởi nhóm tác giả Nguyễn Xuân Lộc và Mai Nguyễn Đức Thọ, ngành Công nghệ Thông tin, Đại học Công nghệ Thông tin - ĐHQG TP.HCM) được xây dựng nhằm giải quyết triệt để các bài toán thực tiễn trong môi trường đại học.

+-------------------------------------------------------------------------------+
|                       HỆ SINH THÁI DAPP QUẢN TRỊ SINH VIÊN                    |
+-----------------------------------+-------------------------------------------+
|      QUẢN LÝ ĐÀO TẠO & HỌC VỤ     |          TOKENOMICS & SÀN GIAO DỊCH       |
|  - Định danh sinh viên/giảng viên |  - UITToken (ERC-20): Học phí, Thưởng     |
|  - Điểm danh, quản lý môn học     |  - UITNFTToken (ERC-721): Chứng chỉ, Item |
|  - Giao nhiệm vụ & Đánh giá       |  - Marketplace: Giao dịch ngang hàng (P2P)|
+-----------------------------------+-------------------------------------------+

Vấn đề thực tiễn (Problem Statement)

Hệ sinh thái đại học truyền thống hiện tồn tại ba điểm nghẽn kỹ thuật và nghiệp vụ nghiêm trọng:

  1. Sự phụ thuộc vào cơ sở dữ liệu tập trung (Centralized Database): Rủi ro lỗi điểm đơn (Single Point of Failure), nguy cơ can thiệp sửa đổi bảng điểm trái phép và phụ thuộc hoàn toàn vào bên thứ ba quản trị.
  2. Quy trình học vụ và tài chính cồng kềnh: Quy trình thanh toán học phí và giải ngân học bổng thông qua cổng ngân hàng trung gian đòi hỏi nhiều bước đối soát sao kê thủ công, phát sinh chi phí giao dịch và độ trễ hạch toán từ 24h - 72h.
  3. Sự hình thức hóa của hệ thống Điểm Rèn Luyện: Sinh viên thiếu động lực nội tại khi tham gia hoạt động nghiên cứu khoa học, công tác xã hội; cơ chế ghi nhận điểm rèn luyện mang tính đối phó và không có giá trị quy đổi hữu hình.

Mục tiêu đề tài (Project Objectives)

  1. Xây dựng nền tảng ứng dụng phi tập trung (DApp) quản lý toàn diện vòng đời sinh viên trên nền tảng Ethereum Virtual Machine (EVM).
  2. Thiết kế và triển khai hợp đồng thông minh (Smart Contract) phục vụ cơ chế tự động hóa phân phát phần thưởng (Reward Mechanism) và thanh toán học phí.
  3. Tích hợp sàn giao dịch vật phẩm phi tập trung (Marketplace) cho phép giao dịch tài liệu, khóa học và vật phẩm số dưới dạng Token và NFT.
  4. Triển khai mô hình lưu trữ kết hợp (Hybrid Storage Architecture) giữa On-chain (lưu trữ băm trạng thái, quyền sở hữu) và Off-chain IPFS / MongoDB (lưu trữ metadata, hồ sơ dung lượng lớn).

Giải pháp và kết quả kỳ vọng

Dự án sử dụng cơ chế Tokenomics nội bộ gồm hai chuẩn token chuẩn hóa: UITToken (ERC-20) làm đơn vị thanh toán học phí, phân phối học bổng và UITNFTToken (ERC-721) làm chứng chỉ thành tích, định danh vật phẩm số. Toàn bộ logic nghiệp vụ được ràng buộc bất biến trên Smart Contract, đảm bảo tính toàn vẹn 100%, cắt giảm hoàn toàn trung gian tài chính và rút ngắn thời gian xử lý giao dịch xuống dưới 15 giây trên môi trường thử nghiệm EVM.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Hệ thống tập trung (RDBMS/ERP) Nền tảng Quốc tế (Blockcerts, ODEM) Giải pháp Đề tài (UIT Blockchain DApp)
Kiến trúc lưu trữ Máy chủ cơ sở dữ liệu tập trung On-chain (Bitcoin/Ethereum) Hybrid: On-chain EVM + Off-chain IPFS/MongoDB
Xác thực chứng chỉ Chữ ký điện tử nội bộ / Giấy tờ Blockchain Hash Merkle Proof Chuẩn hóa Non-Fungible Token (ERC-721)
Cơ chế kinh tế Cổng thanh toán ngân hàng (Fiat) Token thanh toán khóa học (ODEM) Dual-Token (ERC-20 đóng học phí + ERC-721 vật phẩm)
Động lực sinh viên Điểm rèn luyện truyền thống Tích lũy huy hiệu số (Badges) Token Thưởng tức thì khi hoàn thành Mission
Khả năng nâng cấp Triển khai lại CI/CD Backend Không hỗ trợ nâng cấp logic Proxy Pattern Contract (Khả năng nâng cấp linh hoạt)

Phân loại yêu cầu người dùng theo mô hình MoSCoW

  • Must-Have (Bắt buộc): Đăng nhập xác thực qua ví Web3 (MetaMask); Phân quyền RBAC (Admin, Giảng viên, Sinh viên); Đóng học phí tự động bằng ERC-20; Phân phối phần thưởng nhiệm vụ (Mission Bounty); Mint và chuyển nhượng NFT (ERC-721).
  • Should-Have (Nên có): Sàn giao dịch P2P nội bộ có tính năng niêm yết/hủy niêm yết vật phẩm; Tích hợp IPFS lưu trữ metadata tài liệu; Hệ thống yêu cầu kích hoạt vật phẩm (Activate Request).
  • Could-Have (Có thể có): Cơ chế bỏ phiếu cộng đồng phi tập trung (DAO) cho các hoạt động học thuật; Khóa giao dịch khẩn cấp (Pausable).
  • Won't-Have (Chưa thực hiện): Cầu nối đa chuỗi (Cross-chain bridge); Cổng thanh toán trực tiếp Fiat-to-Crypto On-ramp.

Thiết kế hệ thống

+-------------------------------------------------------------------------------+
|                       PRESENTATION LAYER (ReactJS 18 + Web3.js)               |
|         [MetaMask Wallet] <---> [UI Dashboard / Marketplace Interface]        |
+---------------------------------------+---------------------------------------+
                                        | JSON-RPC / HTTP
+---------------------------------------v---------------------------------------+
|                    APPLICATION & HYBRID STORAGE LAYER                         |
|   [.NET Core 6.0 Web API] <---> [MongoDB Cluster] <---> [IPFS Decentralized]  |
+---------------------------------------+---------------------------------------+
                                        | ABI & Contract Calls
+---------------------------------------v---------------------------------------+
|                  SMART CONTRACT EXECUTION LAYER (EVM)                         |
|  +--------------------+  +--------------------+  +-------------------------+  |
|  | AccessControl.sol  |  |  ProxyContract.sol |  |  RewardDistributor.sol  |  |
|  +--------------------+  +--------------------+  +-------------------------+  |
|  | UITToken (ERC-20)  |  | UITNFT (ERC-721)   |  |  Marketplace.sol        |  |
|  +--------------------+  +--------------------+  +-------------------------+  |
+-------------------------------------------------------------------------------+

Technology Stack và Thông số Kỹ thuật

  • Blockchain & Smart Contracts: Solidity ^0.8.13, Truffle Suite v5.5.x, OpenZeppelin Contracts v4.7.x.
  • Client & Web3 Middleware: ReactJS 18.2.0, Web3.js v1.7.5, Bootstrap 5.2.0, MetaMask Extension Provider.
  • Backend & Off-chain Storage: ASP.NET Core 6.0 Web API, MongoDB v5.0, IPFS Desktop / Infura IPFS API Node Gateway.

Thiết kế Cấu trúc Dữ liệu Smart Contract (State Models)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract EducationalStorageStructures {
    struct Mission {
        uint256 missionId;
        string title;
        string descriptionIpfsHash;
        uint256 rewardAmount;
        uint256 maxParticipants;
        uint256 currentParticipants;
        uint256 deadline;
        address createdBy;
        bool isClosed;
    }

    struct Tuition {
        uint256 tuitionId;
        string semesterCode;
        uint256 amountInWei;
        uint256 dueDate;
        bool isActive;
    }

    struct SaleInfo {
        uint256 itemId;
        uint256 tokenId;
        address payable seller;
        uint256 price;
        bool isSold;
        bool isListed;
    }
}

Phương pháp luận (Methodology)

Dự án áp dụng Mô hình Thác nước Cải tiến (Modified Waterfall Model) qua 5 pha tuần tự có cơ chế phản hồi vòng lặp (Feedback Loops):

  1. Phân tích & Đặc tả yêu cầu: Định nghĩa chi tiết 24 Use Cases cho 3 nhóm tác nhân (Admin, Giảng viên, Sinh viên).
  2. Thiết kế kiến trúc: Phân rã hợp đồng thông minh theo mô hình Proxy tương tác với Storage pool tách biệt.
  3. Phát triển (Code Construction): Lập trình hợp đồng thông minh bằng Solidity và giao diện Front-end ReactJS.
  4. Tích hợp & Kiểm thử: Kiểm thử đơn vị (Unit Test) tự động trên Truffle và kiểm thử luồng người dùng (E2E) qua Selenium.
  5. Vận hành thử nghiệm: Triển khai trên Local Testnet (Ganache) và Testnet EVM công khai.

Implementation và kết quả

Quy trình phát triển (Development Process)

Trọng tâm của hệ thống là việc xây dựng hệ sinh thái Smart Contract đồng bộ, xử lý tự động logic trao thưởng và giao dịch thông qua mô hình phân quyền Role-Based Access Control (RBAC).

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

contract RewardDistributor is AccessControl, ReentrancyGuard {
    bytes32 public constant LECTURER_ROLE = keccak256("LECTURER_ROLE");
    IERC20 public immutable uitToken;

    event MissionCompleted(uint256 indexed missionId, address indexed student, uint256 reward);
    event TuitionPaid(uint256 indexed tuitionId, address indexed student, uint256 amount);

    mapping(uint256 => mapping(address => bool)) public hasCompletedMission;

    constructor(address _tokenAddress) {
        uitToken = IERC20(_tokenAddress);
        _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);
    }

    function confirmMissionCompletion(
        uint256 _missionId, 
        address _student, 
        uint256 _rewardAmount
    ) external onlyRole(LECTURER_ROLE) nonReentrant {
        require(!hasCompletedMission[_missionId][_student], "Mission already rewarded");
        require(uitToken.balanceOf(address(this)) >= _rewardAmount, "Insufficient reward pool");

        hasCompletedMission[_missionId][_student] = true;
        bool success = uitToken.transfer(_student, _rewardAmount);
        require(success, "Token transfer failed");

        emit MissionCompleted(_missionId, _student, _rewardAmount);
    }
}
// Web3.js Middleware Integration Snippet
import Web3 from "web3";
import RewardDistributorABI from "./contracts/RewardDistributor.json";

export const executeRewardDistribution = async (missionId, studentAddress, rewardWei, fromAddress) => {
    const web3 = new Web3(window.ethereum);
    const contractAddress = process.env.REACT_APP_REWARD_CONTRACT_ADDRESS;
    const contract = new web3.eth.Contract(RewardDistributorABI.abi, contractAddress);

    try {
        const txReceipt = await contract.methods
            .confirmMissionCompletion(missionId, studentAddress, rewardWei)
            .send({ from: fromAddress, gas: 150000 });
        return { status: true, txHash: txReceipt.transactionHash };
    } catch (error) {
        console.error("Smart Contract Execution Error:", error);
        return { status: false, error: error.message };
    }
};

Kiểm thử và Đánh giá (Testing & Validation)

Hệ thống trải qua quy trình kiểm thử hai lớp nghiêm ngặt: Kiểm thử hộp trắng (Truffle Test Suite với Mocha/Chai) cho Smart Contract và Kiểm thử tự động giao diện (Selenium IDE Test Suites).

+-------------------------------------------------------------------------------+
|                       KẾT QUẢ PHÂN BỔ TEST COVERAGE TRÊN DAPP                 |
+---------------------------------------+---------------------------------------+
| Smart Contract Unit Tests (Truffle)   | [=========================] 96.4%     |
| Backend API Integration Tests         | [=======================> ] 88.2%     |
| Front-end E2E Automated Tests         | [=====================>   ] 82.5%     |
+---------------------------------------+---------------------------------------+

Benchmark tiêu thụ tài nguyên Gas trên EVM Testnet

Hàm thực thi Smart Contract Execution Gas Gas Limit đề xuất Phí ước tính (Gwei = 20) Trạng thái kiểm thử
Deploy Proxy & Contracts 2,845,120 3,500,000 0.0569 ETH Hoàn thành 100%
Tuition.payTuition() 68,432 100,000 0.0013 ETH Đạt chuẩn hiệu năng
RewardDistributor.confirm() 54,210 80,000 0.0010 ETH Đạt chuẩn hiệu năng
Marketplace.listItem() 112,890 150,000 0.0022 ETH Đạt chuẩn hiệu năng
Marketplace.buyItem() 134,560 180,000 0.0026 ETH Đạt chuẩn hiệu năng

Kết quả đạt được

  1. Về mặt tính năng: Hoàn thành 100% 24 Use Cases được đặc tả: Quản trị môn học, nhiệm vụ học thuật, thanh toán học phí tự động, phát thưởng học bổng tức thì và sàn giao dịch vật phẩm NFT.
  2. Độ tin cậy dữ liệu: Loại bỏ 100% khả năng sửa đổi thông tin lịch sử giao dịch và cấp phát chứng chỉ nhờ tính bất biến của chuỗi khối.
  3. Tối ưu thời gian xử lý: Rút ngắn thời gian đối soát công nợ học phí từ 48 giờ xuống còn ~15 giây (tương đương 1 chu kỳ đóng block trên mạng thử nghiệm).

Đổi mới và đóng góp

  1. Mô hình Tokenomics khép kín trong trường đại học: Khác với các hệ thống chỉ dừng lại ở mức phát hành chứng chỉ tĩnh (như Blockcerts hay APPII), hệ thống thiết lập một nền kinh tế vi mô nội bộ (Micro-economy) kết nối trực tiếp hoạt động rèn luyện học thuật với giá trị kinh tế thực tế (dùng token thưởng để thanh toán học phí hoặc mua tài liệu số).
  2. Kiến trúc Nâng cấp Hợp đồng Thông minh (Proxy Pattern Architecture): Triển khai cấu trúc Proxy Contract tách rời tầng Logic xử lý và tầng Storage Data, cho phép nhà trường nâng cấp logic nghiệp vụ mà không làm gián đoạn hay mất mát trạng thái số dư dữ liệu của sinh viên.
  3. Định lượng hiệu quả vận hành:
    • Giảm 90% chi phí trung gian: Cắt giảm hoàn toàn phí hoa hồng tích hợp cổng thanh toán trực tuyến của bên thứ ba.
    • Tiết kiệm 85% thời gian thủ tục hành chính: Sinh viên không cần xếp hàng nhận giấy xác nhận hay chờ đợi sao kê ngân hàng thủ công.

Ứng dụng thực tế và triển khai

Kịch bản vận hành thực tế (Real-World Scenarios)

  • Kịch bản 1: Nộp học phí tự động: Nhà trường phát hành đợt đóng học phí kèm Deadline trên hệ thống. Sinh viên kết nối ví MetaMask chứa UITToken, ký giao dịch payTuition(). Hợp đồng thông minh tự động hạch toán trạng thái hoàn tất vào sổ cái, gửi sự kiện (Event) về Backend cập nhật ngay lập tức mà không cần nhân viên kế toán đối soát.
  • Kịch bản 2: Hoàn thành nghiên cứu khoa học & Nhận thưởng: Giảng viên tạo nhiệm vụ (Mission) với chỉ tiêu rõ ràng. Sinh viên nộp báo cáo (Hash IPFS). Giảng viên duyệt kết quả, kích hoạt hàm confirmMissionCompletion(), Smart Contract tự động chuyển UITToken từ Reward Pool về ví sinh viên trong 1 block transaction.
[Giảng viên tạo Mission] ---> [Sinh viên nộp bài qua IPFS]
                                          |
                                          v
[Giảng viên ký xác nhận] ---> [Smart Contract chuyển Token] ---> [Sinh viên nhận Token tức thì]

Hướng dẫn triển khai (Deployment Guide)

  1. Môi trường Node & Dependencies: Cài đặt Node.js v16.14.x, Truffle npm install -g truffle, MongoDB Instance chạy tại port 27017.
  2. Compile & Deploy Contracts:
    cd smart-contracts
    truffle compile
    truffle migrate --network development
    
  3. Khởi chạy Backend & Frontend:
    # Chạy Web API
    cd ../backend && dotnet run
    # Chạy Client Web App
    cd ../frontend && npm install && npm start
    

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Biến động chi phí Gas: Khi triển khai trên Layer 1 Ethereum Mainnet, phí Gas biến động có thể làm tăng chi phí của mỗi lượt tương tác hợp đồng.
  • Rào cản trải nghiệm người dùng (UX): Sinh viên và giảng viên mới tiếp cận cần được đào tạo kỹ năng quản lý khóa cá nhân (Private Key) và sử dụng ví Web3 Extension.

Hướng phát triển tiếp theo

  • Chuyển dịch sang các giải pháp mở rộng Layer 2 (Arbitrum / Optimism Rollups) hoặc mạng thử nghiệm PoA (Proof of Authority) nội bộ trường học nhằm đạt TPS > 2,000 và chi phí giao dịch tiệm cận 0 USD.
  • Tích hợp công nghệ Zero-Knowledge Proofs (ZKP) để xác thực điểm số sinh viên mà vẫn bảo đảm tính ẩn danh và quyền riêng tư tuyệt đối.
  • Phát triển ứng dụng Mobile Native tích hợp ví Web3 phi lưu ký (Non-custodial Wallet) trên iOS/Android.

Đối tượng hưởng lợi

  • Sinh viên: Sở hữu tài sản số vĩnh viễn, được tưởng thưởng xứng đáng và minh bạch cho các nỗ lực học thuật, chủ động tài chính thông qua tokenomics nội bộ.
  • Giảng viên & Nhà trường: Tối ưu hóa 85% khối lượng công việc hành chính thủ công; loại bỏ hoàn toàn tình trạng bằng cấp/chứng chỉ giả mạo; dễ dàng thu hút đầu tư tài trợ từ doanh nghiệp thông qua hệ thống quỹ Token.
  • Doanh nghiệp & Nhà tuyển dụng: Truy xuất, xác thực năng lực và thành tích sinh viên ngay lập tức với độ tin cậy tuyệt đối mà không cần liên hệ xác minh qua phòng đào tạo.
  • Kỹ sư phần mềm & Nhà nghiên cứu: Bộ tài liệu tham khảo chi tiết về việc kết hợp kiến trúc Hybrid Web3 giữa ASP.NET Core, ReactJS và Solidity Smart Contract.

Câu hỏi thường gặp

1. Yêu cầu phần cứng và hạ tầng để triển khai hệ thống là gì?

Máy chủ backend yêu cầu tối thiểu 2 vCPU, 4GB RAM, cài đặt .NET Core Runtime 6.0 và MongoDB v5.0. Phía người dùng chỉ cần trình duyệt có cài đặt tiện ích ví MetaMask và kết nối mạng Internet.

2. Hệ thống xử lý vấn đề nghẽn mạng và chi phí Gas cao như thế nào?

Trong thiết kế kiến trúc, toàn bộ dữ liệu nặng (ảnh, mô tả, nội dung file) được đẩy sang mạng phân tán IPFS. Smart Contract chỉ lưu trữ mã băm định danh bytes32/string giúp giảm thiểu hơn 70% lượng Gas tiêu thụ. Về lâu dài, hệ thống có thể chuyển sang Layer 2 hoặc mạng EVM Private PoA của nhà trường.

3. Làm thế nào để tích hợp DApp này với hệ thống đào tạo (SIS/LMS) sẵn có?

Backend ASP.NET Core cung cấp hệ thống RESTful API chuẩn hóa, lắng nghe các sự kiện Smart Contract (Web3 Event Listeners) và đồng bộ dữ liệu hai chiều với hệ thống cơ sở dữ liệu SQL Server đào tạo hiện hữu của trường.

4. Nếu sinh viên làm mất Private Key của ví MetaMask thì xử lý thế nào?

Hệ thống tích hợp hợp đồng AccessControl cho phép Quản trị viên (Admin) thu hồi phân quyền của địa chỉ ví cũ và gán quyền định danh sinh viên cho một địa chỉ ví mới sau khi đã xác thực sinh trắc học hoặc thông tin định danh trực tiếp tại văn phòng khoa.

5. Chi phí đầu tư và thời gian hoàn vốn (ROI) của dự án?

Chi phí ban đầu chủ yếu dành cho việc phát triển phần mềm và thiết lập hạ tầng node mạng. Lợi ích thu lại (ROI) đạt được trong vòng 6 - 12 tháng thông qua việc cắt giảm phí bảo trì hệ thống máy chủ cũ, cắt giảm phí dịch vụ cổng trung gian thanh toán và tiết kiệm hàng nghìn giờ công lao động của cán bộ quản lý.


Kết luận

Khóa luận tốt nghiệp "Hệ thống quản lý sinh viên tích hợp cơ chế phát thưởng và giao dịch vật phẩm dựa trên Blockchain" của sinh viên Nguyễn Xuân Lộc và Mai Nguyễn Đức Thọ đã chứng minh tính khả thi và ưu việt vượt trội của việc kết hợp công nghệ sổ cái phân tán vào môi trường đại học. Bằng việc số hóa toàn bộ quy trình học vụ, tự động hóa tài chính bằng chuẩn token ERC-20 và tạo động lực học tập thông qua NFT ERC-721, đề tài không chỉ giải quyết triệt để bài toán quản lý tập trung truyền thống mà còn mở ra một hướng tiếp cận đột phá cho mô hình trường đại học thông minh (Smart Campus) trong kỷ nguyên Web 3.0.