Giới thiệu dự án

Thương mại điện tử (TMĐT) toàn cầu và tại Việt Nam đang chứng kiến sự tăng trưởng vượt bậc. Theo báo cáo của Hiệp hội Thương mại điện tử Việt Nam (VECOM) và Google/Temasek, quy mô TMĐT Việt Nam đạt 14 tỷ USD năm 2020 (tăng trưởng 16%) và dự kiến đạt 52 tỷ USD vào năm 2025 với tốc độ tăng trưởng kép trung bình 29%/năm. Song song đó, thị trường ứng dụng công nghệ Blockchain toàn cầu theo dự báo của Research and Markets sẽ tăng từ 3,0 tỷ USD (2020) lên 39,7 tỷ USD (2025) với CAGR đạt 67,3%.

Tuy nhiên, mô hình TMĐT tập trung truyền thống đang đối mặt với nhiều rủi ro nghiêm trọng:

  • Vấn nạn hàng giả, hàng nhái và không rõ xuất xứ: Tình trạng dán nhãn sai lệch, mô tả thông tin gian lận diễn ra phổ biến do thiếu cơ chế kiểm chứng độc lập.
  • Thao túng dữ liệu và đánh giá: Nhà bán hàng có thể can thiệp vào cơ sở dữ liệu tập trung (Centralized Database) để che giấu phản hồi tiêu cực hoặc thổi phồng chất lượng.
  • Rủi ro an ninh thông tin: Sự cố rò rỉ dữ liệu thẻ thanh toán, mạo danh thương hiệu diễn ra phức tạp trên các hệ thống lưu trữ đơn điểm (Single Point of Failure).

Dự án "Xây dựng giải pháp nâng cao tính minh bạch trong thương mại điện tử dựa trên Blockchain" do sinh viên ngành An toàn Thông tin (Khoa Mạng Máy tính & Truyền thông – Trường Đại học Công nghệ Thông tin, ĐHQG-HCM) thực hiện nhằm giải quyết triệt để các hạn chế trên thông qua 4 mục tiêu cốt lõi:

  1. Nghiên cứu kiến trúc Blockchain phân tán và cơ chế thực thi của nền tảng EOSIO kết hợp hệ thống lưu trữ phi tập trung IPFS (InterPlanetary File System).
  2. Xây dựng bộ Smart Contract bất biến nhằm ghi nhận toàn bộ vòng đời chuỗi cung ứng: Nhà cung cấp $\rightarrow$ Cơ sở sản xuất $\rightarrow$ Đơn vị vận chuyển $\rightarrow$ Cơ sở lưu kho $\rightarrow$ Điểm bán lẻ $\rightarrow$ Người tiêu dùng.
  3. Thiết lập hệ thống gợi ý sản phẩm (Recommendation System) dựa trên thuật toán lọc cộng tác (Collaborative Filtering) và độ tương đồng Cosine (Cosine Similarity).
  4. Hiện thực hóa hệ sinh thái đa nền tảng gồm: Web Portal (Next.js), Mobile Tracking App (React Native), và Consumer App (Flutter).

Phạm vi nghiên cứu tập trung vào việc quản lý dữ liệu truy xuất nguồn gốc sự kiện (Traceability Events), tích hợp IPFS để tối ưu hóa chi phí lưu trữ on-chain, và đảm bảo thông lượng giao dịch cao với độ trễ thấp dưới 0.5s.


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

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

Khảo sát thị trường cho thấy các mô hình kiểm soát chuỗi cung ứng hiện nay tồn tại nhiều lỗ hổng lớn về tính minh bạch và hiệu năng.

