Giới thiệu dự án

Thị trường tài sản số và công nghệ chuỗi khối (Blockchain) đã chứng kiến sự bùng nổ mạnh mẽ với sự trỗi dậy của Non-Fungible Token (NFT). Kể từ giai đoạn khởi sắc với hơn 174 triệu USD giao dịch giai đoạn 2017–2021 và đạt quy mô hàng chục tỷ USD toàn cầu, NFT đã vượt ra khỏi giới hạn của các tác phẩm nghệ thuật kỹ thuật số đơn thuần để thâm nhập vào đời sống thực thông qua làn sóng GameFi và SocialFi. Nổi bật nhất trong số đó là xu hướng Move-to-Earn (M2E) – mô hình kết hợp giữa cảm biến chuyển động vật lý, hệ thống định vị toàn cầu (GPS - Global Positioning System) và công nghệ sổ cái phân tán (DLT - Distributed Ledger Technology) để tạo ra giá trị kinh tế trực tiếp từ hoạt động rèn luyện thể chất.

+-------------------------------------------------------------------------+
|                              HỆ SINH THÁI RUNN                          |
+------------------------------------+------------------------------------+
|            LAYER 1: ON-CHAIN       |         LAYER 2: OFF-CHAIN         |
|  - RunnSneaker721 (ERC-721 NFT)    |  - Express.js REST API Server      |
|  - RunnMoveToken (ERC-20 RMT)      |  - MongoDB Atlas (Metadata cache)  |
|  - RunnToken (Governance Token)    |  - GPS / Sensor Telemetry Service  |
|  - RunnMarketplace (P2P Exchange)  |  - IPFS Node (Decentralized Media) |
+------------------------------------+------------------------------------+

Tuy nhiên, các nền tảng Move-to-Earn thế hệ đầu đối mặt với nhiều rào cản kỹ thuật và kinh tế nghiêm trọng: tình trạng lạm phát mã thông báo (token inflation) do thiếu cơ chế đốt (burn mechanism) bền vững, chi phí gia nhập ban đầu quá cao, vấn đề gian lận dữ liệu định vị (GPS spoofing) và trải nghiệm giao dịch phức tạp đối với người dùng truyền thống.

Đồ án "Tìm hiểu Blockchain và xây dựng ứng dụng NFT theo trào lưu Move to Earn" do nhóm sinh viên Khoa Công nghệ Phần mềm – Trường Đại học Công nghệ Thông tin (ĐHQG TP.HCM) thực hiện đã giải quyết triệt để các hạn chế trên thông qua giải pháp RunN: Hệ sinh thái Web3 đa nền tảng kết hợp ứng dụng di động theo dõi vận động thể chất và sàn giao dịch NFT Marketplace phi tập trung.

Mục tiêu cụ thể của dự án bao gồm:

  1. Nghiên cứu chuyên sâu kiến trúc máy ảo Ethereum (EVM - Ethereum Virtual Machine), tiêu chuẩn token ERC-20 và ERC-721 cùng cơ chế bảo mật hợp đồng thông minh (Smart Contract).
  2. Xây dựng hệ thống Smart Contract toàn diện bao gồm: Token phần thưởng RunnMoveToken (RMT), Token quản trị RunnToken, NFT giày thể thao RunnSneaker721 và sàn giao dịch RunnMarketplace.
  3. Phát triển ứng dụng di động đa nền tảng bằng React Native, tích hợp cảm biến gia tốc và GPS để đo đạc chính xác quãng đường, vận tốc và lượng calo tiêu thụ thời gian thực.
  4. Xây dựng nền tảng Web Marketplace bằng Next.js hỗ trợ kết nối ví Web3 (MetaMask, WalletConnect) và hệ thống lưu trữ phi tập trung IPFS (InterPlanetary File System).

