Bối cảnh và vấn đề nghiên cứu
Văn bằng và chứng chỉ là các tài sản thể hiện tri thức và kỹ năng của người học sau quá trình đào tạo chính quy và đánh giá nghiêm ngặt tại các tổ chức giáo dục. Trong quy trình tuyển dụng và việc làm, việc xác thực tính xác thực của các chứng chỉ này là yêu cầu bắt buộc (Kaneriya, 2021). Tuy nhiên, phương thức quản lý chứng chỉ truyền thống trên giấy tồn tại nhiều hạn chế: bất tiện trong truy cập, rủi ro làm giả mạo và thiếu sự liên kết trực tiếp giữa đơn vị cấp phát và đơn vị xác thực. Mặt khác, các hệ thống cơ sở dữ liệu tập trung truyền thống luôn đối mặt với nguy cơ dữ liệu bị chỉnh sửa bởi quản trị viên có thẩm quyền cao, dẫn đến tính toàn vẹn, minh bạch và tính chống chối bỏ không được đảm bảo.
Công nghệ Blockchain cung cấp giải pháp sổ cái phân tán không thể thay đổi, minh bạch và phi tập trung. Dẫu vậy, việc các cơ sở giáo dục hiện nay vận hành các mạng Blockchain riêng lẻ đã tạo ra tình trạng "đảo dữ liệu cô lập" (data silos), hạn chế việc kiểm tra chéo từ bên ngoài. Ngược lại, nếu tập trung toàn bộ dữ liệu lên một chuỗi khối công khai duy nhất, nguy cơ lộ lọt thông tin cá nhân và dữ liệu học tập nhạy cảm của người học là rất lớn. Để giải quyết mâu thuẫn giữa nhu cầu chia sẻ dữ liệu liên cơ sở, sự tiện lợi cho nhà tuyển dụng và yêu cầu bảo vệ quyền riêng tư cá nhân, đề tài đề xuất hệ thống CrossCert kết hợp công nghệ liên chuỗi (Cross-Chain) và bằng chứng không tiết lộ tri thức (Zero-Knowledge Proof - ZKP).
Mục tiêu và nhiệm vụ nghiên cứu của đề tài gồm:
- Nghiên cứu cơ sở lý thuyết về công nghệ chuỗi khối, các kỹ thuật tương tác liên chuỗi (Cross-Chain), chuẩn mã hóa tài sản không thể thay thế (NFT) và công nghệ Zero-Knowledge Proof (zk-SNARKs).
- Phân tích các lỗ hổng bảo mật và thách thức kỹ thuật trong các hệ thống Cross-Chain hiện hữu.
- Thiết kế kiến trúc hệ thống xác thực văn bằng liên chuỗi CrossCert, đảm bảo tính toàn vẹn và bảo vệ quyền riêng tư của ứng viên.
- Xây dựng mô hình thực nghiệm DApp hoàn chỉnh kết nối giữa mạng Ethereum (Sepolia Testnet) và Avalanche (Fuji Testnet), triển khai các Smart Contract và tích hợp thư viện ZoKrates.
- Kiểm thử, đánh giá hiệu năng thực thi, chi phí phí giao dịch (Gas fee) và khả năng ngăn chặn gian lận của hệ thống.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Văn bằng và chứng chỉ số hóa (chuẩn hóa dưới dạng NFT); nhóm người dùng gồm sinh viên/người xin việc (chủ sở hữu văn bằng cần bảo mật thông tin) và doanh nghiệp/nhà tuyển dụng (đơn vị có nhu cầu thẩm định điều kiện tuyển dụng).
- Phạm vi nghiên cứu: Nghiên cứu tập trung vào cơ chế liên chuỗi giữa hai mạng Blockchain công khai không đồng nhất (Ethereum và Avalanche) thông qua các mạng thử nghiệm Sepolia và Fuji; xác thực điều kiện học tập (tiêu biểu là điểm trung bình tích lũy GPA) mà không tiết lộ điểm số thực tế.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên các nền tảng lý thuyết và tiêu chuẩn kỹ thuật chuyên ngành:
- Khái niệm và đặc tính Blockchain: Tính phi tập trung (Decentralization), tính ẩn danh (Anonymity), tính minh bạch (Transparency) và tính bất biến (Immutability). Khóa luận xem xét bộ ba nan đề Blockchain (Blockchain Trilemma) gồm khả năng mở rộng, tính bảo mật và tính phi tập trung; cùng ba mô hình mạng: Public Blockchain, Private Blockchain và Consortium Blockchain.
- Hợp đồng thông minh (Smart Contract): Môi trường thực thi EVM (Ethereum Virtual Machine) và ngôn ngữ lập trình Solidity.
- Khung kỹ thuật Cross-Chain: Dẫn chiếu định nghĩa theo chuẩn IEEE 3205-2023 về khả năng tương tác chuỗi khối. Khóa luận phân tích 4 cơ chế phổ biến gồm Notary Scheme (nút chứng thực), Hash Time-Locked Contracts (HTLCs), Sidechain và Relay Chain. Đồng thời, khóa luận tổng hợp nghiên cứu của Xscope về các lỗ hổng bảo mật liên chuỗi: logic on-chain phức tạp, liên kết lỏng lẻo giữa off-chain và on-chain, quy trình xử lý đa bước; cùng 3 phân lớp lỗ hổng: Unrestricted Deposit Emitting (UDE), Inconsistent Event Parsing (IEP) và Unauthorized Unlocking (UU).
- Non-Fungible Tokens (NFT): Chuẩn token ERC-721 và thư viện ERC721URIStorage từ OpenZeppelin nhằm quản lý thông tin định danh và siêu dữ liệu (Metadata) lưu trữ trên hệ thống tệp phân tán IPFS.
- Zero-Knowledge Proof (ZKP) & zk-SNARKs: Đảm bảo ba đặc tính toán học gồm tính hoàn thiện (Completeness), tính chặt chẽ (Soundness) và tính không tiết lộ tri thức (Zero-Knowledge). Thuật toán áp dụng là Groth16 (G16) trên hệ đường cong elip alt_bn128, vận hành qua ba giai đoạn: khởi tạo cặp khóa $KeyGen(C) \rightarrow (pk, vk)$, tính toán bằng chứng $Prove(pk, C, pub, w) \rightarrow \pi$, và xác thực bằng chứng $Verify(vk, \pi, pub) \rightarrow {true, false}$.
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp phân tích - tổng hợp tài liệu học thuật: Khảo sát và so sánh các mô hình xác thực văn bằng số và chứng chỉ điện tử hiện hữu (Blockcerts, NovidChain, Sci-B, hệ thống trên Hyperledger Fabric...).
- Phương pháp thiết kế và xây dựng hệ thống phần mềm: Thiết kế kiến trúc ứng dụng phi tập trung liên chuỗi (Cross-Chain DApp), xây dựng các Smart Contract chuyên biệt bằng ngôn ngữ Solidity, tích hợp module ZKP qua bộ công cụ ZoKrates/zokrates.js và hệ thống lưu trữ phi tập trung IPFS (NFT Storage).
- Phương pháp thực nghiệm kỹ thuật: Triển khai kiểm thử trên mạng thử nghiệm công khai (Sepolia Testnet của Ethereum và Fuji Testnet của Avalanche), thu thập các thông số vận hành thực tế về thời gian phản hồi, phí gas và tính đúng đắn khi phát hiện dữ liệu giả mạo.
Nguồn dữ liệu sử dụng: Dữ liệu mô phỏng văn bằng sinh viên được cấu trúc theo định dạng JSON Schema mở rộng từ chuẩn ERC-721; các bản ghi giao dịch, mã bytecode và lịch sử tương tác trực tiếp trên các mạng thử nghiệm Blockchain Sepolia và Avalanche Fuji.
| Hệ thống / Tác giả |
Nền tảng Blockchain |
Cơ chế liên chuỗi (Cross-Chain) |
Bảo vệ quyền riêng tư (Privacy) |
| Blockcerts (Sharma và cs.) |
Bitcoin / Ethereum |
Không hỗ trợ |
Chưa hỗ trợ |
| NovidChain (Abid và cs.) |
Private Blockchain |
Không hỗ trợ |
Sử dụng định danh tự chủ (SSI) |
| Sci-B (Anwar và cs.) |
Ethereum |
Không hỗ trợ |
Chưa hỗ trợ |
| Saleh và cs. |
Hyperledger Fabric |
Không hỗ trợ |
Hạn chế (dựa trên phân quyền kênh) |
| Arul và cs. |
Chuỗi đơn (ERC-721) |
Không hỗ trợ |
Chưa hỗ trợ (công khai metadata) |
| CrossCert (Mô hình đề xuất) |
Đa chuỗi (Sepolia & Avalanche Fuji) |
Hỗ trợ tương tác DApp |
Tích hợp ZKP (zk-SNARKs Groth16) |
Thiết kế và triển khai hệ thống CrossCert
CrossCert được thiết kế dưới dạng ứng dụng phi tập trung liên chuỗi (Cross-Chain DApp), đóng vai trò cầu nối logic giữa hai hệ thống Blockchain độc lập: Blockchain của cơ sở giáo dục và Blockchain của nhà tuyển dụng.
Kiến trúc tổng thể và công nghệ sử dụng
- Phía cơ sở giáo dục (mạng Ethereum Sepolia Testnet): Vận hành
Student Contract để quản lý hồ sơ học viên, ánh xạ địa chỉ ví với mã số văn bằng; và Certificate Contract (kế thừa chuẩn ERC721URIStorage) dùng để đúc (mint) văn bằng dưới dạng NFT kèm Metadata URI.
- Phía nhà tuyển dụng (mạng Avalanche Fuji Testnet): Vận hành
History Contract nhằm lưu trữ lịch sử xác thực (địa chỉ ứng viên, chuỗi bằng chứng, kết quả boolean) và Verifier Contract được biên dịch tự động từ công cụ ZoKrates nhằm xác minh tính hợp lệ của bằng chứng ZKP.
- Tầng lưu trữ và giao tiếp trung gian: Sử dụng mạng IPFS thông qua dịch vụ NFT Storage để lưu trữ tập tin ZKP Challenge, Proving Key và Metadata văn bằng; sử dụng nhà cung cấp dịch vụ RPC (Alchemy cho Sepolia, Infura cho Fuji); framework Next.js và thư viện ethers.js xây dựng giao diện tương tác; thư viện EmailJS gửi thư điện tử thông báo tự động tới doanh nghiệp tuyển dụng.
| Tên Smart Contract |
Địa chỉ triển khai trên mạng Blockchain |
Mạng Blockchain |
Student |
0x44Fbdfb7e8a705F8Db6C23799CO0f72C3f7cb44B8 |
Ethereum (Sepolia Testnet) |
Certificate |
0x8c6709ce3F79E12AcA80756d216cC95deANA19a6 |
Ethereum (Sepolia Testnet) |
History |
0xA8C5CC290acc9aEC37ff51cBF21b097f1b018bA9 |
Avalanche (Fuji Testnet) |
Verifier |
0xbc526d15F3e5d1Bð684005E2d994ac66AA22a335 |
Avalanche (Fuji Testnet) |
Quy trình xác thực 9 bước
- Bước 1: Ứng viên thực hiện kết nối ví điện tử cá nhân với giao diện DApp CrossCert để lấy địa chỉ tài khoản.
- Bước 2: CrossCert sử dụng địa chỉ ví gửi yêu cầu truy vấn Certificate ID lưu trữ tại
Student Contract trên Sepolia.
- Bước 3: Nhằm chống việc sử dụng trái phép văn bằng của người khác, ứng viên tự nhập Certificate ID của mình; hệ thống đối soát dữ liệu đầu vào với kết quả truy vấn từ Smart Contract.
- Bước 4: Sau khi xác thực ID hợp lệ, CrossCert gửi yêu cầu truy vấn Token Metadata từ
Certificate Contract thông qua Alchemy RPC.
- Bước 5: Phía Sepolia trả về siêu dữ liệu văn bằng (chứa các trường điểm GPA, tín chỉ, chuyên ngành).
- Bước 6: CrossCert truy cập NFT Storage (IPFS) để lấy Proving Key và tập tin mạch số học (Challenge), sau đó thư viện
zokrates.js tính toán bằng chứng zk-SNARKs dựa trên tham số công khai (tiêu chí tuyển dụng, ví dụ: GPA $\ge$ 3.0) và tham số riêng tư (điểm thực tế của ứng viên).
- Bước 7: DApp gửi bằng chứng số vừa sinh đến hàm
verifyTx trên Verifier Contract tại mạng Avalanche Fuji.
- Bước 8:
Verifier Contract thực thi giải thuật ghép cặp đường cong elip và trả về kết quả kiểm tra (true/false).
- Bước 9: DApp kích hoạt hàm
addHistory trên History Contract để ghi vĩnh viễn kết quả cùng mã băm giao dịch lên mạng Fuji, đồng thời gửi email thông báo kết quả xác minh đến nhà tuyển dụng qua EmailJS.
Trích xuất mã nguồn cốt lõi
Đoạn mã hợp đồng quản lý học viên (Student Contract) kiểm soát quyền truy xuất mã định danh văn bằng:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Student {
address public owner;
constructor() {
owner = msg.sender;
}
mapping (address => uint256) students;
function getStudentCertID(address _student) public view returns(uint256) {
require(msg.sender == owner);
return students[_student];
}
function addStudent(address _student, uint256 _id) public returns (bool) {
require(msg.sender == owner);
if (students[_student] == 0) {
students[_student] = _id;
return true;
}
return false;
}
}
Hàm xác minh bằng chứng trên hợp đồng xác thực (Verifier Contract) thực hiện kiểm tra biểu thức ghép cặp song tuyến tính:
function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {
uint256 snark_scalar_field = 21888242871839275222246405745257275088548364400416034343698204186575808495617;
VerifyingKey memory vk = verifyingKey();
require(input.length + 1 == vk.gamma_abc.length);
// Compute the linear combination vk_x
Pairing.G1Point memory vk_x = Pairing.G1Point(0, 0);
for (uint i = 0; i < input.length; i++) {
require(input[i] < snark_scalar_field);
vk_x = Pairing.addition(vk_x, Pairing.scalar_mul(vk.gamma_abc[i + 1], input[i]));
}
vk_x = Pairing.addition(vk_x, vk.gamma_abc[0]);
if (!Pairing.pairingProd4(
proof.a, proof.b,
Pairing.negate(vk_x), vk.gamma,
Pairing.negate(proof.c), vk.delta,
Pairing.negate(vk.alpha), vk.beta)) return 1;
return 0;
}
function verifyTx(Proof memory proof, uint[1] memory input) public view returns (bool r) {
uint[] memory inputValues = new uint[](1);
for (uint i = 0; i < input.length; i++) {
inputValues[i] = input[i];
}
if (verify(inputValues, proof) == 0) {
return true;
} else {
return false;
}
}
Quy trình tính toán bằng chứng zk-SNARKs tại tầng giao diện ứng dụng sử dụng zokrates.js:
fetch(process.env.NEXT_PUBLIC_PROVING_KEY)
.then((res) => res.arrayBuffer())
.then((arrayBuffer) => {
const provingKey = new Uint8Array(arrayBuffer);
const artifacts = zokratesProvider.compile(source);
const { witness, output } = zokratesProvider.computeWitness(
artifacts,
[String(Number(gpa)), '19']
);
const proof = zokratesProvider.generateProof(
artifacts.program,
witness,
provingKey
);
return proof;
});
Nội dung chính theo từng chương
Chương 1: Mở đầu
Tác giả trình bày bối cảnh chuyển đổi số trong giáo dục và tuyển dụng, chỉ ra các điểm yếu của chứng chỉ giấy và cơ sở dữ liệu tập trung. Tác giả phân tích tính cấp thiết của việc dung hòa giữa chia sẻ dữ liệu liên trường đại học và bảo mật quyền riêng tư cá nhân. Chương này xác định rõ 3 nhóm đối tượng nghiên cứu của hệ thống gồm văn bằng/chứng chỉ, sinh viên/ứng viên và doanh nghiệp tuyển dụng.
Chương 2: Cơ sở lý thuyết
Chương này cung cấp hệ thống lý thuyết nền tảng phục vụ đề tài:
- Phân tích kiến trúc Blockchain, cơ chế đồng thuận, hợp đồng thông minh EVM và bộ ba nan đề Blockchain (Blockchain Trilemma).
- Trình bày công nghệ tương tác liên chuỗi (Cross-Chain) theo chuẩn IEEE 3205-2023, phân tích chi tiết ưu nhược điểm của 4 giải pháp (Notary, HTLCs, Sidechain, Relay Chain) và phân loại các hình thức tấn công bảo mật liên chuỗi từ báo cáo Xscope.
- Nguyên lý tiêu chuẩn token ERC-721 và cơ chế quản lý Metadata qua IPFS.
- Cơ sở toán học của thuật toán Groth16 trong zk-SNARKs, cấu trúc đường cong alt_bn128 và các bước tạo khóa, tính toán nhân chứng (witness) và kiểm tra hàm ghép cặp (pairing).
Chương 3: Các nghiên cứu liên quan
Tác giả khảo cứu 8 công trình nghiên cứu tiêu biểu ứng dụng Blockchain trong chứng chỉ và dữ liệu cá nhân (Blockcerts, NovidChain, Sci-B, hệ thống Hyperledger Fabric của Saleh, mô hình NFT của Arul, giao thức zk-PoL của Wu, chứng nhận tiêm chủng SSI của de Vasconcelos Barros). Qua đó, chương 3 làm rõ khoảng trống học thuật: các nghiên cứu hiện tại chủ yếu vận hành đơn chuỗi hoặc thiếu cơ chế bảo vệ quyền riêng tư khi tiến hành đối soát dữ liệu.
Chương 4: Mô hình đề xuất
Chương 4 mô tả chi tiết giải pháp hệ thống CrossCert:
- Đặt ra tình huống thực tế trong tuyển dụng nhân sự và sự bất tương thích giữa các Blockchain độc lập.
- Thiết kế đặc tả Metadata mở rộng cho chứng chỉ số (ERC721 Certificate JSON Schema) bao gồm thông tin cá nhân, ngành học, xếp loại và kết quả học tập chi tiết (GPA, tín chỉ, môn học).
- Xây dựng quy trình nghiệp vụ 9 bước và cài đặt toàn bộ hệ thống Smart Contract (
Student, Certificate, Verifier, History) cùng các đoạn mã tương tác Web3 trên Next.js.
Chương 5: Thực nghiệm và đánh giá
Chương này ghi nhận các kết quả thực nghiệm hệ thống CrossCert trên môi trường kết hợp Sepolia Testnet và Avalanche Fuji Testnet. Các nội dung thực nghiệm tập trung vào:
- Đo đạc tổng thời gian thực thi của một quy trình xác thực hoàn chỉnh từ lúc kết nối ví đến khi ghi nhận lịch sử.
- Đánh giá tương quan chi phí Gas Fee theo biến thiên số lượng request trên mạng thử nghiệm.
- Kiểm thử bảo mật chứng minh hệ thống không chấp nhận các bằng chứng giả mạo (invalid proof) khi ứng viên không đạt tiêu chuẩn yêu cầu.
Chương 6: Kết luận
Tổng kết các kết quả đạt được của đồ án tốt nghiệp, công bố khoa học liên quan của tác giả, nêu rõ các đóng góp kỹ thuật cốt lõi và vạch ra các định hướng hoàn thiện hệ thống trong tương lai.
Kết quả và đóng góp
Khóa luận đạt được các kết quả cụ thể:
- Thiết kế và triển khai thành công DApp CrossCert hoạt động đa chuỗi, chứng minh tính khả thi của việc liên kết dữ liệu giữa mạng Ethereum (Sepolia Testnet) và Avalanche (Fuji Testnet) mà không cần phụ thuộc vào cơ chế lưu trữ tập trung.
- Chuẩn hóa cấu trúc siêu dữ liệu văn bằng số dạng NFT dựa trên tiêu chuẩn ERC-721, bổ sung các trường thông tin học thuật chuyên biệt tương thích với chuẩn hiển thị của OpenSea và các nền tảng Web3.
- Xây dựng hoàn chỉnh chu trình xác thực bảo vệ quyền riêng tư bằng ZKP: Cho phép ứng viên chứng minh thỏa mãn điều kiện tuyển dụng (như ngưỡng GPA) trực tiếp trên hợp đồng thông minh
Verifier Contract mà không phải tiết lộ điểm số chính xác hoặc các thông tin cá nhân ngoài yêu cầu.
- Tự động hóa quy trình ghi nhận lịch sử kiểm tra minh bạch trên
History Contract và phản hồi thông tin kết quả tức thời đến nhà tuyển dụng qua thư điện tử.
Đóng góp kỹ thuật so với các nghiên cứu trước:
Khác với các nghiên cứu tiền nhiệm (Sci-B, Arul và cs., Saleh và cs.) chỉ vận hành trên một mạng chuỗi khối đơn lẻ hoặc công khai toàn bộ siêu dữ liệu chứng chỉ, CrossCert đã kết hợp đồng thời giải pháp liên chuỗi khối và công nghệ Zero-Knowledge Proof (Groth16). Mô hình này xử lý được bài toán "đảo cô lập dữ liệu" giữa các cơ sở giáo dục và doanh nghiệp, đồng thời loại bỏ nguy cơ rò rỉ dữ liệu cá nhân trong quy trình tuyển dụng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài được tác giả ghi nhận:
- Ngôn ngữ và bộ công cụ ZoKrates hiện chủ yếu hỗ trợ lập trình dựa trên các mạch số học cơ bản, còn thiếu các tính năng của ngôn ngữ lập trình bậc cao, gây khó khăn cho việc xây dựng các hàm logic phức tạp và tối ưu trải nghiệm lập trình.
- Quá trình thực nghiệm của hệ thống mới dừng lại ở quy mô thử nghiệm (Testnet) giữa hai mạng Sepolia và Avalanche Fuji, chưa triển khai diện rộng trên môi trường Mainnet.
- Kịch bản xác thực thực nghiệm mới tập trung vào tiêu chí điểm trung bình tích lũy GPA.
Hướng nghiên cứu tiếp:
- Mở rộng khả năng tương thích của CrossCert đến nhiều mạng Blockchain không đồng nhất khác nhau ngoài hệ sinh thái EVM.
- Phát triển thêm các mạch ZKP phức tạp nhằm hỗ trợ xác thực đa dạng các điều kiện tuyển dụng khác (như chứng chỉ ngoại ngữ, số lượng tín chỉ tích lũy, thời gian hoàn thành khóa học).
- Tối ưu hóa hiệu năng tính toán witness và tạo bằng chứng ZKP tại tầng client để giảm thiểu độ trễ cho người dùng.
Giá trị tham khảo
Tài liệu khóa luận cung cấp giá trị tham khảo thiết thực cho:
- Sinh viên, học viên và nghiên cứu viên thuộc các chuyên ngành Mạng máy tính, An toàn thông tin, Khoa học máy tính và Công nghệ thông tin có định hướng nghiên cứu về Blockchain Interoperability và Zero-Knowledge Proofs.
- Kỹ sư phần mềm Web3 đang tìm kiếm giải pháp kiến trúc thực tế để kết nối các hợp đồng thông minh liên chuỗi và tích hợp zk-SNARKs vào ứng dụng phi tập trung (DApp).
- Các nhà quản lý giáo dục và chuyên gia công nghệ nhân sự (HR Tech) quan tâm đến mô hình số hóa văn bằng chống làm giả và bảo đảm quyền riêng tư cho ứng viên.
- Phần đáng tham khảo nhất: Cấu trúc JSON Schema mở rộng cho ERC-721 Token Metadata (Chương 4), mã nguồn triển khai Smart Contract (
Student, History, Verifier) và quy trình 9 bước tích hợp zokrates.js với Next.js và ethers.js.
Câu hỏi thường gặp
1. Hệ thống CrossCert giải quyết bài toán "đảo dữ liệu cô lập" giữa các trường đại học bằng cách nào?
Hệ thống sử dụng mô hình DApp liên chuỗi kết nối các mạng Blockchain riêng biệt của cơ sở giáo dục (Sepolia Testnet) và nhà tuyển dụng (Avalanche Fuji Testnet). Thông qua RPC Provider (Alchemy, Infura) và các Smart Contract trung gian, CrossCert cho phép truy vấn định danh văn bằng từ chuỗi nguồn và chuyển giao bằng chứng xác thực sang chuỗi đích mà không bắt buộc hai bên phải dùng chung một mạng Blockchain.
2. Công nghệ Zero-Knowledge Proof bảo vệ dữ liệu điểm số (GPA) của sinh viên như thế nào trong quá trình xác thực?
CrossCert tích hợp thư viện ZoKrates triển khai thuật toán Groth16. Điểm GPA thực tế của sinh viên được xem là tham số bí mật (private input/witness), trong khi yêu cầu của nhà tuyển dụng là tham số công khai (public input). Hệ thống sinh ra một bằng chứng toán học ($\pi$) gửi lên Verifier Contract trên mạng Avalanche Fuji. Hợp đồng chỉ kiểm tra tính đúng sai của biểu thức số học mà không thể truy ngược lại điểm số GPA thực tế của sinh viên.
3. Làm thế nào để ngăn chặn trường hợp ứng viên lấy cắp Certificate ID của người khác để ứng tuyển?
Trong quy trình 9 bước, tại Bước 2 và Bước 3, hệ thống yêu cầu ứng viên liên kết ví điện tử và tự nhập Certificate ID. DApp sẽ gọi hàm getStudentCertID trên Student Contract để đối soát xem địa chỉ ví đang kết nối có đúng là chủ sở hữu hợp pháp của Certificate ID đó hay không. Nếu hai giá trị không trùng khớp, hệ thống lập tức từ chối và ngừng quy trình truy vấn.
4. Dữ liệu văn bằng NFT được lưu trữ ở đâu và gồm những thành phần nào?
Văn bằng được đúc dưới dạng token ERC-721 với Metadata lưu trữ phi tập trung trên mạng IPFS thông qua dịch vụ NFT Storage. Cấu trúc Metadata tuân thủ ERC721 metadata json schema mở rộng, bao gồm 4 nhóm thông tin chính: thông tin cá nhân học viên (information), ngành học (major), kết quả đào tạo (result gồm GPA, tín chỉ, danh sách môn học) và xếp loại tốt nghiệp (classification).
5. Smart Contract Verifier trên mạng Avalanche Fuji được tạo ra như thế nào?
Hợp đồng Verifier Contract không được lập trình thủ công hoàn toàn mà được sinh tự động thông qua bộ công cụ ZoKrates. Trình biên dịch của ZoKrates nhận mã nguồn mạch thử thách (Challenge) và khóa xác thực (Verification Key), sau đó tự động xuất ra một hợp đồng thông minh Solidity chuẩn chứa hàm verifyTx để kiểm tra tính hợp lệ của các điểm trên đường cong elip alt_bn128.
Kết luận
Khóa luận tốt nghiệp của tác giả Khưu Minh Phong đã nghiên cứu và phát triển thành công hệ thống CrossCert, ứng dụng công nghệ liên chuỗi khối (Cross-Chain) và Zero-Knowledge Proof (zk-SNARKs) nhằm giải quyết bài toán xác thực văn bằng giáo dục trong tuyển dụng. Công trình đã chuẩn hóa quy trình số hóa văn bằng dưới dạng NFT trên mạng Sepolia Ethereum và xác minh điều kiện tuyển dụng ẩn danh trên mạng Avalanche Fuji thông qua các Smart Contract chuyên biệt. Kết quả thực nghiệm khẳng định hệ thống vận hành ổn định, ngăn chặn hoàn toàn các bằng chứng giả mạo và giải quyết hài hòa mối quan hệ giữa tính minh bạch dữ liệu và bảo mật quyền riêng tư cá nhân.