Giải pháp / Nền tảng Công nghệ cốt lõi Ưu điểm Nhược điểm & Hạn chế
TMĐT Truyền thống (Shopee, Amazon) Cơ sở dữ liệu tập trung (RDBMS, NoSQL) Tốc độ xử lý cao, giao diện tối ưu, chi phí triển khai thấp Dễ bị quản trị viên can thiệp sửa đổi log; nguy cơ rò rỉ dữ liệu tập trung cao.
Midashimaya (Singapore) Blockchain MCashChain, Midas Protocol Không tính phí giao dịch, hỗ trợ ví phi tập trung Hệ sinh thái giới hạn, khả năng mở rộng phân quyền sự kiện phức tạp còn hạn chế.
Magento 2 Dropshipment Module Ethereum Blockchain (PoW/PoS), Smart Contract Độc lập, minh bạch giao dịch dropshipment Chi phí Gas fee biến động mạnh, độ trễ xác nhận khối cao (15s – vài phút).
Giải pháp đề xuất (Đề tài) EOSIO (DPoS) + IPFS + Golang + Next.js/Flutter Zero-gas fee cho user, TPS cao (1500+), lưu trữ media phân tán, mã QR chống giả mạo Cần quản lý staking tài nguyên RAM/CPU/NET trên EOSIO node.

Phân loại yêu cầu hệ thống theo mô hình MoSCoW:

  • Must-have: Ghi nhận sự kiện chuỗi cung ứng bất biến trên Blockchain EOSIO; Quét mã QR code để tra cứu lịch sử sự kiện; Lưu trữ hình ảnh/media trên IPFS.
  • Should-have: Hệ thống gợi ý sản phẩm bằng thuật toán Cosine Similarity; Hỗ trợ phân quyền tài khoản (Doanh nghiệp, Đơn vị vận chuyển, Người dùng).
  • Could-have: Module chuyển token EOS trực tiếp trên ứng dụng người tiêu dùng.
  • Won't-have (giai đoạn này): Tích hợp thiết bị IoT cảm biến thời gian thực cho nhiệt độ kho bãi.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo mô hình phân tầng hướng dịch vụ phi tập trung (Decentralized Multi-tier Architecture).

graph TD
    subgraph Client Layer
        WebPortal["Web dApp / Org Portal (Next.js v11)"]
        TrackingApp["Tracking Mobile App (React Native v0.65)"]
        UserApp["Consumer App (Flutter v2.5)"]
    end

    subgraph Backend & API Layer
        APIGateway["Go-Gin RESTful API Gateway (Golang v1.16)"]
        OrgServer["Organization Management Service"]
        dAppServer["dApp Event Indexer & State Service"]
    end

    subgraph Storage & Intelligence
        RDBMS[("MySQL 8.0 - Off-chain Cache & Relational Data")]
        Engine["Recommendation Engine (Cosine Similarity Matrix)"]
    end

    subgraph Blockchain & Decentralized File System
        EOS["EOSIO Blockchain Network (Nodeos / DPoS Engine)"]
        SmartContract["Traceability Smart Contract (C++ / WASM)"]
        IPFS["IPFS Distributed Storage Cluster (256KB Chunks / DHT)"]
    end

    WebPortal --> APIGateway
    TrackingApp --> APIGateway
    UserApp --> APIGateway

    APIGateway --> OrgServer
    APIGateway --> dAppServer

    OrgServer --> RDBMS
    dAppServer --> RDBMS
    dAppServer --> Engine

    OrgServer --> IPFS
    dAppServer --> EOS
    EOS --- SmartContract
  • Technology Stack chi tiết:

    • Blockchain Core: EOSIO Platform (Consensus: Delegated Proof of Stake - DPoS), Smart Contracts biên dịch bằng eosio-cpp sang WebAssembly (.wasm).
    • Decentralized Storage: IPFS Daemon node (InterPlanetary File System), chia file thành các mảnh 256KB gắn định danh mã băm SHA-256 (CID).
    • Backend Services: Golang v1.16, thư viện EOS Go SDK (eos-go), Gin Gonic Framework, GORM.
    • Database: MySQL 8.0 lưu trữ quan hệ off-chain và lập chỉ mục (index) tăng tốc độ truy vấn.
    • Frontend & Mobile: Next.js v11.1 (ReactJS 17), React Native v0.65 (Mobile Tracking), Flutter v2.5 (Mobile Client/Dart).
  • Thiết kế cơ sở dữ liệu quan hệ (Off-chain Relational Schema):

    • users (id, username, eos_account_name, public_key, role, created_at)
    • products (id, product_code, name, org_id, ipfs_image_hash, description)
    • product_items (id, batch_id, serial_number, qr_code_hash, status)
    • events (id, item_id, event_type, facility_id, timestamp, tx_id_eos, actor_account)
    • event_aggregations (id, batch_id, aggregation_type, parent_batch_id, ipfs_document_hash)
    • ratings & interactions (id, user_id, product_id, star, views, time_view, final_value)