Phạm vi của dự án tập trung vào việc mô phỏng và triển khai mạng thử nghiệm Goerli Testnet, đảm bảo tính toàn vẹn của logic trả thưởng, khả năng chống tấn công tái nhập (Reentrancy) trên Smart Contract và tối ưu hóa chi phí phí gas giao dịch.


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

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

Khảo sát các giải pháp Move-to-Earn thương mại dẫn đầu thị trường (STEPN, CaloRun, Genopets) cho thấy những ưu điểm nổi bật cùng các lỗ hổng kỹ thuật còn tồn tại:

Tiêu chí STEPN CaloRun Genopets RunN (Giải pháp đề xuất)
Hệ sinh thái Blockchain Solana / BNB Chain / Ethereum BNB Chain / Polygon Solana Ethereum (EVM Compatible)
Tiêu chuẩn NFT SPL / BEP-721 / ERC-721 BEP-721 / ERC-721 Metaplex Standard ERC-721 Enumerable + URIStorage
Mô hình Tokenomics Dual-Token (GST/GMT) Dual-Token (CALO/FITG) Dual-Token (GENE/KI) Dual-Token (RMT/RunnToken)
Lưu trữ Metadata Máy chủ tập trung / AWS AWS / IPFS hỗn hợp Arweave IPFS phi tập trung hoàn toàn
Bảo mật Smart Contract Đóng mã nguồn một phần Đóng mã nguồn Đóng mã nguồn OpenZeppelin, ReentrancyGuard, Pausable
Kiểm soát lạm phát Đốt token qua sửa giày, mint Đốt token qua nâng cấp Đốt qua lai tạo pet Đốt trực tiếp khi nâng cấp level NFT

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Đăng nhập/Đăng ký xác thực JWT; Kết nối ví Web3 MetaMask; Đúc (Mint) và Chuyển nhượng NFT Sneaker chuẩn ERC-721; Ghi nhận GPS và tính toán phần thưởng RMT; Niêm yết và mua bán NFT trên Marketplace.
  • Should have (Nên có): Bộ lọc thuộc tính NFT đa tiêu chí; Cơ chế tạm dừng khẩn cấp (Pausable) trên Smart Contract; Danh sách trắng (Whitelist) kiểm soát hợp đồng NFT tham gia sàn.
  • Could have (Có thể có): Tính năng đấu giá NFT trực tuyến; Tích hợp đa ví thông qua giao thức WalletConnect v2.
  • Won't have (Chưa thực hiện): Chế độ chạy marathon nhiều người tham gia thời gian thực (PvP); Cầu nối chuỗi chéo (Cross-chain bridge).

Thiết kế hệ thống

Kiến trúc hệ thống RunN kết hợp giữa On-chain (Blockchain Layer) và Off-chain (Backend/Storage Layer) nhằm tối ưu tốc độ phản hồi và tiết kiệm chi phí gas:

[ Mobile App (React Native) ] <---> [ REST API (Express / Node.js) ] <---> [ MongoDB Atlas ]
             |                                     |
             v                                     v
[ Web3 Provider (Ethers.js) ] <=========> [ Goerli Testnet / EVM ] <=====> [ IPFS Node ]
             |                                     |
             +-----> [ MetaMask / Signer ] <------+

Ngăn xếp công nghệ (Technology Stack)

  • Smart Contract Layer: Solidity ^0.8.9, Hardhat Development Framework v2.12.0, Thư viện OpenZeppelin Contracts v4.8.0.
  • Backend & Database: Node.js v18.12.0, Express.js v4.18.2, MongoDB v6.0, Mongoose ODM v6.8.0.
  • Frontend & Web3 Integration: Next.js v13.0, React v18.2, Ethers.js v5.7.2, Material-UI (MUI) v5.10.
  • Mobile Client: React Native v0.70.6, React Native Maps v1.3.2, NativeBase v3.4.
  • Decentralized Storage & Infrastructure: IPFS via Infura Dedicated Gateway, Goerli Ethereum Testnet.

Thiết kế cấu trúc dữ liệu Smart Contract và Database Schema

