Bối cảnh và vấn đề nghiên cứu
Đồ án tốt nghiệp đại học với đề tài "Ứng dụng Blockchain trong kiểm tra chứng chỉ" được thực hiện bởi sinh viên Nguyễn Văn Hải (lớp CNTT-TT 2.03 K57, Viện Công nghệ Thông tin và Truyền thông, Trường Đại học Bách Khoa Hà Nội) dưới sự hướng dẫn của ThS. Lê Đức Trung, hoàn thành vào tháng 12/2018.
Lý do chọn đề tài và bối cảnh thực tiễn
Trong bối cảnh bùng nổ công nghệ thông tin thuộc cuộc Cách mạng công nghiệp 4.0, các cơ sở đào tạo giáo dục và dạy nghề xuất hiện ngày càng nhiều nhưng chất lượng đầu ra chưa đồng đều. Cùng với đó, tình trạng làm giả chứng chỉ, văn bằng đào tạo và các hành vi gian lận thi cử diễn ra ngày càng tinh vi và phức tạp. Tác giả dẫn chứng các vụ việc gian lận thi cử cụ thể trong kỳ thi Tốt nghiệp Trung học Phổ thông tại các tỉnh Hà Giang, Sơn La và Hòa Bình làm suy giảm niềm tin xã hội và gây khó khăn trực tiếp cho các nhà tuyển dụng trong việc thẩm định năng lực ứng viên.
Về mặt kỹ thuật, các hệ thống quản lý văn bằng, chứng chỉ truyền thống sử dụng mô hình lưu trữ cơ sở dữ liệu tập trung. Mô hình này bộc lộ lỗ hổng an toàn thông tin lớn: nếu một đối tượng có được quyền truy cập quản trị hệ thống cơ sở dữ liệu, họ hoàn toàn có thể tự ý chỉnh sửa, chèn mới hoặc xóa bỏ dữ liệu nhằm mục đích vụ lợi mà hệ thống không thể tự phát hiện hoặc truy vết.
Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu tổng quát của đồ án là xây dựng một hệ thống trợ giúp quản lý và phát hành chứng chỉ đào tạo ứng dụng công nghệ chuỗi khối (Blockchain) nhằm loại bỏ nguy cơ can thiệp trái phép vào dữ liệu. Hệ thống tập trung giải quyết ba bài toán nghiệp vụ cốt lõi:
- Xác định chính xác chủ thể cập nhật thông tin chứng chỉ (Ai là người cập nhật?).
- Ghi nhận chi tiết nội dung dữ liệu bị thay đổi (Nội dung cập nhật gồm những gì?).
- Xác thực mốc thời gian diễn ra thao tác chỉnh sửa (Thời gian cập nhật là khi nào?).
Hệ thống hướng đến các chức năng cơ bản gồm:
- Ngăn chặn triệt để hành vi làm giả và sửa đổi văn bằng, chứng chỉ.
- Lưu trữ và truy xuất toàn bộ lịch sử cập nhật của chứng chỉ theo trình tự thời gian.
- Cung cấp giao diện tra cứu công khai cho người dùng và nhà tuyển dụng thông qua mã chứng chỉ.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Quy trình quản lý, cấp phát, xác thực chứng chỉ đào tạo; cấu trúc dữ liệu chuỗi khối (Blockchain), hàm băm mật mã và hợp đồng thông minh (Smart Contract).
- Phạm vi không gian: Hệ thống phần mềm phân tán gồm ứng dụng web tương tác người dùng, máy chủ điều phối và mạng lưới chuỗi khối Ethereum. Toàn bộ mã nguồn hệ thống được công bố mở trên nền tảng GitHub.
- Phạm vi thời gian: Dữ liệu và các giải pháp kỹ thuật được tác giả khảo sát, phát triển và nghiệm thu tính đến tháng 12 năm 2018.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình công nghệ
Tác giả dựa trên các nền tảng lý thuyết và công nghệ chuyên ngành kỹ thuật phần mềm và mạng ngang hàng:
- Công nghệ Blockchain: Được định nghĩa là sổ cái kỹ thuật số phân tán vận hành trên mạng ngang hàng (P2P). Dữ liệu được đóng gói thành các khối (Block), liên kết với nhau bằng chuỗi mã băm (Chain). Mỗi khối chứa mã băm đại diện của chính nó và mã băm của khối đứng trước. Thuật toán băm bảo mật SHA-256 (Secure Hash Algorithm) được sử dụng để tạo chuỗi băm 256-bit (32 byte) mang tính duy nhất, đóng vai trò như "dấu vân tay số" của khối. Khối khởi tạo đầu tiên trong chuỗi được xác định là Genesis block.
- Hợp đồng thông minh (Smart Contract): Hoạt động theo cơ chế logic thuật toán định sẵn dạng IFTTT (if-this-then-that), tự động thực thi các điều khoản khi đáp ứng đủ điều kiện mà không cần bên thứ ba can thiệp. Nền tảng thực thi được lựa chọn là mạng lưới chuỗi khối Ethereum.
- Tiến trình phát triển Blockchain: Đồ án phân loại công nghệ chuỗi khối thành ba thế hệ:
- Blockchain 1.0: Ứng dụng tiền tệ số và giao dịch tài sản (tiêu biểu là Bitcoin).
- Blockchain 2.0: Mở rộng sang hợp đồng thông minh, xử lý các phán quyết và điều kiện tự động mà không cần trung gian (tiêu biểu là Ethereum).
- Blockchain 3.0: Phát triển các ứng dụng phi tập trung (DApps) phục vụ đa ngành nghề.
- Mô hình kiến trúc phần mềm MVC: Áp dụng phân tách ba tầng Model (dữ liệu và nghiệp vụ logic), View (giao diện người dùng) và Controller (trung gian điều phối phản hồi).
- Nền tảng giao diện AngularJS: Dự án nguồn mở do Misko Hevery khởi xướng năm 2009, phiên bản 1.0 phát hành năm 2012 do Google bảo trợ. Nền tảng cung cấp kiến trúc ứng dụng trang đơn (SPA), cơ chế liên kết dữ liệu hai chiều (two-way data-binding), các chỉ dẫn (
ng-app, ng-model, ng-bind), bộ tiêm phụ thuộc (Dependency Injection) và cơ chế định tuyến (Routing).
- Nền tảng máy chủ NodeJS: Môi trường thực thi Javascript phía máy chủ xây dựng trên nền tảng V8 Javascript Engine của Google Chrome, do Ryan Dahl phát triển từ năm 2009. Nền tảng hoạt động theo mô hình luồng đơn (single thread), cơ chế hướng sự kiện bất đồng bộ và không khóa (Event Driven, non-blocking I/O), tối ưu hóa việc tạo lập các giao diện lập trình ứng dụng RESTful JSON API.
Phương pháp nghiên cứu
- Phương pháp phân tích và thiết kế hệ thống hướng đối tượng (OOAD): Sử dụng ngôn ngữ mô hình hóa UML để xây dựng biểu đồ use case tổng quan, biểu đồ use case phân rã chức năng, biểu đồ luồng hoạt động (Activity diagram), biểu đồ gói (Package diagram) và biểu đồ lớp (Class diagram).
- Phương pháp phân tích yêu cầu nghiệp vụ: Xác định chi tiết các luồng sự kiện chính, điều kiện tiên quyết và ngoại lệ cho từng tác nhân trong hệ thống.
- Phương pháp thực nghiệm phát triển phần mềm: Lập trình hiện thực hóa các phân hệ Web client, Web admin, Server và Smart Contract; kiểm thử chức năng trên các kịch bản thực tế.
Nguồn dữ liệu
- Dữ liệu nghiệp vụ giáo dục đào tạo: Cấu trúc quản trị tài khoản, phân quyền chức vụ, danh sách sinh viên, danh sách lớp học, danh mục chứng chỉ và hồ sơ chứng chỉ.
- Dữ liệu ghi nhận giao dịch: Thông tin định danh khối, dấu thời gian (timestamp), mã băm dữ liệu và địa chỉ định danh tài khoản cập nhật trên chuỗi khối Ethereum.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo mô hình phân tầng, kết hợp cơ sở dữ liệu quan hệ cho các tác vụ quản trị thông thường và nền tảng Blockchain Ethereum cho việc bảo toàn dữ liệu chứng chỉ.
Kiến trúc phân tầng và thiết kế gói (Package)
Kiến trúc phần mềm được phân rã thành bốn tầng chức năng độc lập:
- Gói User Interface: Chịu trách nhiệm hiển thị màn hình làm việc cho người dùng và quản trị viên, thu nhận tương tác và kiểm tra dữ liệu sơ bộ.
- Gói Presentation Logic: Xử lý các logic điều hướng giao diện, liên kết dữ liệu giữa tầng hiển thị và tầng dịch vụ.
- Gói Application Facade: Đóng vai trò lớp vỏ bọc giao tiếp hệ thống, cung cấp các điểm cuối API cho phía client và chuyển tiếp yêu cầu xử lý logic.
- Gói Data Access: Thực hiện các truy vấn cơ sở dữ liệu quan hệ và kích hoạt các giao dịch tương tác với hợp đồng thông minh trên mạng lưới Ethereum.
Phân quyền các tác nhân hệ thống
Hệ thống xác định bốn tác nhân (Actors) tham gia tương tác, được phân quyền cụ thể theo bảng dưới đây:
| Tác nhân |
Quyền hạn đối với Tài khoản / Phân quyền |
Quyền hạn đối với Sinh viên / Lớp học |
Quyền hạn đối với Chứng chỉ |
| Quản trị hệ thống |
Toàn quyền: thêm, sửa, xóa tài khoản; cấp, thu hồi, chỉnh sửa quyền |
Toàn quyền: thêm, sửa, xóa sinh viên, lớp học; thêm/xóa sinh viên vào lớp |
Toàn quyền: thêm danh mục, thêm chứng chỉ, cập nhật trạng thái phát hành |
| Người phát hành |
Xem và cập nhật thông tin tài khoản cá nhân; phát hành chứng chỉ |
Xem thông tin chi tiết sinh viên, giảng viên và lớp học |
Phát hành chứng chỉ, xem danh mục, cập nhật trạng thái phát hành, xem lịch sử |
| Giảng viên |
Xem và cập nhật thông tin tài khoản cá nhân |
Xem thông tin chi tiết sinh viên, giảng viên và lớp học |
Xem danh mục chứng chỉ, thông tin chứng chỉ và lịch sử cập nhật |
| Sinh viên |
Không có quyền quản trị |
Tra cứu thông tin cá nhân |
Tra cứu chi tiết thông tin chứng chỉ và lịch sử cập nhật qua mã chứng chỉ |
Thiết kế dữ liệu và các lớp đối tượng
- Các lớp mô hình nghiệp vụ chính:
AccountModel: Quản lý thông tin tài khoản, tên đăng nhập, mật khẩu và định danh phân quyền.
CetificateCategoryModel: Quản lý các danh mục chứng chỉ đào tạo.
CetificateListModel: Quản lý danh sách chi tiết các chứng chỉ phát hành.
ClassroomModel: Quản lý thông tin mã lớp, tên lớp và thời gian đào tạo.
StudentModel: Quản lý hồ sơ cá nhân sinh viên (họ tên, ngày sinh, mã định danh).
- Hệ thống cơ sở dữ liệu quan hệ (10 bảng dữ liệu):
account: Lưu trữ thông tin tài khoản người dùng.
position: Danh mục chức vụ trong hệ thống.
account_position: Bảng liên kết trung gian giữa tài khoản và chức vụ.
classroom: Lưu trữ thông tin các lớp học.
student: Lưu trữ danh sách học viên/sinh viên.
student_classroom: Bảng liên kết sinh viên với các lớp học.
cetificate_list: Lưu trữ danh sách chứng chỉ phát hành.
cetificate_category: Lưu trữ phân loại danh mục chứng chỉ.
classroom_management: Quản lý thông tin phân công lớp học.
support: Bảng hỗ trợ lưu trữ thông tin kỹ thuật và cấu hình bổ trợ.
- Cấu trúc dữ liệu chứng chỉ trên Blockchain (
Certificate):
Lưu trữ định danh chứng chỉ, mã sinh viên, loại chứng chỉ, mã băm nội dung, địa chỉ ví thực hiện phát hành/chỉnh sửa, trạng thái hợp lệ và mốc thời gian giao dịch được xác thực vào khối.
Nội dung chính theo từng chương
Chương 1: Giới thiệu đề tài
Chương 1 thiết lập cơ sở khoa học và bối cảnh thực tiễn của đề tài. Tác giả chỉ ra các yếu điểm cố hữu của cơ chế quản lý dữ liệu tập trung truyền thống trước thực trạng làm giả văn bằng chứng chỉ tinh vi. Tác giả đặt ra yêu cầu phải có một giải pháp công nghệ đảm bảo tính minh bạch, bất biến và truy vết được trách nhiệm. Từ đó, đồ án xác định hướng tiếp cận ứng dụng công nghệ chuỗi khối kết hợp hợp đồng thông minh trên nền tảng Ethereum để giải quyết ba câu hỏi về chủ thể, nội dung và thời gian cập nhật. Chương này cũng phác thảo cấu trúc tổng thể của bản báo cáo đồ án qua 6 chương.
Chương 2: Khảo sát và Phân tích yêu cầu
Chương 2 tập trung phân tích hiện trạng và mô hình hóa các yêu cầu hệ thống:
- Khảo sát các vụ việc gian lận thi cử tại Hà Giang, Sơn La, Hòa Bình để làm rõ tính cấp bách của việc xác thực bằng cấp cho nhà tuyển dụng.
- Xây dựng biểu đồ use case tổng thể và biểu đồ use case phân rã cho 5 nhóm chức năng: quản lý tài khoản, phân quyền, quản lý sinh viên, quản lý lớp học và quản lý chứng chỉ.
- Đặc tả chi tiết 2 quy trình nghiệp vụ trọng tâm thông qua biểu đồ luồng hoạt động: quy trình phân quyền tài khoản (xác thực quyền người dùng qua server trước khi cập nhật quyền mới) và quy trình phát hành chứng chỉ (người có thẩm quyền gửi thông tin chứng chỉ lên server để ghi nhận trực tiếp vào Blockchain).
- Thiết lập bảng đặc tả use case từ Bảng 1 đến Bảng 5, quy định rõ điều kiện tiên quyết, chuỗi sự kiện và xử lý ngoại lệ (như lỗi kết nối máy chủ, lỗi không đồng bộ hiển thị).
- Xác định 3 yêu cầu phi chức năng:
- Hiệu năng: Đảm bảo độ trễ phản hồi máy chủ trong giới hạn cho phép; tìm giải pháp giảm thiểu thời gian xác thực khối trong mạng chuỗi khối.
- Tính tin cậy: Đảm bảo tính toàn vẹn của dữ liệu vết cập nhật nhằm phát hiện gian lận.
- Tính mở rộng: Khả năng phát triển hệ thống để tích hợp quản lý điểm thi, học bạ điện tử trong giáo dục và ứng dụng sang các lĩnh vực y tế, logistics, ngân hàng.
Chương 3: Công nghệ sử dụng
Chương 3 trình bày cơ sở lý thuyết về các công nghệ được lựa chọn:
- Phân tích công nghệ Blockchain: Khái quát cơ chế mạng ngang hàng, cấu tạo khối, chuỗi liên kết sử dụng thuật toán băm SHA-256 và vai trò của các nút mạng đầy đủ (Full Nodes) cùng cơ chế đào khối. Phân loại ba thế hệ Blockchain (1.0, 2.0, 3.0). Đánh giá ưu điểm (tính không thể đảo ngược, tính bền vững kháng tấn công DDoS, tính sẵn sàng cao, sức mạnh cộng đồng) và nhược điểm kỹ thuật (thiếu tính riêng tư do dữ liệu công khai, tiêu tốn băng thông và năng lượng, tốc độ xử lý giao dịch phụ thuộc thuật toán Proof of Work).
- Khảo sát phạm vi ứng dụng Blockchain: Minh họa tiềm năng ứng dụng trong sản xuất (truy xuất nguồn gốc sản phẩm sữa), y tế (chia sẻ bệnh án điện tử liên viện), giáo dục (thẩm định bằng cấp), tài chính (giảm chi phí thanh toán bù trừ liên ngân hàng) và thương mại điện tử (thanh toán tự động qua hợp đồng thông minh).
- Nền tảng giao diện AngularJS: Phân tích các thành phần kiến trúc cơ bản, cơ chế two-way data-binding, module, controller, scope, service, directives, filters; chỉ ra ưu điểm xây dựng Single Page Application và hạn chế về mặt bảo mật client-side của Javascript.
- Nền tảng máy chủ NodeJS: Phân tích cơ chế hướng sự kiện bất đồng bộ, kiến trúc non-blocking I/O, ưu điểm xử lý đa yêu cầu đồng thời với mô hình đơn luồng hiệu năng cao và hạn chế khi xử lý các tác vụ tiêu tốn nhiều tài nguyên CPU.
Chương 4: Phát triển và triển khai ứng dụng
Chương 4 mô tả chi tiết quá trình thiết kế kỹ thuật và hiện thực hóa phần mềm:
- Trình bày lựa chọn kiến trúc phần mềm ba tầng MVC và phân rã các gói thành phần (User Interface, Presentation Logic, Application Facade, Data Access). Trong phần lập luận lựa chọn kiến trúc, văn bản xuất hiện đoạn trích dẫn so sánh với chuẩn kiến trúc Architecture Components của Google năm 2017 trên hệ điều hành Android và đề cập đến ứng dụng từ điển cá nhân (dấu hiệu của việc kế thừa/sao chép tài liệu tham khảo kỹ thuật).
- Thiết kế chi tiết các lớp đối tượng nghiệp vụ (
AccountModel, CetificateCategoryModel, CetificateListModel, ClassroomModel, StudentModel) với đầy đủ thuộc tính và phương thức từ Bảng 8 đến Bảng 12.
- Xây dựng sơ đồ thực thể liên kết (ERD) và đặc tả chi tiết 10 bảng cơ sở dữ liệu quan hệ (từ Bảng 13 đến Bảng 22) kết hợp cấu trúc dữ liệu
Certificate (Bảng 23).
- Tổng hợp danh mục thư viện, công cụ phát triển (Bảng 25) và thiết lập môi trường triển khai ứng dụng (Bảng 26, Bảng 28).
- Xây dựng các ca kiểm thử chức năng (Bảng 27) nhằm rà soát hoạt động của hệ thống trước khi đưa vào vận hành.
Chương 5: Các giải pháp và đóng góp nổi bật
Chương 5 tổng kết các kết quả hiện thực hóa cụ thể của bốn thành phần cốt lõi:
- Phát triển Web Client: Xây dựng giao diện công khai cho phép người dùng tra cứu trạng thái chứng chỉ và theo dõi toàn bộ dòng thời gian lịch sử chỉnh sửa chứng chỉ theo mã định danh.
- Phát triển Web Admin: Xây dựng bảng điều khiển quản trị cho phép thực hiện cấu hình tài khoản, phân quyền chức vụ, quản lý hồ sơ sinh viên, quản lý lớp học và danh mục chứng chỉ đào tạo.
- Phát triển Server trung gian: Thiết lập hệ thống cung cấp danh mục API hoàn chỉnh (Hình 37), xử lý logic xác thực người dùng, định tuyến dữ liệu giữa cơ sở dữ liệu quan hệ và mạng lưới chuỗi khối.
- Phát triển Hợp đồng thông minh: Hiện thực hóa thuật toán tự động hóa ghi nhận lịch sử giao dịch lên chuỗi khối Ethereum, đảm bảo việc ghi nhận diễn ra tự động, không thể đảo ngược hoặc tẩy xóa khi dữ liệu đã được đưa vào khối.
Chương 6: Kết luận và hướng phát triển
Chương 6 tổng kết toàn bộ kết quả nghiên cứu và chế tạo của đồ án tốt nghiệp, chỉ ra các bài học kinh nghiệm trong quá trình giải quyết bài toán chống gian lận chứng chỉ và đề xuất các định hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả kỹ thuật chính
Đồ án đã hiện thực hóa thành công một hệ thống phần mềm hoàn chỉnh gồm 4 phân hệ chức năng kết nối chặt chẽ với nhau:
- Phân hệ Web Client: Cho phép tra cứu trực tuyến thông tin chứng chỉ và hiển thị minh bạch lịch sử cập nhật mà không yêu cầu tài khoản đăng nhập phức tạp.
- Phân hệ Web Admin: Đảm bảo đầy đủ các chức năng quản trị trường học: phân quyền người dùng, quản lý tài khoản, quản lý sinh viên, quản lý lớp học và quản lý trạng thái phát hành chứng chỉ.
- Phân hệ Server điều phối: Vận hành trên NodeJS, cung cấp bộ API RESTful kết nối thông suốt giữa giao diện web, cơ sở dữ liệu 10 bảng và mạng Blockchain.
- Phân hệ Hợp đồng thông minh (Smart Contract): Vận hành trên Ethereum, tự động ghi nhận nhật ký cập nhật lên sổ cái phân tán.
Giải pháp và đóng góp của đề tài
- Giải quyết triệt để 3 câu hỏi nghiệp vụ: Ứng dụng hợp đồng thông minh trên Blockchain giúp xác định chính xác người thực hiện thao tác cập nhật, nội dung chỉnh sửa cụ thể và thời điểm diễn ra thao tác, khắc phục hoàn toàn nguy cơ sửa trộm dữ liệu trên cơ sở dữ liệu tập trung.
- Đóng góp mã nguồn mở: Toàn bộ mã nguồn của hệ thống được tác giả công khai trên nền tảng GitHub, tạo điều kiện cho cộng đồng sinh viên, nhà phát triển tiếp cận, thử nghiệm và tiếp tục bổ sung các tính năng mới.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được xác định từ văn bản
- Độ trễ và hiệu năng xử lý: Do sử dụng mô hình kết nối Client-Server kết hợp cơ chế xác thực khối của mạng chuỗi khối (thuật toán Proof of Work), hệ thống chịu độ trễ nhất định trong việc chờ mạng lưới đào và xác nhận giao dịch ghi khối.
- Tính riêng tư của dữ liệu: Tác giả thừa nhận nhược điểm cố hữu của mạng Blockchain là tính minh bạch công khai, mọi giao dịch đều có thể bị truy vết bởi các thành viên mạng, đòi hỏi các giải pháp bảo vệ dữ liệu cá nhân nhạy cảm.
- Bảo mật phía Client: Nền tảng AngularJS chạy trên trình duyệt người dùng bằng Javascript tiềm ẩn các nguy cơ bảo mật, phụ thuộc lớn vào cơ chế kiểm soát và xác thực dữ liệu từ phía máy chủ.
- Tính nhất quán trong tài liệu: Bản báo cáo còn tồn tại sai sót trong khâu biên tập, cụ thể là đoạn văn sao chép ngoài ngữ cảnh ở Chương 4 khi giải thích lý do lựa chọn mô hình MVC lại viện dẫn ứng dụng từ điển cá nhân trên hệ điều hành Android.
Hướng nghiên cứu và phát triển tiếp
- Hoàn thiện và nâng cấp các tính năng quản trị hệ thống nhằm tối ưu hóa mức độ hoàn thiện ứng dụng.
- Tích hợp và mở rộng phạm vi giải pháp sang bài toán chống gian lận điểm thi và số hóa học bạ điện tử trong ngành giáo dục.
- Nghiên cứu khả năng chuyển giao và ứng dụng mô hình chuỗi khối sang các lĩnh vực thực tiễn khác như hồ sơ bệnh án điện tử (Y tế), truy xuất nguồn gốc hàng hóa (Xuất nhập khẩu/Sản xuất) và giao dịch liên ngân hàng (Tài chính).
Giá trị tham khảo
Đối tượng tham khảo phù hợp
- Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Mạng máy tính: Là tài liệu tham khảo trực tiếp cho các đồ án tốt nghiệp, tiểu luận chuyên ngành về đề tài ứng dụng Blockchain, hợp đồng thông minh và xây dựng ứng dụng web phân tán.
- Lập trình viên và nhà phát triển ứng dụng: Cung cấp mô hình tích hợp thực tế giữa nền tảng web truyền thống (AngularJS, NodeJS, hệ quản trị cơ sở dữ liệu quan hệ) với mạng chuỗi khối Ethereum thông qua Smart Contract.
- Cán bộ quản lý giáo dục và nhà tuyển dụng: Cung cấp góc nhìn kỹ thuật rõ ràng về phương thức truy vết và xác minh tính xác thực của văn bằng, chứng chỉ đào tạo nhằm phục vụ công tác tuyển sinh, tuyển dụng.
Các phần nội dung có giá trị tham khảo cao
- Bản phân tích yêu cầu, hệ thống biểu đồ use case và đặc tả nghiệp vụ chi tiết cho bài toán quản lý và phát hành chứng chỉ đào tạo (Chương 2).
- Thiết kế chi tiết kiến trúc cơ sở dữ liệu gồm 10 bảng quan hệ kết hợp cấu trúc dữ liệu đối tượng
Certificate lưu trữ trên chuỗi khối (Chương 4).
- Bộ danh mục các điểm cuối API và mô hình tương tác giữa máy chủ trung gian với hợp đồng thông minh (Chương 4 và Chương 5).
Câu hỏi thường gặp
1. Đề tài giải quyết ba câu hỏi nghiệp vụ cốt lõi nào trong bài toán chống làm giả chứng chỉ?
Đề tài tập trung giải quyết triệt để 3 câu hỏi mà các hệ thống cơ sở dữ liệu tập trung truyền thống không thể đáp ứng khi bị xâm nhập:
- Ai là người cập nhật dữ liệu của chứng chỉ?
- Nội dung cập nhật gồm những thông tin gì?
- Thời gian cập nhật diễn ra khi nào?
2. Các tác nhân tham gia hệ thống gồm những ai và quyền phát hành chứng chỉ thuộc về ai?
Hệ thống xác định 4 tác nhân: Quản trị hệ thống, Người phát hành, Giảng viên và Sinh viên. Trong đó, quyền phát hành chứng chỉ thuộc về Người phát hành (người được Quản trị hệ thống phân quyền cấp phép phát hành) và Quản trị hệ thống. Giảng viên và Sinh viên không có quyền phát hành hay chỉnh sửa chứng chỉ mà chỉ có quyền xem chi tiết thông tin và lịch sử cập nhật.
3. Công nghệ nào được tác giả lựa chọn để xây dựng các phân hệ phần mềm?
- Giao diện người dùng (Web Client, Web Admin): Framework AngularJS (phiên bản 1.x).
- Máy chủ xử lý trung gian (Server): Nền tảng NodeJS xây dựng trên V8 Javascript Engine, cung cấp RESTful JSON API.
- Phân hệ chuỗi khối: Nền tảng Ethereum thực thi các hợp đồng thông minh (Smart Contracts) với thuật toán băm SHA-256.
- Cơ sở dữ liệu: Hệ thống cơ sở dữ liệu quan hệ gồm 10 bảng kết hợp cấu trúc dữ liệu đối tượng
Certificate trên Blockchain.
4. Hợp đồng thông minh (Smart Contract) trong đồ án hoạt động theo nguyên lý nào?
Hợp đồng thông minh trong đồ án là đoạn mã thuật toán tự động hóa tuân theo logic IFTTT (if-this-then-that), được lưu trữ và thực thi trực tiếp trên mạng chuỗi khối Ethereum. Khi các điều kiện được đáp ứng, hợp đồng tự động ghi lại lịch sử cập nhật chứng chỉ lên các khối mà không cần sự can thiệp của bên thứ ba, đảm bảo dữ liệu một khi đã ghi vào khối thì không ai có quyền chỉnh sửa hay xóa bỏ.
5. Nhược điểm kỹ thuật của công nghệ Blockchain mà tác giả chỉ ra trong đồ án là gì?
Tác giả nêu rõ 3 nhược điểm chính:
- Thiếu tính riêng tư: Do tính chất phi tập trung và minh bạch, mọi giao dịch trên mạng lưới đều có thể bị truy vết công khai bởi các thành viên.
- Tiêu tốn tài nguyên hệ thống: Các nút mạng liên tục giao tiếp để nhận, xác thực và công bố kết quả giao dịch, gây tốn băng thông đường truyền.
- Tốc độ xử lý giao dịch hạn chế: Phụ thuộc vào thuật toán đồng thuận Proof of Work, đòi hỏi tài nguyên tính toán giải bài toán mật mã trước khi một khối mới được bổ sung vào chuỗi.
Kết luận
Đồ án tốt nghiệp "Ứng dụng Blockchain trong kiểm tra chứng chỉ" của tác giả Nguyễn Văn Hải đã giải quyết được vấn đề sửa đổi dữ liệu trái phép trong các hệ thống quản lý văn bằng tập trung bằng cách tích hợp hợp đồng thông minh trên nền tảng Ethereum. Tác giả đã thiết kế và xây dựng thành công một hệ thống phần mềm hoàn chỉnh gồm 4 thành phần: Web client tra cứu công khai, Web admin quản trị, Server trung gian NodeJS và Smart Contract ghi nhận lịch sử bất biến. Mặc dù còn một số hạn chế về hiệu năng giao dịch chuỗi khối và tính nhất quán trong văn bản báo cáo, việc công bố toàn bộ mã nguồn mở trên GitHub giúp đồ án trở thành tài liệu tham khảo thực tiễn có giá trị cho sinh viên và các kỹ sư phát triển phần mềm theo định hướng ứng dụng công nghệ chuỗi khối vào chuyển đổi số giáo dục.