Methodology

  • Quy trình phát triển: Áp dụng mô hình Agile/Scrum linh hoạt qua các giai đoạn từ 13/09/2021 đến 20/12/2021.
  • Kế hoạch triển khai (Milestones):
    • Tháng 09/2021: Nghiên cứu lý thuyết EOSIO DPoS, Smart Contract, giao thức IPFS và thuật toán Recommendation System.
    • Tháng 10/2021: Thiết kế Database Schema, triển khai Golang Backend APIs, tích hợp Next.js và setup IPFS local cluster.
    • Tháng 11/2021: Viết và kiểm thử Smart Contract trên EOS Testnet, xây dựng UI/UX cho React Native Tracking App và Flutter Consumer App.
    • Tháng 12/2021: Thực nghiệm toàn diện, quét bảo mật Acunetix WVS, đo lường benchmark tải và hoàn thiện báo cáo.
  • Đánh giá rủi ro: Rủi ro nghẽn tài nguyên CPU/RAM staking trên EOS được xử trị bằng cơ chế phân bổ linh hoạt qua tài khoản doanh nghiệp bảo trợ (Resource Payer).

Implementation và kết quả

Development process

Quá trình xây dựng hệ thống tập trung vào việc hiện thực hóa hợp đồng thông minh ghi log và thuật toán gợi ý sản phẩm.

  1. Thuật toán gợi ý sản phẩm dựa trên lọc cộng tác (Collaborative Filtering): Để xây dựng ma trận quan hệ giữa người dùng ($u$) và sản phẩm ($p$), độ quan tâm tổng hợp ($final_value$) được tính theo công thức có trọng số:

$$\text{final_value} = \frac{2 \times \text{star} + \text{views} + \text{time_view}}{4}$$

Độ tương đồng giữa hai sản phẩm $\vec{A}$ và $\vec{B}$ được xác định thông qua hàm Cosine Similarity:

$$\text{similarity}(\vec{A}, \vec{B}) = \cos(\theta) = \frac{\vec{A} \cdot \vec{B}}{|\vec{A}| |\vec{B}|} = \frac{\sum_{i=1}^{n} A_i B_i}{\sqrt{\sum_{i=1}^{n} A_i^2} \sqrt{\sum_{i=1}^{n} B_i^2}}$$

  1. Code Snippet: Xử lý tính toán ma trận tương đồng trên Golang Backend:
package recommender

import (
	"math"
)

// CalculateCosineSimilarity computes cosine similarity between two product interaction vectors
func CalculateCosineSimilarity(vecA, vecB []float64) float64 {
	if len(vecA) != len(vecB) || len(vecA) == 0 {
		return 0.0
	}

	var dotProduct, normA, normB float64
	for i := 0; i < len(vecA); i++ {
		dotProduct += vecA[i] * vecB[i]
		normA += math.Pow(vecA[i], 2)
		normB += math.Pow(vecB[i], 2)
	}

	if normA == 0.0 || normB == 0.0 {
		return 0.0
	}

	return dotProduct / (math.Sqrt(normA) * math.Sqrt(normB))
}
  1. Cấu trúc lưu trữ IPFS kết hợp Smart Contract EOS:
    • File media/hình ảnh được upload lên node IPFS nội bộ, tách nhỏ thành các khối 256KB và trả về IPFS Hash dạng CID (ví dụ: QmZtmD2qtW...).
    • Smart Contract EOS ghi nhận sự kiện thông qua cấu trúc struct:
#include <eosio/eosio.hpp>

using namespace eosio;