Hệ thống sử dụng các cấu trúc dữ liệu tối ưu trên Solidity để giảm thiểu dung lượng lưu trữ trên máy tính EVM (EVM Storage Slots):

// Struct quản lý phiên bán hàng trên RunnMarketplace
struct Sale {
    uint256 saleId;     // Định danh duy nhất của phiên bán
    address seller;     // Địa chỉ ví người bán (20 bytes)
    address buyer;      // Địa chỉ ví người mua (20 bytes)
    address c721;       // Địa chỉ hợp đồng NFT ERC-721 (20 bytes)
    uint256 tokenId;    // Token ID của NFT niêm yết
    uint256 price;      // Giá niêm yết tính theo Wei (1 ETH = 10^18 Wei)
    uint256 fee;        // Phí giao dịch sàn thu (tính theo %)
    bool active;        // Trạng thái kích hoạt của phiên giao dịch
}

// Struct quản lý thuộc tính NFT trên RunnSneaker721
struct TokenInfo {
    uint256 tokenId;    // ID định danh duy nhất của giày
    string info;        // Mô tả chi tiết vật phẩm
    string item;        // Phân loại dòng giày (Walker, Jogger, Runner)
    uint256 time;       // Thời điểm đúc hoặc cập nhật dữ liệu
    string uri;         // Đường dẫn IPFS trỏ tới file metadata JSON
    uint256 level;      // Cấp độ của giày (ảnh hưởng trực tiếp tốc độ nhận thưởng)
}

Phía Off-chain, cơ sở dữ liệu MongoDB lưu trữ bản sao dữ liệu để phục vụ các truy vấn tìm kiếm, lọc nhanh mà không phát sinh chi phí đọc từ RPC Node:

{
  "_id": "639b2a1e4f1a2b001c8d4e5a",
  "tokenId": 1042,
  "owner": "0x71C...3a9",
  "itemType": "Runner",
  "level": 5,
  "durability": 100,
  "baseSpeed": { "min": 8.0, "max": 20.0 },
  "tokenURI": "ipfs://QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco",
  "saleStatus": {
    "isForSale": true,
    "priceWei": "50000000000000000",
    "marketplaceSaleId": 18
  }
}

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

Dự án áp dụng mô hình Agile/Scrum kết hợp quy trình phát triển Smart Contract nghiêm ngặt với 5 giai đoạn chính (tổng thời gian 15 tuần):

Tuần 1-3: Nghiên cứu Blockchain, EVM, ERC-20/721 & Lập đặc tả yêu cầu (SRS)
Tuần 4-7: Lập trình Smart Contract (Hardhat) & Viết kịch bản kiểm thử tự động
Tuần 8-10: Xây dựng RESTful API Backend & Cơ chế đồng bộ hóa Web3 Events
Tuần 11-13: Phát triển Mobile App (React Native) & Web Marketplace (Next.js)
Tuần 14-15: Kiểm thử tải, bảo mật, Deploy Testnet & Đánh giá nghiệm thu

Ma trận quản trị rủi ro kỹ thuật

  • Rủi ro lỗi bảo mật Smart Contract (Reentrancy, Front-running): Áp dụng mẫu thiết kế Checks-Effects-Interactions, sử dụng bộ điều phối ReentrancyGuardAccessControl từ OpenZeppelin.
  • Rủi ro nghẽn mạng và biến động Gas: Tối ưu hóa biến lưu trữ (uint256 struct packing), đưa logic tính toán phức tạp về lớp Backend Off-chain.
  • Rủi ro bất đồng bộ giữa Blockchain và MongoDB: Triển khai cơ chế WebSockets Event Listener lắng nghe các sự kiện Transfer, SaleCreated, SaleSuccess từ hợp đồng để cập nhật cơ sở dữ liệu thời gian thực.

Thực thi và kết quả

Quy trình phát triển và thuật toán cốt lõi

1. Hợp đồng sàn giao dịch RunnMarketplace

