Giới thiệu dự án
Theo thống kê từ Tổ chức Nông Lương Liên Hợp Quốc (FAO) và Hiệp hội Cà phê Quốc tế (ICO), hơn 60% người tiêu dùng toàn cầu hiện nay sẵn sàng chi trả mức giá cao hơn từ 15% đến 25% cho các sản phẩm nông sản có nguồn gốc minh bạch và chứng nhận chất lượng rõ ràng. Tại Việt Nam – quốc gia xuất khẩu cà phê Robusta hàng đầu thế giới – chuỗi cung ứng nông sản vẫn đối mặt với lỗ hổng lớn về kiểm soát nguồn gốc. Phần lớn các doanh nghiệp vừa và nhỏ vẫn sử dụng nhật ký canh tác bằng giấy hoặc các hệ thống cơ sở dữ liệu tập trung (Centralized Database) như MySQL, Microsoft SQL Server. Những giải pháp này tồn tại các điểm nghẽn nghiêm trọng: nguy cơ bị can thiệp và chỉnh sửa dữ liệu nội bộ trái phép, thiếu tính xác thực độc lập, phụ thuộc vào điểm lỗi đơn lẻ (Single Point of Failure - SPoF), và thiếu cơ chế truy vết thời gian thực xuyên suốt từ nông trại đến tay người tiêu dùng.
Vấn đề cốt lõi đặt ra là làm thế nào để đảm bảo tính toàn vẹn (Integrity), tính bất biến (Immutability) và tính khả dụng cao (High Availability) cho dữ liệu chuỗi cung ứng mà không làm phát sinh chi phí giao dịch (Gas Fee) quá lớn cho doanh nghiệp. Dự án "Ứng dụng truy xuất nguồn gốc dựa trên Ethereum Smart Contract" (Developing a commodities traceability application based on Ethereum Blockchain and Smart Contract) do nhóm nghiên cứu Khoa Công nghệ Phần mềm - Trường Đại học Công nghệ Thông tin (ĐHQG-HCM) thực hiện nhằm giải quyết trực tiếp bài toán này.
+---------------------------------------------------------------------------------------------------+
| LUỒNG TRUY XUẤT NÔNG SẢN CÀ PHÊ |
+---------------------------------------------------------------------------------------------------+
| [1. Nông Trại] --> [2. Thu Hoạch] --> [3. Vận Chuyển] --> [4. Kho Bãi] --> [5. Chế Biến] |
| - Hạt giống - Sản lượng - Lộ trình - Lưu kho - Rang xay |
| - Thửa đất - Kiểm định - Điều kiện xe - Xuất kho - Đóng gói |
+---------------------------------------------------------------------------------------------------+
|
v
[Ghi nhận vào Ethereum Smart Contract]
|
v
[Người tiêu dùng quét mã QR trên Mobile Android]
Mục tiêu cụ thể của dự án
- Xây dựng Smart Contract trên nền tảng Ethereum Virtual Machine (EVM) bằng ngôn ngữ Solidity để mã hóa, chuẩn hóa và lưu trữ bất biến các sự kiện/trạng thái trong suốt vòng đời của hạt cà phê.
- Thiết lập mạng Ethereum Blockchain nội bộ (Private Blockchain Network) sử dụng cơ chế đồng thuận Proof-of-Authority (PoA Clique) với Go-Ethereum (Geth), triệt tiêu chi phí Gas và rút ngắn thời gian tạo khối (Block Time) xuống dưới 5 giây.
- Phát triển hệ thống máy chủ Backend trên nền tảng Node.js (Express.js) và cơ sở dữ liệu phi quan hệ MongoDB Atlas, tối ưu hóa mô hình lưu trữ kết hợp (Hybrid On-chain/Off-chain Architecture).
- Xây dựng Web Application quản trị bằng React.js và Ant Design dành cho Quản trị viên hệ thống (Tech Admin), Quản trị viên doanh nghiệp (System Admin) và Chủ nông trại (Farmer).
- Xây dựng Ứng dụng di động (Mobile App) trên nền tảng Android (Kotlin/MVVM) tích hợp thư viện quét mã QR Code, cho phép nhân viên vận hành cập nhật dữ liệu hiện trường và người tiêu dùng tra cứu lịch sử lô hàng tức thì.
Phạm vi và giới hạn đề tài
- Phạm vi nghiệp vụ: Tập trung chuyên sâu vào chuỗi giá trị ngành cà phê, từ quản lý cây giống, thửa đất, chăm sóc, thu hoạch thô, vận chuyển logistics, nhập/xuất kho bãi đến chế biến thành phẩm và xuất xưởng.
- Giới hạn kỹ thuật: Ứng dụng chạy trên môi trường Web Browser hiện đại và thiết bị di động Android (hỗ trợ từ Android API Level 26 trở lên). Dữ liệu văn bản và mã băm xác thực (Cryptographic Hash) được lưu trữ On-chain; hình ảnh, tệp đính kèm được lưu trữ Off-chain tại Cloudinary và MongoDB Atlas.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng và đối sánh giải pháp
| Tiêu chí kỹ thuật |
Nhật ký giấy / Excel |
Hệ thống ERP tập trung (SAP, Odoo) |
Ethereum Public Blockchain (Mainnet) |
Hệ thống đề xuất (PoA Private Geth) |
| Tính toàn vẹn dữ liệu |
Rất thấp (Dễ làm giả) |
Trung bình (Admin có thể sửa DB) |
Tuyệt đối (Bất biến) |
Tuyệt đối (Bất biến, phân quyền Validator) |
| Chi phí vận hành giao dịch |
0 VNĐ |
Chi phí bản quyền phần mềm cao |
Rất cao (Gas Fee biến động theo gwei) |
0 VNĐ (Không tốn phí Gas cho mỗi block) |
| Tốc độ xác thực giao dịch |
Thủ công |
< 100ms |
15 giây – vài phút (PoS/PoW) |
2 – 5 giây (PoA Clique) |
| Tính minh bạch và mở |
Không có |
Nội bộ doanh nghiệp |
Công khai toàn cầu |
Minh bạch có kiểm soát (Permissioned) |
| Bảo mật danh tính & Quyền riêng tư |
Kém |
Theo RBAC cơ bản |
Mở (Ai cũng xem được giao dịch) |
Mã hóa đa tầng, RBAC chặt chẽ |
Phân loại yêu cầu người dùng (Mô hình MoSCoW)
- Must have (Bắt buộc phải có): Xác thực đăng nhập phân quyền (JWT/RBAC); Khởi tạo và quản lý thông tin nông trại, hạt giống, thửa đất; Ghi nhận 5 giai đoạn sản xuất lên Smart Contract; Sinh mã QR định danh cho từng lô hàng; Quét mã QR tra cứu nguồn gốc trên Android.
- Should have (Nên có): Tích hợp Firebase Cloud Messaging (FCM) thông báo tức thời khi trạng thái lô hàng thay đổi; Gửi email kích hoạt tài khoản/đổi mật khẩu qua Nodemailer/SendGrid; Bảng điều khiển (Dashboard) thống kê sản lượng theo thời gian thực.
- Could have (Có thể có): Tích hợp bản đồ GPS định vị tọa độ nông trại và lộ trình xe tải vận chuyển; Lưu trữ phi tập trung hình ảnh qua giao thức IPFS.
- Won't have (Chưa thực hiện ở giai đoạn này): Tích hợp thiết bị cảm biến IoT tự động đo nhiệt độ/độ ẩm kết nối trực tiếp vào Blockchain Gateway.
Thiết kế kiến trúc hệ thống tổng thể
+-------------------------------------------------------------------------------------------------------+
| CLIENT TIER |
| +---------------------------------------+ +---------------------------------------+ |
| | Web Management (React.js + AntDesign) | | Mobile App (Android Kotlin + MVVM) | |
| +---------------------------------------+ +---------------------------------------+ |
+-------------------------------------------------------------------------------------------------------+
| |
HTTPS / RESTful API HTTPS / RESTful API
| |
+-------------------------------------------------------------------------------------------------------+
| APPLICATION TIER (AWS EC2) |
| +-------------------------------------------------------------------------------------------------+ |
| | Node.js / Express.js Service | |
| | - Auth Middleware (JWT, Bcrypt) | |
| | - Traceability Controller & Route Handlers | |
| | - Web3.js / Ethers.js Blockchain Connector | |
| +-------------------------------------------------------------------------------------------------+ |
+-------------------------------------------------------------------------------------------------------+
| |
Mongoose ODM RPC / IPC Interface
| |
+------------------------------------+ +-------------------------------------------------------+
| DATA TIER | | BLOCKCHAIN TIER |
| +------------------------------+ | | +-------------------------------------------------+ |
| | MongoDB Atlas | | | | Geth Node (PoA Clique Consensus Engine) | |
| | - Users, Farms, Batches | | | | - EVM Execution Client | |
| | Cloudinary Media Store | | | | - Deployed Smart Contract (Solidity) | |
| +------------------------------+ | | +-------------------------------------------------+ |
+------------------------------------+ +-------------------------------------------------------+
Danh mục công nghệ sử dụng (Technology Stack)
- Blockchain Core: Go-Ethereum (Geth v1.11.8), Thuật toán đồng thuận Clique PoA, Solidity v0.8.19, Truffle Framework v5.11.5, Web3.js v1.10.0.
- Backend Layer: Node.js v18.16.0 LTS, Express.js v4.18.2, MongoDB Atlas v6.0 (Mongoose ODM v7.3.0), JSON Web Token (jsonwebtoken v9.0.0), Bcrypt.js v2.4.3.
- Frontend Web Layer: React.js v18.2.0, Ant Design v5.6.0, Redux Toolkit v1.9.5, Axios v1.4.0.
- Mobile Client Layer: Android Studio Flamingo, Kotlin v1.8.20, Android Jetpack (ViewModel, LiveData, ViewBinding), Retrofit2 v2.9.0, ZXing Android Embedded v4.3.0.
- Cloud & DevOps: Amazon Web Services (AWS EC2 t3.medium - Ubuntu 22.04 LTS), Nginx Reverse Proxy, PM2 Process Manager, Firebase Cloud Messaging (FCM).
Thiết kế cơ sở dữ liệu và RESTful API
Hệ thống sử dụng mô hình cơ sở dữ liệu phân tán kết hợp:
- Bảng
User: Lưu trữ _id, email, password_hash, full_name, role (SYSTEM_ADMIN, TECH_ADMIN, FARMER, HARVESTOR, TRANSPORTER, WAREHOUSE_KEEPER, MANUFACTURER), status.
- Bảng
Farm: Lưu trữ _id, farm_name, owner_id, location, total_area, certification_code.
- Bảng
Seed & LandPlot: Lưu thông tin loại giống cà phê (Arabica, Robusta), nguồn gốc, diện tích lô đất canh tác, chất lượng đất.
- Bảng
CommodityProject (Lô hàng): Lưu _id, project_code, farm_id, current_stage, blockchain_tx_hash, blockchain_batch_id, created_at.
- Bảng
StageLogs: Lưu chi tiết từng công đoạn kiểm định, nhân viên phụ trách, chứng từ hình ảnh (Cloudinary URL).
+----------------------------------------------------------------------------------------------------+
| DANH MỤC RESTFUL API CHÍNH |
+----------------------------------------------------------------------------------------------------+
| METHOD | ENDPOINT | MÔ TẢ NGHIỆP VỤ | PHÂN QUYỀN (RBAC) |
+--------+----------------------------------+----------------------------------+----------------------+
| POST | /api/v1/auth/login | Xác thực & cấp phát JWT token | Public |
| POST | /api/v1/projects/create | Khởi tạo dự án/lô hàng mới | System Admin, Farmer |
| PUT | /api/v1/projects/:id/harvest | Ghi nhận kiểm tra thu hoạch | Harvestor |
| PUT | /api/v1/projects/:id/transport | Cập nhật dữ liệu vận chuyển | Transporter |
| PUT | /api/v1/projects/:id/warehouse | Ghi nhận nhập/xuất kho bãi | Warehouse Keeper |
| PUT | /api/v1/projects/:id/manufacture | Ghi nhận chế biến & đóng gói | Manufacturer |
| GET | /api/v1/traceability/:batchCode | Truy xuất toàn bộ lịch sử lô hàng| Public / Mobile Scan |
+----------------------------------------------------------------------------------------------------+
Phương pháp luận phát triển (Methodology)
Dự án được triển khai theo mô hình Agile/Scrum trong vòng 16 tuần (06/02/2023 – 04/06/2023), chia làm 8 Sprints (mỗi Sprint kéo dài 2 tuần). Đội ngũ áp dụng quy trình kiểm soát mã nguồn bằng Git Branching Strategy (Gitflow), đánh giá mã nguồn chéo (Peer Code Review), và kiểm thử tự động (Unit Testing) trước khi triển khai lên máy chủ thử nghiệm AWS EC2.
Implementation và kết quả
Chi tiết giải thuật và mã nguồn Smart Contract
Hợp đồng thông minh được viết bằng ngôn ngữ Solidity (phiên bản ^0.8.19), chịu trách nhiệm lưu trữ lịch sử trạng thái của từng lô nông sản. Mỗi trạng thái sau khi được người có thẩm quyền xác nhận sẽ ghi đè lên cấu trúc dữ liệu mapping và phát ra một Event để các client lắng nghe.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
/**
* @title CoffeeTraceability
* @dev Quản lý truy xuất nguồn gốc chuỗi cung ứng cà phê trên EVM
*/
contract CoffeeTraceability {
address public owner;
enum Stage { Planted, Harvested, Transported, Warehoused, Manufactured, Completed }
struct CoffeeBatch {
string batchCode;
string farmDetails;
string harvestDataHash;
string transportDataHash;
string warehouseDataHash;
string manufactureDataHash;
Stage currentStage;
uint256 updatedAt;
address updatedBy;
}
mapping(string => CoffeeBatch) private batches;
mapping(string => bool) private batchExists;
event BatchCreated(string indexed batchCode, address indexed createdBy, uint256 timestamp);
event StageUpdated(string indexed batchCode, Stage indexed stage, string dataHash, address indexed actor);
modifier onlyOwner() {
require(msg.sender == owner, "Traceability: Caller is not the contract owner");
_;
}
constructor() {
owner = msg.sender;
}
function createBatch(string memory _batchCode, string memory _farmDetails) external {
require(!batchExists[_batchCode], "Traceability: Batch code already exists");
batches[_batchCode] = CoffeeBatch({
batchCode: _batchCode,
farmDetails: _farmDetails,
harvestDataHash: "",
transportDataHash: "",
warehouseDataHash: "",
manufactureDataHash: "",
currentStage: Stage.Planted,
updatedAt: block.timestamp,
updatedBy: msg.sender
});
batchExists[_batchCode] = true;
emit BatchCreated(_batchCode, msg.sender, block.timestamp);
}
function updateHarvestStage(string memory _batchCode, string memory _dataHash) external {
require(batchExists[_batchCode], "Traceability: Batch does not exist");
CoffeeBatch storage batch = batches[_batchCode];
require(batch.currentStage == Stage.Planted, "Traceability: Invalid stage sequence");
batch.harvestDataHash = _dataHash;
batch.currentStage = Stage.Harvested;
batch.updatedAt = block.timestamp;
batch.updatedBy = msg.sender;
emit StageUpdated(_batchCode, Stage.Harvested, _dataHash, msg.sender);
}
function getBatchHistory(string memory _batchCode) external view returns (CoffeeBatch memory) {
require(batchExists[_batchCode], "Traceability: Batch not found");
return batches[_batchCode];
}
}
Cấu hình mạng PoA Private Blockchain (Clique Consensus)
Hệ thống sử dụng tệp genesis.json để khởi tạo mạng Ethereum riêng tư với cơ chế Clique. Khối nguyên thủy thiết lập thời gian tạo khối (period) là 5 giây, chỉ định địa chỉ ví của các nút ủy quyền (Sealers/Validators) trong trường extraData:
{
"config": {
"chainId": 19521,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"clique": {
"period": 5,
"epoch": 30000
}
},
"difficulty": "1",
"gasLimit": "8000000",
"extradata": "0x0000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
Tích hợp tầng Mobile Android với Retrofit2 (Kotlin)
Trên ứng dụng Android, kiến trúc MVVM kết hợp Coroutines giúp xử lý việc quét mã QR và gửi yêu cầu tra cứu bất đồng bộ:
class TraceabilityRepository(private val apiService: ApiService) {
suspend fun fetchBatchTraceability(batchCode: String): Result<CommodityResponse> {
return withContext(Dispatchers.IO) {
try {
val response = apiService.getTraceabilityData(batchCode)
if (response.isSuccessful && response.body() != null) {
Result.success(response.body()!!)
} else {
Result.failure(Exception("Lỗi máy chủ: ${response.code()}"))
}
} catch (e: Exception) {
Result.failure(e)
}
}
}
}
Kết quả kiểm thử và định chuẩn hiệu năng (Performance Benchmarks)
Hệ thống đã trải qua quy trình kiểm thử toàn diện gồm 145 bộ kiểm thử đơn vị (Unit Tests), 42 kịch bản kiểm thử tích hợp (Integration Tests) và kiểm thử chấp nhận người dùng (UAT) với 20 người dùng thử nghiệm:
+----------------------------------------------------------------------------------------------------+
| KẾT QUẢ ĐỊNH CHUẨN HIỆU NĂNG |
+----------------------------------------------------------------------------------------------------+
| CHỈ SỐ ĐO LƯỜNG (METRIC) | KẾT QUẢ ĐẠT ĐƯỢC | MỤC TIÊU BAN ĐẦU |
+------------------------------------------+---------------------------+-----------------------------+
| Thời gian tạo khối trung bình (PoA Block)| 5.02 giây | 5.00 giây |
| Thông lượng xử lý giao dịch (Throughput) | 120 Transactions/giây | >= 50 Transactions/giây |
| Độ trễ phản hồi API truy xuất (Latency) | 285 mili-giây | < 1000 mili-giây |
| Mức độ bao phủ mã nguồn (Code Coverage) | 89.4% (Truffle + Jest) | >= 80.0% |
| Chi phí Gas thực tế cho doanh nghiệp | 0.00 USD (Private PoA) | 0.00 USD |
| Điểm đánh giá độ hài lòng người dùng | 4.75 / 5.00 (UAT Score) | >= 4.00 / 5.00 |
+----------------------------------------------------------------------------------------------------+
Đổi mới và đóng góp
- Mô hình lưu trữ Hybrid On-chain/Off-chain tối ưu chi phí và hiệu năng: Thay vì lưu trữ toàn bộ dữ liệu đa phương tiện (hình ảnh nông trại, video kiểm định, hóa đơn) lên Blockchain gây nghẽn mạng và phình to dung lượng sổ cái, hệ thống chỉ lưu chuỗi băm mật mã (SHA-256 Hash) trên Smart Contract. Dữ liệu gốc được quản lý trên MongoDB và Cloudinary, đảm bảo tính toàn vẹn dữ liệu tăng 100% nhưng giảm 98.5% kích thước lưu trữ của các khối trên node.
- Cơ chế đồng thuận PoA Clique thay thế PoW truyền thống: Giảm 99.9% mức tiêu thụ năng lượng so với cơ chế PoW cũ của Ethereum, loại bỏ hoàn toàn hiện tượng cạnh tranh phí giao dịch của thợ đào, duy trì tính ổn định của chu kỳ tạo khối đúng 5 giây.
- Phân quyền đa tầng dựa trên vai trò (RBAC) kết hợp khóa định danh Blockchain: Giải quyết triệt để rủi ro xung đột quyền hạn giữa các bên tham gia (nông dân không thể sửa dữ liệu của đơn vị vận chuyển, kho bãi không thể sửa số liệu thu hoạch của nông trại).
- Ứng dụng di động thực tế hóa công nghệ Blockchain: Người tiêu dùng không cần cài đặt ví Web3 phức tạp như MetaMask hay sở hữu tiền điện tử (Ether); chỉ cần quét mã QR bằng điện thoại Android là có thể xác thực tính chính thực của sản phẩm ngay tại quầy hàng.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế (Real-world Scenario)
- Bước 1 (Tại Nông trại Cư M'gar, Đắk Lắk): Chủ trang trại khởi tạo lô hạt giống Robusta F1 trên Web Portal. Hệ thống tạo bản ghi và lưu mã hash thông tin thổ nhưỡng lên Smart Contract.
- Bước 2 (Giai đoạn Thu hoạch): Đội ngũ thu hoạch nghiệm thu 5 tấn quả tươi đạt độ chín > 95%. Trưởng nhóm nhập sản lượng, hình ảnh kiểm tra và xác nhận trên hệ thống. Dữ liệu lập tức được ký số và đóng dấu thời gian (Timestamp) On-chain.
- Bước 3 (Giai đoạn Vận chuyển & Kho bãi): Đơn vị logistics tiếp nhận lô hàng, quét mã lô và cập nhật biển số xe, nhiệt độ thùng lạnh. Khi xe đến nhà máy tại Bình Dương, thủ kho quét mã QR xác nhận nhập kho.
- Bước 4 (Chế biến & Phân phối): Nhà máy rang xay đóng gói thành 10.000 túi cà phê 500g, mỗi túi được in một mã QR Code định danh duy nhất chứa liên kết mã lô (
batchCode).
- Bước 5 (Người tiêu dùng): Khách hàng tại siêu thị dùng điện thoại quét mã QR và xem toàn bộ nhật ký 5 bước kèm chữ ký số xác thực của từng đơn vị.
+----------------------------------------------------------------------------------------------------+
| HƯỚNG DẪN TRIỂN KHAI HỆ THỐNG |
+----------------------------------------------------------------------------------------------------+
| 1. Khởi tạo mạng Geth PoA Node: |
| $ geth --datadir ./node1 init genesis.json |
| $ geth --datadir ./node1 --networkid 19521 --http --http.api "eth,net,web3,personal" --mine |
| |
| 2. Biên dịch và Triển khai Smart Contract qua Truffle: |
| $ truffle compile |
| $ truffle migrate --network private_poa |
| |
| 3. Khởi chạy Backend Service (Node.js/Express.js): |
| $ npm install && pm2 start server.js --name "traceability-backend" |
| |
| 4. Xây dựng Frontend Web (React.js) & Reverse Proxy qua Nginx: |
| $ npm run build && sudo cp -r build/* /var/www/html/ |
+----------------------------------------------------------------------------------------------------+
Phân tích chi phí - lợi ích (Cost-Benefit & ROI)
Đối với một hợp tác xã hoặc doanh nghiệp chế biến cà phê quy mô 500 tấn/năm:
- Chi phí đầu tư hạ tầng: Thuê máy chủ AWS EC2 (t3.medium) khoảng 30 USD/tháng (~8.5 triệu VNĐ/năm). Chi phí bảo trì phần mềm định kỳ khoảng 15 triệu VNĐ/năm.
- Lợi ích kinh tế: Tăng giá trị xuất khẩu sản phẩm từ 10% – 15% nhờ có chứng chỉ minh bạch nguồn gốc điện tử; giảm 90% chi phí in ấn và lưu trữ sổ sách giấy; giảm thiểu 100% rủi ro hàng giả, bảo vệ uy tín thương hiệu doanh nghiệp trên thị trường quốc tế. Thời gian hoàn vốn đầu tư (ROI) ước tính dưới 6 tháng.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Điểm tiếp xúc vật lý (Physical-Digital Gap): Dữ liệu nhập vào hệ thống ở các bước ban đầu vẫn phụ thuộc một phần vào tính trung thực của người kiểm định thủ công tại nông trại.
- Phụ thuộc nền tảng Mobile: Phiên bản di động hiện mới được tối ưu hóa cho hệ điều hành Android; phiên bản iOS chưa được đóng gói hoàn chỉnh.
- Lưu trữ tệp tin tập trung: Dữ liệu hình ảnh chứng từ vẫn lưu tại Cloudinary và MongoDB thay vì hệ thống lưu trữ phi tập trung hoàn toàn.
Hướng phát triển trong tương lai
- Tích hợp cảm biến IoT và thẻ RFID/NFC: Sử dụng cảm biến IoT đo độ ẩm, nhiệt độ tự động gửi dữ liệu trực tiếp vào Smart Contract thông qua Oracle (như Chainlink), loại bỏ hoàn toàn sự can thiệp thủ công của con người.
- Nâng cấp lưu trữ IPFS/Filecoin: Chuyển đổi toàn bộ cơ chế lưu trữ hình ảnh Off-chain sang InterPlanetary File System (IPFS) để đạt tính phi tập trung 100%.
- Mở rộng giao thức Cross-chain: Tích hợp các giải pháp Layer-2 (Polygon, Arbitrum) cho phép kết nối dữ liệu từ mạng nội bộ PoA lên các mạng Blockchain công khai khi cần xuất khẩu quốc tế.
- Phát triển ứng dụng iOS bằng Flutter/React Native: Đa nền tảng hóa ứng dụng di động để phục vụ toàn bộ người dùng thiết bị Apple.
Đối tượng hưởng lợi
- Sinh viên & Học viên chuyên ngành CNTT/KTPM: Tiếp cận tài liệu tham khảo hoàn chỉnh về cách tích hợp một hệ thống Fullstack (ReactJS, Node.js, Android Kotlin) với mạng Blockchain Ethereum thực tế sử dụng Smart Contract và Geth PoA.
- Lập trình viên (Developers): Sử dụng làm mẫu kiến trúc (Architectural Pattern) cho các bài toán phân tán, quản lý chuỗi cung ứng, và mô hình kết hợp On-chain/Off-chain dữ liệu.
- Doanh nghiệp & Hợp tác xã Nông nghiệp: Sở hữu giải pháp chuyển đổi số có chi phí vận hành bằng 0 về phí giao dịch, nâng cao năng lực cạnh tranh và đáp ứng các tiêu chuẩn xuất khẩu khắt khe (như tiêu chuẩn EUDR của Liên minh Châu Âu).
- Các nhà nghiên cứu (Researchers): Cung cấp số liệu thực nghiệm về hiệu năng, độ trễ và khả năng mở rộng của thuật toán đồng thuận Clique PoA trong bài toán công nghiệp thực tế.
Câu hỏi thường gặp
1. Yêu cầu phần cứng và hệ điều hành tối thiểu để triển khai một nút Geth PoA là gì?
Máy chủ cần tối thiểu 2 vCPU, 4GB RAM, 40GB ổ cứng SSD (khuyến nghị AWS EC2 instance loại t3.medium hoặc t3a.medium) chạy hệ điều hành Ubuntu 20.04/22.04 LTS. Do mạng sử dụng cơ chế PoA với thời gian tạo khối 5s và lưu trữ On-chain tối giản (chỉ lưu hash), dung lượng sổ cái tăng trưởng rất chậm (< 5GB/năm).
2. Mạng PoA Private Blockchain có thể mở rộng (Scalability) lên bao nhiêu nút và đáp ứng được bao nhiêu giao dịch mỗi giây?
Thuật toán Clique PoA có khả năng mở rộng tối ưu trong phạm vi 10 – 50 Validator Nodes (đại diện cho các bên liên quan: Sở Nông nghiệp, Doanh nghiệp sản xuất, Đơn vị vận chuyển, Hiệp hội Cà phê). Thông lượng hệ thống đạt từ 100 đến 250 TPS (Transactions Per Second), hoàn toàn đáp ứng nhu cầu ghi nhận hàng triệu kiện hàng mỗi ngày trong chuỗi cung ứng thực tế.
3. Làm thế nào để ngăn chặn nhân viên nhập thông tin giả mạo ngay từ đầu nguồn nông trại?
Hệ thống áp dụng cơ chế xác thực đa chữ ký (Multi-Signature) và phân quyền chặt chẽ theo vai trò (RBAC). Bất kỳ dữ liệu nào cập nhật đều được gắn liền với định danh ví điện tử và tài khoản của nhân viên đó. Khi xảy ra sai sót, hệ thống cho phép truy cứu trách nhiệm cá nhân chính xác 100%. Trong các giai đoạn tiếp theo, việc tích hợp cảm biến IoT sẽ tự động hóa hoàn toàn khâu thu thập số liệu.
4. Chi phí duy trì và bản quyền phần mềm hàng năm của hệ thống này là bao nhiêu?
Toàn bộ mã nguồn cốt lõi (Geth, Solidity, Node.js, React.js, Kotlin, MongoDB Community/Atlas Free Tier) đều là mã nguồn mở (Open-source), do đó doanh nghiệp hoàn toàn không mất chi phí bản quyền phần mềm. Chi phí duy nhất là tiền thuê máy chủ Cloud (khoảng 300 – 500 USD/năm tùy quy mô).
5. Người tiêu dùng quét mã QR có cần kết nối Internet và cài đặt ứng dụng chuyên dụng không?
Người tiêu dùng có thể sử dụng bất kỳ ứng dụng máy ảnh/quét mã QR chuẩn nào trên điện thoại (Zalo, Camera mặc định, Google Lens) để mở liên kết trang web tra cứu công khai, hoặc cài đặt ứng dụng Android chuyên dụng của hệ thống để trải nghiệm giao diện trực quan và xem toàn bộ chứng thực Blockchain đã được kiểm định.
Kết luận
Đồ án tốt nghiệp "Ứng dụng truy xuất nguồn gốc dựa trên Ethereum Smart Contract" của sinh viên Nguyễn Thành Hiếu và Trần Quốc Khánh (Khoa Công nghệ Phần mềm - Trường Đại học Công nghệ Thông tin, ĐHQG-HCM), dưới sự hướng dẫn của TS. Nguyễn Trịnh Đông, đã hoàn thành xuất sắc các mục tiêu đề ra. Đề tài không chỉ dừng lại ở mức độ nghiên cứu lý thuyết mà đã giải quyết trọn vẹn bài toán thực tiễn: xây dựng một hệ thống truy xuất nguồn gốc nông sản đa nền tảng (Web & Android), ứng dụng công nghệ Ethereum Smart Contract và thuật toán đồng thuận PoA Clique để triệt tiêu chi phí Gas, đảm bảo tính bất biến, minh bạch và toàn vẹn dữ liệu xuyên suốt chuỗi cung ứng cà phê.
Giải pháp mở ra một hướng tiếp cận khả thi, kinh tế và hiệu quả cho các doanh nghiệp nông sản Việt Nam trong quá trình chuyển đổi số và hội nhập quốc tế. Các nhà phát triển, doanh nghiệp và nhà nghiên cứu quan tâm có thể tiếp tục mở rộng mô hình này bằng cách tích hợp thiết bị phần cứng IoT và giao thức lưu trữ phi tập trung IPFS, đưa công nghệ Blockchain trở thành trụ cột tin cậy cho nền nông nghiệp thông minh.