CONTRACT product_tracker : public contract {
public:
    using contract::contract;

    TABLE [[eosio::table]] product_event {
        uint64_t        event_id;
        uint64_t        batch_id;
        name            facility_actor;
        std::string     event_type;
        std::string     ipfs_evidence_hash;
        uint64_t        timestamp;

        uint64_t primary_key() const { return event_id; }
        uint64_t by_batch() const { return batch_id; }
    };

    typedef multi_index<"events"_n, product_event,
        indexed_by<"bybatch"_n, const_mem_fun<product_event, uint64_t, &product_event::by_batch>>
    > event_table;

    [[eosio::action]]
    void recordevent(uint64_t batch_id, name actor, std::string event_type, std::string ipfs_hash) {
        require_auth(actor);
        event_table _events(get_self(), get_self().value);
        _events.emplace(actor, [&](auto& row) {
            row.event_id = _events.available_primary_key();
            row.batch_id = batch_id;
            row.facility_actor = actor;
            row.event_type = event_type;
            row.ipfs_evidence_hash = ipfs_hash;
            row.timestamp = current_time_point().sec_since_epoch();
        });
    }
};

Testing và validation

  • Đánh giá bảo mật:

    • Kiểm thử quét lỗ hổng ứng dụng web tự động bằng công cụ Acunetix Web Vulnerability Scanner (WVS).
    • Kết quả: Không phát hiện lỗ hổng nghiêm trọng (High Risk) liên quan đến SQL Injection (SQLi), Cross-Site Scripting (XSS), hay Cross-Site Request Forgery (CSRF).
    • Smart Contract EOSIO được kiểm tra qua các kịch bản ủy quyền giả mạo (missing require_auth), tấn công lặp lại (replay attacks) và tràn số nguyên (integer overflow).
  • Đo lường hiệu năng và độ trễ (Performance Benchmarks):

    • Thử nghiệm gửi các đợt request tăng dần (từ 100 đến 10,000 requests) đến API Gateway và Smart Contract EOSIO.
Tham số kiểm thử Môi trường thử nghiệm Kết quả đo lường Đánh giá
Thời gian xác nhận Tx (EOSIO) Testnet 21 Block Producers (DPoS) $\approx 0.01\text{s} - 0.5\text{s}$ Vượt trội hơn Ethereum (15s)
Tỷ lệ Request thành công Tải liên tục 1,000 concurrent reqs $99.85%$ Đạt độ ổn định xuất sắc
Thời gian phản hồi API trung bình Gin-Golang REST Service $42\text{ms}$ Phản hồi gần như tức thì
Tốc độ chunking & upload IPFS Tệp tin đa phương tiện dung lượng 5MB $180\text{ms}$ Phân mảnh 256KB mượt mà

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

  • Mức độ hoàn thành chức năng: Đạt $100%$ các tính năng cam kết trong đề cương chi tiết:
    • Đăng ký/xác thực doanh nghiệp qua cặp khóa EOS (Public/Private Key pair).
    • Quản lý sản phẩm, tạo lập lô hàng (Batch/Lot), sinh mã QR tự động.
    • Ghi nhận 3 nhóm sự kiện chuỗi cung ứng: Aggregation Events (đóng gói/gộp lô), Delivery Events (vận chuyển/bàn giao), Transformation/Quality Events (chuyển đổi trạng thái/kiểm định).
    • Ứng dụng di động Flutter hỗ trợ người tiêu dùng quét mã QR, hiển thị toàn bộ tiến trình lịch sử không thể tẩy xóa, kèm đề xuất sản phẩm liên quan.

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

  • Đột phá về cơ chế minh bạch bất biến: Thay vì tin tưởng một máy chủ tập trung của nhà bán hàng, toàn bộ dấu vết trạng thái được mã hóa và đồng thuận thông qua mạng lưới DPoS của EOSIO, loại bỏ nguy cơ can thiệp trái phép từ yếu tố con người.
  • Kiến trúc Hybrid On-chain/Off-chain tối ưu: Tách biệt dữ liệu lớn (hình ảnh, tài liệu kiểm định) lưu trữ trên cụm phân tán IPFS, chỉ ghi mã băm $256$-bit lên Blockchain. Giải pháp giúp tiết kiệm hơn $95%$ tài nguyên bộ nhớ on-chain (RAM EOS) so với việc lưu trữ trực tiếp.
  • Trải nghiệm người dùng không rào cản (Zero Gas Fee): Tận dụng mô hình phân bổ tài nguyên của EOSIO (Staking CPU/NET/RAM từ phía hệ thống doanh nghiệp), người tiêu dùng cuối không phải trả phí giao dịch mỗi khi tra cứu hoặc tương tác dữ liệu.
  • Tích hợp hệ thống khuyến nghị thông minh: Kết hợp giải pháp bảo mật với trí tuệ nhân tạo (Machine Learning/Cosine Similarity) trên nền tảng thương mại điện tử phi tập trung, giúp nâng cao tỷ lệ giữ chân khách hàng (Customer Retention Rate) dự kiến lên tới $25%$.

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