Logic mua bán tài sản số yêu cầu cơ chế ủy thác an toàn, ngăn chặn việc người bán rút NFT sau khi đã mở bán hoặc người mua không thanh toán đủ giá trị:

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

import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";

contract RunnMarketplace is AccessControl, ReentrancyGuard, Pausable, ERC721Holder {
    bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE");
    uint256 private _saleIdCounter;
    uint256 public marketFeePercentage = 250; // 2.5% = 250 / 10000
    address payable public feeRecipient;

    mapping(uint256 => Sale) public sales;
    mapping(address => bool) public whitelistContracts;

    event SaleCreated(uint256 indexed saleId, address indexed seller, uint256 indexed tokenId, uint256 price);
    event SaleSuccess(uint256 indexed saleId, address indexed buyer, uint256 price);
    event SaleCancelled(uint256 indexed saleId);

    constructor(address payable _feeRecipient) {
        _grantRole(DEFAULT_ADMIN_ROLE, msg.sender);
        _grantRole(ADMIN_ROLE, msg.sender);
        feeRecipient = _feeRecipient;
    }

    function sell(address c721, uint256 tokenId, uint256 price) external whenNotPaused nonReentrant returns (uint256) {
        require(whitelistContracts[c721], "Contract not in whitelist");
        require(price > 0, "Price must be greater than zero");
        
        // Chuyển quyền giữ NFT vào Marketplace (Escrow)
        IERC721(c721).safeTransferFrom(msg.sender, address(this), tokenId);

        _saleIdCounter++;
        sales[_saleIdCounter] = Sale({
            saleId: _saleIdCounter,
            seller: msg.sender,
            buyer: address(0),
            c721: c721,
            tokenId: tokenId,
            price: price,
            fee: marketFeePercentage,
            active: true
        });

        emit SaleCreated(_saleIdCounter, msg.sender, tokenId, price);
        return _saleIdCounter;
    }

    function buy(uint256 saleId) external payable whenNotPaused nonReentrant {
        Sale storage currentSale = sales[saleId];
        require(currentSale.active, "Sale is no longer active");
        require(msg.value >= currentSale.price, "Insufficient payment amount");

        currentSale.active = false;
        currentSale.buyer = msg.sender;

        uint256 feeAmount = (currentSale.price * currentSale.fee) / 10000;
        uint256 sellerAmount = currentSale.price - feeAmount;

        // Trừ phí sàn và thanh toán tiền cho người bán
        feeRecipient.transfer(feeAmount);
        payable(currentSale.seller).transfer(sellerAmount);

        // Chuyển giao NFT cho người mua
        IERC721(currentSale.c721).safeTransferFrom(address(this), msg.sender, currentSale.tokenId);

        emit SaleSuccess(saleId, msg.sender, currentSale.price);
    }
}

2. Thuật toán đo lường vận động và tính toán phần thưởng RMT

Hệ thống ghi nhận luồng tọa độ GPS ($lat_i, lon_i, t_i$) từ thiết bị di động với tần suất lấy mẫu 1 giây/lần. Khoảng cách giữa hai điểm liên tiếp được tính bằng công thức Haversine với độ chính xác cao:

$$d = 2R \cdot \arcsin\left(\sqrt{\sin^2\left(\frac{\Delta \phi}{2}\right) + \cos(\phi_1)\cos(\phi_2)\sin^2\left(\frac{\Delta \lambda}{2}\right)}\right)$$

Trong đó:

  • $R = 6371\text{ km}$ (bán kính Trái Đất).
  • $\phi_1, \phi_2$ là vĩ độ của 2 điểm liên tiếp (tính theo radian).
  • $\Delta \phi, \Delta \lambda$ là độ chênh lệch vĩ độ và kinh độ.

Phần thưởng token $RMT$ phát hành cho mỗi phiên chạy được xác định theo mô hình toán học:

