Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
1,03 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Nghiên cứu blockchain ứng dụng vào quản lý điểm đại học Giảng viên hướng dẫn : Nguyễn Tấn Toàn Thực tập sinh : Phạm Huy Phát MSSV : 15520604 TP Hồ Chí Minh, 06 tháng năm 2021 Giới thiệu, mô tả vấn đề: Từ trước đến ln có lo ngại tính minh bạch hệ thống chấm điểm tại, đặc biệt hệ thống cho kỳ thi lớn kỳ thi tuyển sinh đại học Điểm số chỉnh sửa để phục vụ lợi ích nhóm nhỏ, loại bỏ tính cơng thi Với trợ giúp cơng nghệ blockchain, chúng tơi thiết kế hệ thống thực thi quy tắc vào mã phơi bày hoạt động để kiểm tra nhằm phát ngăn chặn ý định gian lận kết Các cơng trình nghiên cứu, dự án liên quan: ERC-721 [1] bắt đầu thảo EIP viết Dieter Shirley lần xuất dự án Crypto Kitties Axiom Zen ERC-721 tiêu chuẩn mở, miễn phí mô tả cách xây dựng đồng token thay chuỗi khối Ethereum Trong hầu hết đồng token thay thế, hoán đổi giá trị cho nhau, đồng token theo chuẩn ERC-721 Ngày nay, loại token sử dụng để tạo tài sản có tính sưu tầm ảo tranh, nhạc, vật phẩm trò chơi điện tử OpenZeppelin [2] tổ chức tinh chỉnh nhiều mô-đun phát triển blockchain Công việc họ đưa tiêu chuẩn cho dApp (ứng dụng phi tập trung) an toàn, mạnh mẽ mở rộng Trong báo này, thiết kế khuyến nghị đặc điểm kỹ thuật Kiểm soát truy cập [4] mẫu ERC-721 [5] tuân thủ nghiêm ngặt EIP-1102 [3] đảm bảo ứng dụng yêu cầu đồng ý người dùng để kết nối với ứng dụng Trước đề xuất này, ứng dụng thường ngầm kết nối logic chúng với ví người dùng Trường đại học Holberton năm 2016 thử nghiệm mơ hình lưu trữ điểm thi phát hành chứng sinh viên tảng blockchain sơ khai - mạng lưới Bitcoin.[9] Trình bày giải pháp: 3.1 Ý tưởng khái quát: Ý tưởng làm cho kết điểm số khơng thể bị chỉnh sửa sau khoảng thời gian ban đầu để ngăn chặn việc sửa đổi bất liệu dễ dàng xác thực cách tra cứu hợp đồng thông minh triển khai mạng Ethereum Kết điểm số đại diện đồng NFT có thuộc tính riêng nó, xuất tài khoản cấp quyền Giải pháp đầy đủ xem xét yếu tố quan trọng: quyền riêng tư chi phí vận hành Tất tài khoản đăng ký theo địa blockchain, áp dụng KYC kết chia sẻ dựa phân quyền Về vấn đề chi phí, thành phần đơng hệ thống thí sinh khơng cần chi trả phí vận hành tham gia sử dụng bao gồm khâu đăng ký tài khoản Bên cạnh đó, thành phần blockchain lưu trữ hàm băm liệu rõ ràng để giảm chi phí cho việc lưu trữ phi tập trung Quan trọng nhất, tham chiếu đột biến việc lưu trữ liệu bao gồm sở liệu phi tập trung ghi blockchain để đảm bảo tính tồn vẹn liệu 3.2 Tổng quát hệ thống: Fig 3.2 Sơ đồ thành phần giải pháp Có đối tượng người dùng quan tâm đến phần mềm: - Quản trị viên - Người chấm điểm - Tra soát viên - Thí sinh dự thi Những tính thiết kế để phục vụ cho đối tượng sử dụng khiến việc tổ chức tham gia kiểm tra diễn hệ thống cách thấu đáo chặt chẽ 3.3 Các tính Proof-of-concept: 3.3.1 Đăng kí thí sinh: Đối tượng sử dụng: quản trị viên thí sinh Fig 3.3.1 Sơ đồ Swimlane cho tính đăng ký người thí sinh Một người dùng chưa đăng ký bắt đầu việc tham gia vào hệ thống cách gửi thông tin giúp hệ thống liên kết địa Ethereum với danh tính thật họ Người quản trị viên kiểm tra thông tin này, hợp lệ tiến hành đăng ký địa ví người dùng lên hợp đồng thông minh lưu trữ phần mềm Người dùng sau trở thành thí sinh xem kết thi trang Profile 3.3.2 Tạo kì thi chấm điểm: Đối tượng sử dụng: người chấm điểm Fig 3.3.2 Sơ đồ sequence cho trình tạo token điểm Token điểm bao gồm thuộc tính: id nó, chủ đề (Tốn, Văn, Anh,…), điểm địa ứng viên Chỉ tài khoản hợp đồng thông minh xác nhận "minter" tạo / đúc [7] token Khi điền vào trường chủ đề, điểm số địa ứng viên, hàm băm SHA-256 [8] tính tốn dựa đầu vào ba trường Ở đây, chúng tơi khơng lưu thơng tin đăng nhập rõ ràng ứng viên để ẩn danh Người khai thác yêu cầu ký vào giao dịch, sử dụng để báo hiệu hành động đào tiền cho hợp đồng thơng minh Sau đó, ứng dụng đợi kiện từ mạng blockchain để thực công việc Tại hợp đồng thông minh, kiểm tra xem người gửi hành động "đúc token" có vai trị hợp lệ hay khơng (MINTER_ROLE) Nếu vậy, token đính kèm với id gia tăng thời gian cập nhật cuối tính tốn Thời gian kết thúc cập nhật xác định cách thêm khoảng thời gian xác định (1 ngày) vào dấu thời gian khối [6] ghi lại giao dịch tạo token Sau đó, hợp đồng phát kiện "Tạo" với id băm token dạng liệu phát Sau bắt kiện "Tạo" với hàm băm dự kiến, dApp lưu trữ thông tin chi tiết token vào sở liệu tập trung, có id làm mục Token truy vấn cập nhật khoảng thời gian ngắn Fig 3.2.2 Sơ đồ Activity tính cập nhật token Người dùng định id đồng token để chỉnh sửa điền thơng tin chi tiết Để cập nhật token điểm, tài khoản phải người tạo token nhãn thời gian khối [6] thời điểm thực thi phải nhỏ thời gian kết thúc cập nhật token Nếu hợp lệ, token cập nhật, sau hợp đồng phát kiện ‘Cập nhật’ Cơ sở liệu tập trung dựa liệu truyền phát từ kiện 'Cập nhật' thông tin đầu vào người dùng để cập nhật phần liệu tương ứng 3.3.3 Quét hệ thống: Đối tượng sử dụng: tra soát viên Token hợp lệ số băm truy xuất từ hợp đồng thông minh với chuỗi băm tính tốn trình duyệt “MÃ_BĂM_TRUY_XUẤT_TỪ_BLOCKCHAIN = MÃ_BĂM_TÍNH_TỐN_ĐƯỢC_TRÊN_TRÌNH_DUYỆT” Người dùng nhập danh tính token dApp sau lấy liệu khác từ hai vị trí: blockchain sở liệu tập trung Các chi tiết từ tập trung trải qua q trình tính tốn băm giống giai đoạn đúc [7] đầu so sánh với băm truy xuất từ blockchain để kết luận xem kết có đáng tin cậy hay không Cài đặt kĩ thuật: 4.1 Technical stack: Frontend: ReactJs Cơ sở liệu trung tâm: Google Firebase Nền tảng blockchain: Ethereum Mô môi trường blockchain: Ganache 4.2 Chi tiết kĩ thuật: Hợp đồng thông minh dự án kế thừa mẫu hợp đồng tiêu chuẩn OpenZeplin đề cập phần 2: ERC721: phụ trách quản lý kết điểm thi dạng token AccessControl: quản lý phân quyền truy cập tính có hợp đồng 4.3 Phần mềm kết quả: Trang chủ Đăng ký thành viên (cho người dùng muốn làm thí sinh) Bảng kết (cho thí sinh) Xét duyệt thành viên (quản trị viên) Chấm điểm cho thí sinh (người chấm điểm) Quét hệ thống (tra soát viên) Xem chi tiết video screenshot cách thức hoạt động tại: https://drive.google.com/drive/folders/1GU5Qx_iP1kfX51J6uexWULSVZgusN8Li?u sp=sharing Source code phần mềm: Smart contract: https://github.com/chipueatfast/erc721-score-blockchain-service Interface: https://github.com/chipueatfast/erc721-score-frontend 4.4 Các số đo lường: ● Hệ điều hành: Mac OSX ● Trình duyệt: Brave ● Bộ nhớ thiết bị: 16Gb ● Tốc độ Internet: 12mbps Dung lượng build giao diện Tốc độ tải giao diện Tốc độ xử lý transaction (trên mô 9.4mb tổng cộng 530kb cho trang chủ 1500ms để load đầy đủ gần tức (