Kịch bản triển khai thực tế

  • Nông sản và thực phẩm an toàn: Minh bạch hóa quy trình từ trang trại (ngày gieo hạt, lịch phun phân bón đạt chuẩn VietGAP), đơn vị vận chuyển lạnh (lịch trình di chuyển), cơ sở chế biến đến kệ hàng siêu thị.
  • Dược phẩm và Mỹ phẩm cao cấp: Kiểm soát việc phân phối thuốc biệt dược và mỹ phẩm chính hãng, ngăn chặn triệt để hành vi tráo đổi bao bì hoặc làm giả tem chống hàng giả.

Phân tích hiệu quả kinh tế (ROI) và Khả năng mở rộng

  • Khả năng mở rộng (Scalability): Cơ chế DPoS của EOSIO cung cấp khả năng xử lý lên tới 1,500 – 4,000 giao dịch/giây (TPS) ở cấu hình tiêu chuẩn và có thể mở rộng theo chiều ngang (horizontal scaling), đáp ứng tốt nhu cầu của các sàn TMĐT quy mô lớn.
  • Phân tích chi phí - lợi ích:
    • Giảm thiểu $80%$ chi phí giấy tờ kiểm định và chi phí đối soát thủ công giữa các bên trung gian trong chuỗi cung ứng.
    • Tăng độ tin cậy của thương hiệu, giảm tỷ lệ đổi trả hàng do thông tin sai lệch xuống dưới $2%$.

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

Hạn chế kỹ thuật

  • Rào cản khởi tạo tài khoản EOSIO: Cơ chế tạo tài khoản và quản lý khóa bí mật (Private Key) trên mạng lưới EOSIO đòi hỏi chi phí staking tài nguyên ban đầu (RAM/CPU).
  • Độ chính xác dữ liệu đầu vào (Oracles Problem): Blockchain đảm bảo tính bất biến của dữ liệu sau khi ghi, nhưng việc đảm bảo tính trung thực tuyệt đối tại thời điểm nhập dữ liệu ban đầu vẫn phụ thuộc một phần vào tính liêm chính của nhân viên kiểm định.

Hướng phát triển tương lai

  • Tích hợp sâu các thiết bị Internet of Things (IoT) (cảm biến RFID, cảm biến nhiệt độ/độ ẩm tự động) để ghi nhận dữ liệu trực tiếp vào Smart Contract không qua can thiệp thủ công.
  • Mở rộng mô hình hệ thống khuyến nghị sang giải pháp Deep Learning (Neural Collaborative Filtering) để tối ưu độ chính xác gợi ý theo hành vi người dùng theo thời gian thực.
  • Hỗ trợ thanh toán xuyên chuỗi (Cross-chain Bridge) với các mạng lưới Layer-2 Ethereum và BNB Chain.

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

  • Người tiêu dùng (End-users): Dễ dàng kiểm chứng xuất xứ, tiêu chuẩn chất lượng hàng hóa chỉ với một thao tác quét mã QR trên điện thoại, loại bỏ hoàn toàn nỗi lo mua phải hàng giả.
  • Doanh nghiệp & Nhà sản xuất: Bảo vệ uy tín thương hiệu, ngăn chặn hàng nhái, tối ưu hóa quy trình quản lý kho vận và phân phối sản phẩm.
  • Nhà phát triển (Developers): Nắm bắt mô hình kiến trúc hoàn chỉnh tích hợp giữa Blockchain EOSIO, hệ thống lưu trữ phi tập trung IPFS, Backend Golang hiệu năng cao và các Framework UI hiện đại (Next.js, React Native, Flutter).
  • Nhà nghiên cứu học thuật: Tài liệu tham khảo ứng dụng về việc kết hợp giữa công nghệ bảo mật sổ cái phân tán và hệ thống đề xuất thông minh trong bối cảnh TMĐT 4.0.

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