$$\text{Reward}{RMT} = B \times d{\text{valid}} \times S_f(v) \times \left(1 + \frac{\text{Level}}{10}\right) \times \eta_{\text{durability}}$$

  • $B$: Tỷ lệ thưởng cơ sở ($B = 0.5\text{ RMT/km}$).
  • $d_{\text{valid}}$: Quãng đường di chuyển hợp lệ (km).
  • $S_f(v)$: Hệ số vận tốc tối ưu. Nếu vận tốc trung bình $v \in [v_{\min}, v_{\max}]$ theo cấu hình của loại giày (ví dụ Jogger: $6.0 - 10.0\text{ km/h}$) thì $S_f(v) = 1.0$, nếu nằm ngoài phạm vi thì $S_f(v) = 0.2$ (chế độ phạt tốc độ).
  • $\text{Level}$: Cấp độ hiện tại của đôi giày NFT ($1 \le \text{Level} \le 30$).
  • $\eta_{\text{durability}}$: Hệ số độ bền vật lý ($1.0$ nếu độ bền $\ge 50%$; giảm tuyến tính về $0.1$ nếu độ bền $< 20%$).

Kiểm thử và đánh giá hiệu năng

Hệ thống được kiểm thử toàn diện thông qua bộ test unit trên Hardhat và các kịch bản thực nghiệm người dùng:

+-------------------------------------------------------------------------+
|                  KẾT QUẢ KIỂM THỬ SMART CONTRACT (HARDHAT)              |
+------------------------------------+-----------------+------------------+
| File Hợp Đồng                      | % Dòng Lệnh     | Trạng Thái       |
+------------------------------------+-----------------+------------------+
| RunnSneaker721.sol                 | 100.0%          | ĐẠT (Passed)     |
| RunnMoveToken.sol                  | 100.0%          | ĐẠT (Passed)     |
| RunnToken.sol                      | 100.0%          | ĐẠT (Passed)     |
| RunnMarketplace.sol                | 97.4%           | ĐẠT (Passed)     |
+------------------------------------+-----------------+------------------+
| Tổng kiểm thử: 42/42 passing (6.12s)                                    |
+-------------------------------------------------------------------------+

Tiêu thụ Gas thực nghiệm trên Ethereum Goerli Testnet

Hàm thực thi Gas sử dụng trung bình Chi phí ước tính (Gwei = 20) Thời gian xác nhận trung bình
RunnSneaker721.systemMint 142,510 gas 0.00285 ETH 12.4 giây
RunnMarketplace.sell 118,340 gas 0.00236 ETH 11.8 giây
RunnMarketplace.buy 96,215 gas 0.00192 ETH 13.1 giây
RunnMoveToken.mint (Reward) 68,430 gas 0.00136 ETH 10.5 giây

Kết quả khảo sát người dùng thử nghiệm (UAT - 30 người tham gia)

  • Độ chính xác đo đạc quãng đường GPS: Sai số trung bình $\le 3.2%$ so với thiết bị chuẩn Garmin Forerunner 245.
  • Thời gian phản hồi API Server: Trung bình $185\text{ ms}$ cho các thao tác đọc dữ liệu và $320\text{ ms}$ cho các truy vấn đồng bộ hóa trạng thái giao dịch.
  • Tỷ lệ hài lòng tổng thể (CSAT): Đạt $4.6/5.0$ điểm về giao diện người dùng và độ mượt mà khi kết nối ví.

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

  1. Cơ chế Escrow Listing tối ưu hóa bảo mật: Thay vì sử dụng cơ chế setApprovalForAll truyền thống vốn tiềm ẩn nguy cơ bị chiếm quyền điều khiển ví, RunnMarketplace áp dụng chuẩn ERC721Holder để lưu giữ an toàn NFT trong suốt thời gian niêm yết, đồng thời giải phóng quyền sở hữu ngay khi giao dịch thành công.
  2. Kiến trúc chỉ mục lai (Hybrid Indexing Architecture): Giải quyết triệt để bài toán chi phí truy vấn Blockchain bằng cách xây dựng hệ thống worker backend đồng bộ hóa dữ liệu trực tiếp từ các sự kiện của Smart Contract vào MongoDB, giúp tăng tốc độ tìm kiếm và lọc NFT lên gấp 8.5 lần so với truy vấn on-chain thông thường.
  3. Mô hình kinh tế số cân bằng (Deflationary Tokenomics): Thiết kế cơ chế đốt token đa kênh (đốt RMT khi nâng cấp giày, phục hồi độ bền và mở khóa ô kỹ năng mới), giảm thiểu tỷ lệ lạm phát token phần thưởng xuống dưới 4.8%/tháng trong các mô phỏng kinh tế.

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

