Xây dựng hệ thống quản lý hồ sơ sinh viên trường đại học an giang bằng công nghệ blockchain hyperledger fabric phân hệ network và sdk

68 4 0
Xây dựng hệ thống quản lý hồ sơ sinh viên trường đại học an giang bằng công nghệ blockchain hyperledger fabric phân hệ network và sdk

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN KHỐ LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THƠNG TIN XÂY DỰNG HỆ THỐNG QUẢN LÝ HỒ SƠ SINH VIÊN TRƯỜNG ĐẠI HỌC AN GIANG BẰNG CÔNG NGHỆ BLOCKCHAIN HYPERLEDGER FABRIC - PHÂN HỆ NETWORK VÀ SDK PHAN NGỌC TUẤN AN GIANG, 05 – 2022 TRƯỜNG ĐẠI HỌC AN GIANG KHOA CƠNG NGHỆ THƠNG TIN KHỐ LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THÔNG TIN XÂY DỰNG HỆ THỐNG QUẢN LÝ HỒ SƠ SINH VIÊN TRƯỜNG ĐẠI HỌC AN GIANG BẰNG CÔNG NGHỆ BLOCKCHAIN HYPERLEDGER FABRIC - PHÂN HỆ NETWORK VÀ SDK PHAN NGỌC TUẤN MÃ SỐ SINH VIÊN: DTH185417 GIẢNG VIÊN HƯỚNG DẪN: TS NGUYỄN VĂN HÒA AN GIANG, 05 -2022 Khoá luận “XÂY DỰNG HỆ THỐNG QUẢN LÝ HỒ SƠ SINH VIÊN TRƯỜNG ĐẠI HỌC AN GIANG BẰNG CÔNG NGHỆ BLOCKCHAIN HYPERLEDGER FABRIC - PHÂN HỆ NETWORK VÀ SDK” sinh viên Phan Ngọc Tuấn thực hướng dẫn TS NGUYỄN VĂN HÒA Tác giả báo cáo kết nghiên cứu Hội đồng Khoa học Đào tạo thông qua ngày ……………………… Phản biện Phản biện (Ký ghi rõ chức danh, họ tên) (Ký ghi rõ chức danh, họ tên) Giảng viên hướng dẫn (Ký ghi rõ chức danh, họ tên) i LỜI CẢM ƠN Lời em xin gửi lời cảm ơn lòng biết ơn sâu sắc đến thầy giáo TS.Nguyễn Văn Hịa (Khoa Cơng nghệ thông tin – Trường Đại học An Giang), người giúp tơi chọn đề tài, định hình hướng nghiên cứu, tận tình hướng dẫn bảo em trình thực luận văn tốt nghiệp Tơi xin gửi lời tri ân sâu sắc đến thầy giáo ThS Nguyễn Hồng Tùng, người tận tình bảo, giúp đỡ em trình học tập giai đoạn đầu trình thực luận văn Em xin gửi lời cảm ơn thầy, cô giáo Trường Đại học An Giang Các thầy, cô giáo dạy bảo truyền đạt cho em nhiều kiến thức, giúp em có tảng kiến thức vững sau năm học tập Khoa công nghệ thông tin - trường Đại học An Giang Em xin chân thành cảm ơn! An Giang, ngày 17 tháng 05 năm 2022 Sinh viên thực ii TÓM TẮT Trong bối cảnh phát triển vũ bão cách mạng công nghệ 4.0 nay, Blockchain nhà nghiên cứu đánh giá công nghệ then chốt có tầm ảnh hưởng lớn đến nhiều lĩnh vực có lĩnh vực giáo dục việc truy cứu thơng tin xác lại vấn đề cần phát triển thêm Trước bối cảnh này, nhiều chủ trương, đường lối sách, pháp luật ban hành Việt Nam nhằm giúp cho chủ thể chủ động thích ứng với thay đổi mạnh mẽ giai đoạn Trong lĩnh vực kế tốn kiểm tốn, cơng nghệ Blockchain ứng dụng số nước giới song Việt Nam, cơng nghệ hồn tồn mẻ chưa có hành lang pháp lý làm sở cho việc áp dụng công nghệ Để bắt kịp với tiến thời đại, việc tìm hiểu cơng nghệ Blockchain, ứng dụng cần thiết Việc ứng dụng chuyển đổi số với cơng nghệ Blockchain mang lại tính minh bạch, tiện lợi, nhanh chóng cần tra cứu thơng tin mà khơng sợ thơng tin bị làm giả từ nâng cao tính rõ ràng, đầy đủ Cơng nghệ Blockchain triển vọng mang lại nhiều lợi ích nhiên ẩn chứa nhiều nguy Sau tìm hiểu cơng nghệ Blockchain ứng dụng công nghệ lĩnh vực đồng thời tiến hành khảo sát thực tế nhu cầu ứng dụng công nghệ hoạt động xác thực thông tin sinh viên Trên sở kết nghiên cứu, đưa số kiến nghị khả ứng dụng công nghệ Blockchain Việt Nam thời gian tới Tiếp theo, trình bày nội dung chi tiết qua phần vừa nhắc đến iii MỤC LỤC CHƯƠNG ĐẶT VẤN ĐỀ 1.1 Tính cấp thiết đề tài 1.2 Mục tiêu nghiên cứu đề tài 1.3 Tình hình Blockchain giáo dục ngồi nước CHƯƠNG TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 2.1 Đặt vấn đề 2.2 Đối tượng phạm vi nghiên cứu 2.2.1 Đối tượng nghiên cứu 2.2.2 Phạm vi nghiên cứu đề tài 2.3 Phương pháp nghiên cứu 2.4 Cơ sở lý thuyết 2.4.1 Giới thiệu Blockchain 2.4.2 Đặc điểm Blockchain 2.4.3 Cấu trúc công nghệ Blockchain 2.4.4 Tìm hiểu sổ phân tán 2.4.5 Lợi ích Blockchain mang lại 2.5 Tìm hiểu Hyperledger 2.6 Tìm hiểu cơng nghệ Hyperledger Fabric 13 2.6.1 Giới thiệu Hyperledger Fabric 13 2.6.2 Đặc điểm mạng Hyperledger Fabric 14 2.6.3 Kiến trúc mạng Hyperledger Fabric 15 2.6.4 Tìm hiểu số ứng dụng phát triển mạng Blockchain Hyperledger 21 CHƯƠNG NỘI DUNG KẾT QUẢ NGHIÊN CỨU 27 3.1 Mơ tả tốn 27 3.1 Mơ hình liệu đề xuất 27 3.1.2 Mô hình 27 iv 3.1.3 Dữ liệu đưa xuống Blockchain 28 3.2 API tương tác với chaincode 31 3.3 Cài đặt 36 3.3.1 Cài đặt thành phần cần thiết 36 3.3.2 Cài đặt Hyperledger Fabric 37 3.3.3 API giao diện trình bày 43 3.4 Tích hợp Hyperledger Explorer vào Hyperledger Fabric 52 3.4.1 Tìm hiểu Hyperledger Explorer 52 3.4.2 Cài đặt Hyperledger Explorer vào hệ thống Hyperledger Fabric 54 3.5 Kết luận đề tài 57 3.6 Hướng phát triển 58 Tài liệu tham khảo 59 v DANH SÁCH CÁC HÌNH ẢNH Hình Thuật tốn đồng thuận Hình Giới thiệu Hyperledger .9 Hình Thành phần Hyperledger 10 Hình Một số framework Hyperledger 11 Hình Hyperledger Sawtooth 11 Hình Hyperledger Iroha 11 Hình Hyperledger Indy 12 Hình Hyperledger Fabric 12 Hình Giới thiệu Hyperledger Fabric 13 Hình 10 Cấu trúc Hyperledger Fabric 15 Hình 11 Cấu trúc peer 16 Hình 12 Mối quan hệ Peer – Ledger - Chaincode 17 Hình 13 Mối liên hệ Peer - Channel 18 Hình 14 Mối liên hệ Peer - Org 18 Hình 15 Mối liên hệ Applications - Peer 19 Hình 16 Cấu trúc Ledger 20 Hình 17 Smart Contracts – chaincode example 20 Hình 18 Khái niệm docker 21 Hình 19 Sự tương tác Application – API - Client 25 Hình 20 Mơ hình Fabric 28 Hình 21 Cấu trúc liệu lưu khối Fabric 29 Hình 22 Sơ đồ tương tác API - chaincode 31 Hình 23 Cấu trúc API xây dựng 32 Hình 24 API – GET – Lấy tất liệu sinhvien 33 Hình 25 API – GET – Lấy thơng tin sinhvien theo mssv 34 Hình 26 API – POST – Thêm sinhvien vào khối 35 Hình 27 API – PUT – Thay đổi tên sinhvien 36 Hình 28 Tải SDK Fabric 38 vi Hình 29 Pull images docker 39 Hình 30 Di chuyển vào thư mục cài đặt 40 Hình 31 Tải node_modules 40 Hình 32 Thư mục node_modules 40 Hình 33 Xóa tất vùng chứa tránh trùng lặp 41 Hình 34 Khởi động, cài đặt mạng Fabric 42 Hình 35 Thơng tin chaincode 42 Hình 36 Tạo giấy chứng nhận (certificate) đăng ký Admin 43 Hình 37 Tổng quan file apiserver.js 44 Hình 38 API dành cho client sử dụng file apiserver.js 45 Hình 39 APIv2 file apiserver.js 45 Hình 40 Giao diện trình bày file apiserver.js 45 Hình 41 Kết API – GET – Lấy tất thông tin sinhvien 46 Hình 42 Kết API – POST – Thêm sinhvien 47 Hình 43 Kết APIv2 – POST – Thêm sinhvien 47 Hình 44 Kết API – GET – Truy vấn sinhvien với mssv 48 Hình 45 Kết APIv2 – GET – Truy vấn sinhvien với key 48 Hình 46 Kết API – PUT – Thay đổi thông tin theo trường vanbangchungchi 49 Hình 47 Kết APIv2 – PUT – Thay đổi thông tin theo trường vanbangchungchi 49 Hình 48 Giao diện trình bày 50 Hình 49 Tài liệu API truy vấn tất thông tin sinh viên 51 Hình 50 Tài liệu API khởi tạo sinh viên 52 Hình 51 Giao diện Hyperledger Explorer 55 Hình 52 Giao danh sách network Hyperledger Explorer 56 Hình 53 Giao diện danh khối Hyperledger Explorer 56 Hình 54 Giao diện thơng tin giao dịch Hyperledger Explorer 57 vii CHƯƠNG ĐẶT VẤN ĐỀ 1.1 Tính cấp thiết đề tài Do phát triển không ngừng xã hội, công nghiệp, nhu cầu để phát triển ngày nâng lên rõ rệt, hoàn thiện, nâng cao chất lượng cơng việc,… Việc có hệ thống thông tin minh bạch trở nên cấp thiết để tham khảo cách xác nhanh chóng Nắm bắt xu đó, doanh nghiệp khơng Việt Nam mà quốc tế bước nghiên cứu Blockchain áp dụng công nghệ vào giao dịch xác thực thông tin Ngày nay, đồng tiền điện tử trở nên phổ biến, thông dụng giới Một đồng tiền điện tử thành công không kể đến Bitcoin Với cấu trúc lưu trữ liệu thiết kế đặc biệt, giao dịch mạng Bitcoin xảy mà khơng cần bên thứ ba, cốt lõi công nghệ để xây dựng nên Bitcoin Blockchain, đề xuất vào năm 2008 triển khai vào năm 2009 Blockchain – Cơng nghệ chuỗi khối – xem sổ công khai, chống giả mạo tất giao dịch lưu trữ danh sách khối Chuỗi liên tục phát triển khối thêm vào Với hàm mật mã bất đối xứng chế đồng thuận phân tán làm cho Blockchain bảo mật, quán sổ truyền thống Với tính bảo mật cao, Blockchain sử dụng để lưu thông tin lưu trữ không liệu bảng điểm mà cịn q trình đào tạo, kinh nghiệm thực tế kinh nghiệm tuyển dụng người Tránh tình trạng ứng viên gian lận trình xin học bổng, thăng tiến, trình bày sai trình độ học vấn, kinh nghiệm làm việc, kỷ luật, v.v 1.2 Mục tiêu nghiên cứu đề tài Mục tiêu hướng tới xây dựng mạng hỗ trợ truy xuất thông tin sinh viên cách nhanh chóng xác, đáng tin cậy công nghệ Blockchain Hyperledger Fabric từ giúp giáo viên quản lý xác q trình học tập, giám sát trình học tập sinh viên quan trọng cầu nối học viên nhà tuyển dụng 1.3 Tình hình Blockchain giáo dục nước Ứng dụng Blockchain vào giáo dục mang lại nhiều tác động Thông tin lưu trữ chuỗi khối không liệu bảng điểm mà cịn q trình đào tạo, kinh nghiệm thực tế, lịch sử tuyển dụng cá nhân Hình 38 API dành cho client sử dụng file apiserver.js Hình 39 APIv2 file apiserver.js Một giao diện trình bày: Hình 40 Giao diện trình bày file apiserver.js Server chạy địa 192.168.40.134:7070  Sử dụng POSTMAN: Sử dụng postman để kiểm tra lệnh sau:  Truy vấn tất thông tin sinh viên Lấy tất student: http://192.168.40.134:7070/api/student/all 45 Hình 41 Kết API – GET – Lấy tất thông tin sinhvien  Khởi tạo sinh viên mới: Dữ liệu gửi: 46 http://192.168.40.134:7070/api/student/add Kết truy vấn: Hình 42 Kết API – POST – Thêm sinhvien http://192.168.40.134:7070/apiv2/student/add Kết truy vấn Hình 43 Kết APIv2 – POST – Thêm sinhvien  Truy vấn thông tin sinh viên vừa tạo http://192.168.40.134:7070/api/student/DTH185499 Kết truy vấn: 47 Hình 44 Kết API – GET – Truy vấn sinhvien với mssv http://192.168.40.134:7070/apiv2/student/ Kết truy vấn: Hình 45 Kết APIv2 – GET – Truy vấn sinhvien với key  Thay đổi thông tin sinh viên http://192.168.40.134:7070/api/student/change/ Thay đổi thông tin trường diemrenluyen cập nhật thêm học kỳ 48 Hình 46 Kết API – PUT – Thay đổi thông tin theo trường vanbangchungchi http://192.168.40.134:7070/apiv2/student/change/ Thay đổi thông tin trường diemrenluyen cập nhật thêm học kỳ với key Hình 47 Kết APIv2 – PUT – Thay đổi thông tin theo trường vanbangchungchi 49 3.3.3.2 Giao diện trình bày Truy cập vào http://192.168.40.134:7070/ xuất giao diện trình bày thơng tin API Hình 48 Giao diện trình bày 50 Giao diện trình bày tài liệu api/student/all Hình 49 Tài liệu API truy vấn tất thông tin sinh viên 51 Giao diện trình bày tài liệu api/student/add Hình 50 Tài liệu API khởi tạo sinh viên 3.4 Tích hợp Hyperledger Explorer vào Hyperledger Fabric 3.4.1 Tìm hiểu Hyperledger Explorer 52 Hyperledger Explorer mơ-đun tiện ích chuỗi khối mã nguồn mở cho phép người dùng tạo ứng dụng dựa web thân thiện với người dùng, người dùng xem, khởi tạo, tổ chức truy vấn tạo tác phát triển khác tạo thành phần thiếu mạng chuỗi khối Nó sử dụng đặc biệt cho việc triển khai chuỗi khối tạo Hyperledger Hyperledger Explorer cịn biết đến cơng cụ để trực quan hóa hoạt động chuỗi khối tảng Hyperledger Fabric phát triển DTCC, Intel, IBM Hyperledger Explorer thiết kế để tạo ứng dụng web thân thiện với người dùng xem, gọi, triển khai truy vấn bao gồm: - Khối - Giao dịch liệu liên quan - Thông tin mạng - Chaincodes - Gia đình giao dịch - Bất kỳ thơng tin liên quan khác lưu trữ sổ Hyperledger Explorer thiết kế với thành phần sau: - Một máy chủ web Node.js đề xuất khuôn khổ back-end để triển khai thành phần phía máy chủ Express Node.js phục vụ ứng dụng web - Giao diện người dùng web Với AngularJS, front-end framework thực Theo đề xuất, “các tính liên kết liệu thị Angular giúp ích nhiều việc phát triển thành phần tái sử dụng mã mơ-đun.” Bootstrap sử dụng “cho giao diện người dùng phong phú tính đáp ứng.” - Hyperledger Explorer trình duyệt mã nguồn mở để xem hoạt động tương tác với mạng Fabric Bạn khơng nhìn thấy cấu trúc cấp cao mạng mà cịn kiểm tra trạng thái giao dịch sâu vào đọc / ghi tạo đồng đẳng trình xác nhận giao dịch Sau bảng điều khiển Hyperledger Explorer, hiển thị cấu hình mạng Fabric (thành viên, kênh, chaincode, đồng nghiệp, v.v.), hoạt động diễn mạng (giao dịch, khối, v.v.) 53 3.4.2 Cài đặt Hyperledger Explorer vào hệ thống Hyperledger Fabric Hyperledger Explorer[6] chạy hệ thống docker-compose làm tảng Các bước setup sau: Tạo thư mục có tên Explorer để chứa liệu Hyperledger Explorer Sử dụng lệnh wget để tải tập tin cần thiết máy Khi tải tệp tin cần thiết Truy cập vào thư mục Explorer vừa tạo Truy cập tập tin docker-compose.yaml Tiến hành chỉnh sử phần volumes: Sau chỉnh sửa thành công tiến hành cập nhật tập tin firstnetwork.json path cho mục sau: - adminPrivateKey - signedCert - tlsCACerts 54 Sử dụng lệnh chạy tập tin /startExplorer.sh để chạy explorer Sau khởi chạy thành công truy cập vào link: http://192.168.40.134:8080/ giao diện sau: Giao diện Hyperledger Explorer Hình 51 Giao diện Hyperledger Explorer Giao danh sách network Hyperledger Explorer 55 Hình 52 Giao danh sách network Hyperledger Explorer Giao diện danh khối Hyperledger Explorer Hình 53 Giao diện danh khối Hyperledger Explorer Giao diện thơng tin giao dịch Hyperledger Explorer 56 Hình 54 Giao diện thông tin giao dịch Hyperledger Explorer 3.5 Kết luận đề tài Cuộc cách mạng công nghệ 4.0 với ứng dụng ngày nhiều công nghệ lĩnh vực thay đổi cách toàn diện nhiều lĩnh vực đặc biệt lĩnh vực giáo dục Với phát triển công nghệ 4.0, công nghệ Blockchain cho thấy tiềm to lớn mang đặc tính như: tính bất biến, tính minh bạch… Theo kết nhận được, công nghệ Blockchain việc ứng dụng vào lĩnh vực giáo dục giúp chuyển đổi công nghệ số trở nên minh bạch, an toàn, tiện lợi việc tra cứu thông tin Đề tài xây dựng nên mạng với công nghệ Blockchain hyperledger fabric dựa tảng lưu trữ cloudBD, để giải tốn truy xuất thơng tin minh bạch học sinh, sinh viên Về tảng lý thuyết: Hiểu khái niệm Blockchain, kiến trúc, mơ hình đồng thuận Và truy trình quản lý, truy xuất thông tin học sinh, sinh viên Về thực nghiệm: Đã xây dựng triển khai mạng thử nghiệm hệ thống gồm chức truy xuất thông tin sinh viên, thay đổi thông tin sinh viên, truy cập minh chứng độ tin cậy thơng tin từ giải toán “Xây dựng hệ thống quản lý hồ sơ sinh viên Trường Đại học An Giang công nghệ Blockchain Hyperledger Fabric - phân hệ Network SDK” 57 3.6 Hướng phát triển Qua kết nhận từ đề tài “xây dựng hệ thống hệ thống quản lý hồ sơ sinh viên Trường Đại học An Giang công nghệ Blockchain Hyperledger Fabric - phân hệ Network SDK” Giúp cải thiện trình xác thực, tăng tính xác thơng tin nhầm tiết kiệm thời gian, công sức… Trong phát triển đề tài nhận thấy đề tài phát triển tới như: - Xây dựng hệ thống xác thực thông tin điểm lưu trữ điểm số chi tiết qua học kỳ – năm học sử dụng công nghệ Blockchain Hyperledger Fabric - Xây dựng hệ thống lưu trữ trình học tập bao gồm minh chứng học tập, tập… sử dụng công nghệ Blockchain Hyperledger Fabric - Xây dựng hệ thống thông tin thi cử, điểm số, làm, khóa học sử dụng cơng nghệ Blockchain Hyperledger Fabric 58 Tài liệu tham khảo [1] A Baliga, N Solanki S Verekar 2018 Performance Characterization of Hyperledger Fabric [2] Elli androulaki 2018 Hyperledger fabric: a distributed operating system for permissioned Blockchains Nơi xuất bản: Association for Computing Machinery - New York, NY, United States [3] H Sukhwani, N Wang KS Trivedi 2018 Performance Modeling of Hyperledger Fabric [4] Hyperledger Fabric 2020 A Blockchain Platform for the Enterprise Website:https://hyperledger-fabric.readthedocs.io/en/release-2.2/index.html [5] JSDOC.3.6.3 2020 Hyperledger Fabric SDK for node.js Website: https://hyperledger.github.io/fabric-chaincode-node/release-2.0/api/tutorialusing-iterators.html [6] Hyperledger Explorer 2020 Get Started With Hyperledger Explorer Website: https://www.hyperledger.org/use/explorer [7] S Wang, Y Yuan, X Wang, J Li, R Qin and F -Y Wang 2018 "An Overview of Smart Contract: Architecture, Applications, and Future Trends," 2018 IEEE Intelligent Vehicles Symposium (IV) [8] V Aleksieva, H Valchanov and A Huliyan 2020 "Implementation of Smart-Contract, Based on Hyperledger Fabric Blockchain," 21st International Symposium on Electrical Apparatus & Technologies (SIELA) [9] Trịnh Văn Tân 2019 Giới thiệu Hyperledger Fabric Cấu trúc mạng Hyperledger Fabric Website: https://viblo.asia/p/bai-2-gioi-thieuhyperledger-fabric-cau-truc-cua-mot-mang-hyperledger-fabric-LzD5djE0ZjY [10] Tuyen Minh Truong, Nguyễn Hoàng Tùng, Le Hoang Anh, Van Hoa Nguyen 2019 Giải pháp quản lý tài sản ngăn chặn công nghệ blockchain Nghiên cứu ứng dụng công nghệ thông tin 59

Ngày đăng: 07/06/2023, 22:04