1. Yêu cầu hệ thống phần cứng tối thiểu để triển khai giải pháp này là gì?

Để vận hành hệ thống ở quy mô thử nghiệm, máy chủ cần cấu hình tối thiểu: CPU 4 Cores, 8GB RAM, 100GB SSD lưu trữ cho Nodeos (EOSIO Single Node Testnet), IPFS Node và MySQL Database. Với môi trường Production, khuyến nghị máy chủ 8 Cores, 32GB RAM với ổ cứng NVMe để đảm bảo thông lượng xác thực khối tối ưu.

2. Vì sao đồ án lựa chọn EOSIO thay vì Ethereum để xây dựng ứng dụng thương mại điện tử?

Ethereum sử dụng mô hình tính phí Gas cho từng giao dịch với độ trễ tạo khối trung bình 15 giây, gây cản trở lớn cho trải nghiệm mua sắm thông thường. EOSIO sử dụng cơ chế đồng thuận DPoS, xử lý khối trong 0.5 giây, đạt thông lượng hơn 1,500 TPS và áp dụng mô hình tài nguyên Staking (người dùng cuối không phải trả phí cho từng thao tác), phù hợp hoàn hảo với nghiệp vụ TMĐT tần suất cao.

3. Làm thế nào hệ thống đảm bảo an toàn nếu node IPFS gặp sự cố?

Mạng IPFS hoạt động theo cơ chế P2P phân tán. Dữ liệu được chia nhỏ thành các chunk 256KB và phân phối qua Bảng băm phân tán (Distributed Hash Table - DHT). Khi một node gặp sự cố, các node khác trong mạng lưới nắm giữ bản sao của mảnh dữ liệu (thông qua cơ chế IPFS Pinning) vẫn sẵn sàng phục vụ việc tái tạo tệp tin thông qua mã băm SHA-256 duy nhất.

4. Người dùng không có kiến thức về Blockchain có sử dụng được ứng dụng không?

Hoàn toàn dễ dàng. Ứng dụng Flutter dành cho người tiêu dùng được thiết kế giao diện thân thiện (User-Friendly Interface). Cơ chế quản lý tài khoản và tương tác Smart Contract được backend xử lý ngầm, người dùng chỉ cần thao tác quét mã QR trên bao bì bằng camera để xem thông tin trực quan.

5. Chi phí duy trì và thời gian hoàn vốn (ROI) của hệ thống ước tính như thế nào?

Chi phí vận hành chủ yếu bao gồm thuê máy chủ đám mây (Cloud Server) và duy trì tài nguyên RAM trên mạng EOSIO. Nhờ khả năng cắt giảm $80%$ chi phí giấy tờ kiểm định và giảm thiểu thất thoát do hàng giả, các doanh nghiệp quy mô vừa và lớn có thể đạt điểm hòa vốn và thu hồi chi phí đầu tư (ROI) trong vòng 6 đến 12 tháng sau khi triển khai.


Kết luận

Đồ án tốt nghiệp "Xây dựng giải pháp nâng cao tính minh bạch trong thương mại điện tử dựa trên Blockchain" đã xây dựng thành công một giải pháp công nghệ toàn diện giải quyết triệt để bài toán niềm tin và tính minh bạch trong chuỗi cung ứng thương mại điện tử. Bằng việc kết hợp sức mạnh của công nghệ Blockchain EOSIO (DPoS), hệ thống lưu trữ phân tán IPFS, kiến trúc Backend Golang cùng thuật toán gợi ý thông minh (Cosine Similarity), dự án mở ra hướng đi thực tiễn và hiệu quả cao cho nền kinh tế số. Mô hình sẵn sàng để mở rộng, tích hợp vào các hệ thống quản lý chuỗi cung ứng thực tế của các doanh nghiệp trong kỷ nguyên chuyển đổi số.