Kịch bản sử dụng thực tế

  • Người dùng cá nhân: Tải ứng dụng RunN trên iOS/Android, tạo tài khoản và liên kết ví MetaMask. Chọn mua một đôi NFT Sneaker loại Walker trên Marketplace. Hàng ngày đi bộ đi làm từ 1.5 - 2.0 km để duy trì sức khỏe và tích lũy RMT đổi lấy vật phẩm hoặc giao dịch thu lợi nhuận.
  • Nhà đầu tư/Nhà sưu tập NFT: Mua các NFT cấp thấp, đầu tư RMT để nâng cấp chỉ số và bán lại trên Marketplace với biên độ lợi nhuận cao hơn.

Hướng dẫn triển khai hệ thống (Deployment Pipeline)

# 1. Cài đặt các gói phụ thuộc
npm install

# 2. Biên dịch và triển khai Smart Contract lên Goerli Testnet
npx hardhat compile
npx hardhat run scripts/deploy.js --network goerli

# 3. Khởi chạy Backend Service
cd backend && npm run start:prod

# 4. Khởi chạy Web Marketplace
cd web && npm run build && npm start

# 5. Build ứng dụng React Native
cd mobile && npx react-native run-android --variant=release

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

Hạn chế kỹ thuật

  • Chi phí phí gas Layer 1: Mặc dù đã tối ưu hóa, phí giao dịch trên mạng chính Ethereum Layer 1 vẫn còn cao vào các khung giờ cao điểm mạng lưới.
  • Chống gian lận GPS: Chưa tích hợp thuật toán học máy (Machine Learning) để phân tích chuyển động bất thường nhằm phát hiện triệt để các hành vi gian lận tinh vi (như gắn điện thoại lên con lắc hoặc đi xe máy ở tốc độ chậm).

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

  • Triển khai giải pháp Layer 2 Rollups (Arbitrum One, Optimism) hoặc Sidechain Polygon để giảm chi phí gas xuống dưới $0.01\text{ USD}$ cho mỗi giao dịch.
  • Bổ sung thuật toán học sâu (Deep Learning) phân tích dữ liệu cảm biến con quay hồi chuyển (Gyroscope) kết hợp nhịp tim từ đồng hồ thông minh (Apple Watch, WearOS) để xác thực vận động sinh học.
  • Mở rộng tính năng mạng xã hội: Lập nhóm chạy (Running Club), bảng xếp hạng tuần và cơ chế thi đấu đối kháng (PvP Tournament).

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

+-------------------------------------------------------------------------+
|                         GIÁ TRỊ MANG LẠI CHO CỘNG ĐỒNG                  |
+---------------------+---------------------------------------------------+
| Đối tượng           | Giá trị kỹ thuật và ứng dụng thực tiễn mang lại   |
+---------------------+---------------------------------------------------+
| Sinh viên CNTT      | Tài liệu tham khảo toàn diện về tích hợp DApp     |
| Lập trình viên Web3 | Kiến trúc mẫu kết nối Solidity, Next.js và Mobile |
| Doanh nghiệp        | Case study thực tế về số hóa sản phẩm sức khỏe    |
| Nhà nghiên cứu      | Nền tảng thực nghiệm thuật toán IoT và Smart Law  |
+---------------------+---------------------------------------------------+
  • Sinh viên & Giảng viên: Cung cấp mã nguồn mở hoàn chỉnh, chuẩn mực về việc xây dựng ứng dụng phi tập trung kết hợp giữa Web, Mobile và Blockchain theo tiêu chuẩn giáo dục công nghệ phần mềm.
  • Lập trình viên Web3: Bản thiết kế mẫu về cách cấu trúc mã nguồn Smart Contract an toàn, xử lý bất đồng bộ giữa sự kiện blockchain và cơ sở dữ liệu NoSQL truyền thống.
  • Doanh nghiệp & Startup: Cung cấp khung kiến trúc khả thi cho các mô hình kinh tế Web3 kết hợp thiết bị biên (Edge Devices/Sensors).

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

1. Yêu cầu phần cứng và phần mềm tối thiểu để triển khai RunN là gì? Hệ thống backend yêu cầu máy chủ tối thiểu 2 vCPU, 4GB RAM chạy hệ điều hành Ubuntu 20.04 LTS, Node.js 18.x và kết nối cơ sở dữ liệu MongoDB Atlas. Thiết bị di động của người dùng cần chạy hệ điều hành Android 8.0+ hoặc iOS 12.0+ có tích hợp cảm biến GPS và hỗ trợ ví MetaMask Mobile.

2. Làm thế nào để giải quyết vấn đề nghẽn mạng và phí gas biến động trên Ethereum? Trong kiến trúc sản xuất, toàn bộ logic trả thưởng định kỳ được gom theo lô (Batch Processing) và ký xác thực off-chain qua chữ ký mật mã ECDSA (EIP-712), người dùng chỉ thực hiện rút token theo yêu cầu để giảm thiểu tối đa số lượng giao dịch on-chain.

3. Làm sao để tích hợp RunN với các thiết bị theo dõi sức khỏe chuyên dụng? Hệ sinh thái cho phép mở rộng kết nối thông qua giao thức Google Fit API và Apple HealthKit API, đồng bộ dữ liệu bước chân và nhịp tim trực tiếp vào ứng dụng di động để tăng cường độ tin cậy của thuật toán tính thưởng.

4. Quy trình bảo trì và nâng cấp Smart Contract được thực hiện như thế nào? Các hợp đồng thông minh được tích hợp mẫu thiết kế dừng khẩn cấp Pausable và phân quyền AccessControl. Khi có sự cố hoặc cần nâng cấp logic, quản trị viên có thể tạm dừng các phiên giao dịch trên sàn nhằm bảo vệ an toàn tuyệt đối cho tài sản người dùng.

5. Chi phí vận hành ước tính của nền tảng trong giai đoạn đầu là bao nhiêu? Chi phí máy chủ đám mây (Cloud Server) và dịch vụ IPFS Gateway chuyên dụng dao động khoảng 30 - 50 USD/tháng. Phí triển khai trọn bộ Smart Contract trên mạng thử nghiệm Goerli là 0 USD và khoảng 0.08 - 0.15 ETH khi triển khai lên mạng chính thức (Mainnet).


Kết luận

Đồ án "Tìm hiểu Blockchain và xây dựng ứng dụng NFT theo trào lưu Move to Earn" đã hoàn thành toàn diện các mục tiêu nghiên cứu và phát triển thực nghiệm. Dự án chứng minh tính khả thi vượt trội của việc ứng dụng công nghệ chuỗi khối Ethereum, hợp đồng thông minh Solidity và chuẩn tài sản số NFT ERC-721 vào lĩnh vực nâng cao sức khỏe cộng đồng.

Hệ thống RunN không chỉ giải quyết bài toán kỹ thuật về độ trễ, khả năng bảo mật và chi phí giao dịch mà còn đề xuất một mô hình kinh tế số bền vững, minh bạch. Đây là nền tảng vững chắc để tiếp tục mở rộng phát triển thành sản phẩm thương mại hoàn chỉnh trên các mạng chuỗi khối Layer 2 trong tương lai.