1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng công nghệ blockchain Để xây dựng hệ thống theo dõi thành quả học tập của sinh viên

40 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Ứng dụng công nghệ blockchain để xây dựng hệ thống theo dõi thành quả học tập của sinh viên
Tác giả Lê Trần Trí Thức
Người hướng dẫn TS. Trần Sơn Hà
Trường học Trường Đại học Sư Phạm TP. Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 40
Dung lượng 1,57 MB

Nội dung

Hỏ Chí Minh và các Thầy đặc những Thy Có mo ca Cổng nghệ Thông Toby lee Phạm inh hướng dẫn, giảng dạy và tạo slp 4 em rong st qu tinh họ tập rgiiề cứ và hoàn thành khôa in sống tắt quý b

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

LÊ TRÀN TRÍ THỨC:

ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN

DE XAY DUNG HE THONG THEO DOI THANH QUA HQC TAP CUA SINH VIÊN

KHÓA LUẬN TÓT NGHIỆP

‘TP HO CHi MINH - NĂM 2022

Trang 2

‘TRUONG DAI HOC SU PHAM TPHCM KHOA CONG NGHE THONG TIN

LE TRAN TRI THUC

UNG DUNG CONG NGHE BLOCKCHAIN

DE XAY DUNG HE THONG THEO DOI THANH QUA HQC TAP CUA SINH VIÊN

CHUYEN NGANH: KHOA HOC MAY TINH

KHOA LUAN TOT NGHIEP NGUOI HUONG DAN KHOA HQC: TS TRAN SON HAT

TP.HCM - NĂM 2022

Trang 3

Sau thời gian học tập và rên luyện tại Trường Đại học Sư Phạm TP, Hỏ Chí Minh, bằng sự biết ơn vả kính trọng, em xin gửi lời cảm ơn chân thành đến Ban Giám hiệu, phòng, khoa thuộc Trường Đại học Sư Phạm TP Hỏ Chí Minh và các Thầy đặc những Thy Có mo ca Cổng nghệ Thông Toby lee Phạm

inh hướng dẫn, giảng dạy và tạo slp 4 em rong st qu tinh họ tập rgiiề cứ và hoàn thành khôa in

sống tắt quý bảu của Thầy,

Xin gửi lời cảm ơn chân thành đến gia đình và bạn bÈ vì đã luôn là nguồn động xiên to lớn, giáp đỡ, chia sé những khó khăn, vui buỗn cùng em trong suốt thời gian thực hiện khóa luận

đã đã cổ gắng hoàn thành khỏa luận với tất cả sự nỗ lực nhưng không thể tránh khỏi những thiêu st Em kính mong nhận được sự thông cảm và chỉ bảo của quý Thầy Cô cùng bạn b

Em xin chin thành cảm ont

TP Hỗ Chỉ Minh, ngày 03 thắng (4 năm 2022 Sinh viên thực hiện

Lê Trần Trí Thứ

Trang 4

1.4.1 Đối tượng nghiên cứu

1.42 Phạm vì nghiên cứu

CHƯƠNG 2 CÔNG NGHỆ BLOCKCHAIN VÀ HỆ THONG FILE PHI TẬP

Trang 5

32 Lưu trữ thảnh quả học tip ttn blockchain, 31

3.2.2 Hop ding thông mình cho chứng nhận 37

3.3 Xây dựng ứng dụng web ghi nhận thành quả học tập 42

S32, Hướng phát iễn tiếp theo,

Trang 6

LTS | Long Term Support NFT | Non-Fungible Token

Trang 7

DANH MUC BANG BIEU Bang 21 -So sinh m6 hin Server - Client vi P2P 8

Bảng 42 Các công cụ phát iển hệ thông

Bing 43 Thing kệ Hới lan bực Mộc và pt isc a wen thống

Trang 8

Hình 4.6 - Mia is ad su a ch agi nhận THình 4 7 Màn hình hệ thông chứng s0 sl

Hình 4.10 - Màn hình chứng nhận ở địa chỉ người được cấp 53 Hình 4.11 - Dữ liệu tạo chứng nhận trên blockchain

Hình 4.12 - Màn hình xác thực file PDE kudo card hoặc chứng nhận 4

Trang 9

hoặc làm gii thị những thông in này là không có gi Trong những năm gin diy,

công nghệ blockchain đang được nghiên cửu mạnh mẽ đẻ ứng dụng trong các lĩnh vực

thay đối của dữ iệu, một khi để liệu đã được gỉ thì không thể thay đổi được, Công này

Từ những phần tích én, nhc go ra một bệ thông để ghi nhận và lưu tr đảm

"báo được tính xác thực để lưu lại thin quả sinh viên đạt được tong quế trình học và

có thể xem lại là hết sức edn

đảng truy xuất để các tổ chức, cá nhân có nhu

thiết Cùng với công nghệ bloekchain đảm bảo tinh khả thi va kha ning ing dụng thực tiễn của để tải

Trang 10

3 Mạc tiêu nghiên c

Từ những phân ích trên, mục iê của đề tà là

~ _ Ứng đụng được công nghệ blockchain trong việc biểu diễn, ghỉ và tray xuất

dữ liệu thành quả học tập của sinh viên

~ _ Xây dựng một ứng dụng với giao diện dễ sử dụng để giảng viên, sinh viên có

thể thục hiện tạo các nhận xé đánh giá về sinh viên Đẳng thời cô thỄ truy

xuất các dữ liệu để xem lại, chía sẽ một cách dễ dâng

3 Đối tượng nghiên cứu

3.1 Đối tượng nghiên cứu

Để tai nghị cứu trên các đối tượng sau:

= Chuan token ERC-721

= H@ théng phan tan le phí tập trung IPES,

3.2 Pham vingl

Đồ ti nghệ cứu trong phạm vi ứng dụng trong các trường đại học

4 Phuong pháp nghiên cứu

Khóa luận sẽ áp dụng nhiều phương pháp nghiên cứu khác nhau, tuy nhiên, chủ

xu là các phương pháp sau: mô hình hóa và phân tích tổng hợp, nghiên cứu lý thuyết, thực nghiệm

Trang 11

dụng như đã đặt ra ở phần mục tiêu

~ _ Nghiên cứu thực nghiệm;

«Triển khai hệ thông và thử nghiệm

‘Phan tch phản hồi của người dùng để phát triển hệ thống theo hướng tốt nhất

Sử dụng các kết quả thu được trong quá nh thực nghiệm để đánh giá tính thực tiễn của để tài

16 Cấu trúc khóa luận tốt nghiệp

Cầu trúe trình bày luận án gồm có Š chương, và tả liệu tham khảo,

~ _ Chương 1 Mở đầu, Trình bày tổng quan lý do chọn đề ải, thách thức, mục

tiều đối tượng và phương pháp nghiên cứu,

~_ Chương 2 Cơ sử lý thuyết Trình bảy các lý thuyét vé blockeh

ERC-721

~ _ Chương 3 Mô hình hệ thống Tình bài hướng tiếp cận vẫn để, mô hình hệ thống

~ _ Chương 4 Thực nghiệm Trình bảy các kết quả thực nghĩệ

~ _ Chương 5 KẾt luận và hướng phát triển Töm tắt lại những điều đạt được

Và hướng phát triển

ce

Trang 12

TAP TRUNG

2.1 Blockehain

3.1.1 Giới thiệu công nghg blockehain

Bloekchain (chuỗi khối) lă một chuỗi câc khối chứa đữ liệu được liín kết với nhau bằng mê hóa vă mở rộng theo thời gian Mỗi kh chứa câc thông tin dữ liệu vă

được lín kết với khối rước đó]

Blockehain được thiết kế để chống ạ việc thay đổi dỡ liệu

~_ Khi đữ liệu được cập nhật văo hệ thống thì không 6 câch năo thay đổi được

~ _ Nế một phần của hệ thống blockchain sụp đổ, những nút khâc trong mạng sẽ

Ấn hoạt động để bảo vệ thông tín

Công nghệ blockehain được sử dụng để lưu trũ xâc nhận vă truy thông in, dữ liệu mă không phụ thuộc văo bín thứ ba,

Đlockchsin ứng dụng cho câc hợp đồng, giao địch một câch an toăn 1.13 NÍn tăng của blockchain

Nền tỉng của công nghệ blockchan được phât tiển đựa trín bai kỹ thuật chính lă

hăm bảm vă chữ ký số

2.4.21, Him băm

4) Khâiniện hăm bêm

‘Hm bm (has luncion) lă thuật toôn đăng để ảnh xạ đ liệu có ích thước bắt

có ích thước cổ định 1] Giâ tị băm được dùng đểđại diện

kỷ sang một giâ trị "băm"

cho thông tin

Hăm bảm lă băm một chiu, giâ tị của hăm bảm lă duy nhất vă “Ồ” cổ thể suy

ngược li nội dung hay độ dăi bạn đầu của nội dung gốc

<1

Trang 13

với độ đài 128 bít, Hàm băm MD4 đưa ra vào năm 1990, sau đó một năm phiên bản được công bổ trong Hồ sơ Liên bang năm 1992 và được chấp nhận làm tiêu chuỗn vào đài 160 bit Ngày nay ta vẫn thường thấy một số chứng chỉ web được mã hóa bằng SHA

b) Đặc tính

Mầm băm h là hầm một chiều với các đặc ính sau: [1]

~ _ Với thông tín đầu vào x, chỉ thủ được duy nhất giá trị Z = hG)

~_ Nếu dữ liệu trong x bị thay đổi hay bị xóa để trở thành x” th giá trị hàm băm h(x!) # h(x) Cho dù là một sự thay đổi nhỏ thì giá trị bảm h(x) cũng sẽ:

thay đổi Do đó hai thông in khác nhau thì giá trị băm sẽ khác nhau + Kho 66 thé suy ra nội dung gốc từ trị băm Nghĩa là với giá trị z = A(x)

khó có thể suy ngược lại x kể cả hi biết hàm băm fh,

©) Ung dung cia ham băm

Hàm băm được ứng dụng trong nhiễu img dung the t

~ _ Đảm bảo dữ liệu không bị sữa đổ: Khi nhận được tài liệu có thể so khớp lại với hàm băm để đám bảo toàn vẹn dữ liệu

- _ Hỗ trợ các thuật toán chữ ký số: Hàm băm giúp tạo ra một giá trị đại diện cho tải iệu, nhờ đỏ việc ký trên giá trị đại điện đó giúp tiết kiệm thời gian sơ với việc ký trên tài liệu lớn ban đầu,

= _ Xây dựng edu trúc dữ liệu bảng băm: Bảng băm là một cấu trúc dữ liệu cho phép tổ chức lưu trữ và tìm kiếm dữ liệu một cách nhanh chóng và thuận tiện

Trang 14

-I3-4) Khải niệm

VỀ mặt sông nghệ, chữ ký số là một thông điệp dữ liệu được mã hóa gắn kêm theo thông điệp dữ liệu nhằm xác thục người gửi thông điệp

Quá trình ký và xác thực bằng chữ ký số diỄn ra như sau

~ _ Người gửi dùng hàm băm để tôm tắt nội dung thành một thông điệp tôm tắt (Message Digest),

~ _ Người gửi sẽ tiếp tụe mã hóa bản tôm tất thông điệp bằng khóa bí mật của mình (sử đọng phần mềm bỉ một được cơ guan chứng thực cắp) để tạo thành

một chữ kỹ s6 (Digital signature)

~ _ Người gửi sẽ gửi nội đong ban đầu kêm theo chữ ký số này và gời bản thông

điệp tóm tắt gn kèm với chữ ký cho người nhận

~ _ Sau khi nhận được, người nhận sẽ dùng khóa công khai của người gửi để giải

mã chữ ký số thành bản thông điệp tôm tắt

~_ Người nhận sẽ so sánh bản thông điệp tỏm tắt giải mã được với bản thông

điệp tôm tắt nhận được Nếu giống nhau tức là chữ ký sổ đó là xác thực và thông điệp không bị thay đổi trên đường truyền đi

Trang 15

-I4-Công nghệ bloekchain tương đồng với một cơ sở dữ liệu chỉ khác với các cơ sở

dữ liệu thông thường ở việc tương tác với dữ liệu Để hiểu vẻ blockchain, cần tìm hiểu

sắc định nghĩa sm: chuối khối (blockehain), co ché đồng thuận phí tập trung

(decentralized consensus), tinh toán tin cậy (trusted computing), hợp đồng thông minh

(smart contract) Minh inh toán này là nền tản của việc tạo ra các ứng dụng phân tin,

2.1.3.1 Chudi khối

Một chuỗi (cbain) bao gồm nhiều khối dữ liệu được liên kết với nhau bởi gi trị băm Trong mỗi khối dữ liệu đều chúa một giá tị bãm đại điện cho kh i, va trong mdi hối ngoại trừ khối khởi tạo đều lưu thông tin về giá trị bãm của khối trước nó (Giá trị băm của bloek cha - Parent hash)

inh 2.2 Mé hinh chuéi bhi (lockchain) [13]

-M&i block trong blockchain bao gém ee thành phầm:

+ Index (Block ): Thiet eva block (Block Kh to có thứ tự 0) + Hash Gite im cia block

+ Previous Hash: Git bim của blocktrước

‘Timestamp: Thai gian tg eta Block

‘© Data: ‘Thong tin do ligu hr tri trong block + Nonee: Giá ị biển thiên để tìm ra gid tj bm thoa man yu edu của mỗi chuỗi

Trang 16

Giá tị băm (Hash) được tạo ra từ toàn bộ cée théng tin cin thiết của block Mor chudi dupe cho 1a hop If néu gid tri Previous Hash cba mai block giống với

sf tr Hash ta block tube ms (ngoa tr Kh kh tạo vì không có block trước nổ)

Blockchain sr dung kiến trúc mạng ngang hing (peer-to-peer ~ P2P) cdn gọi là

“mạng đồng đẳng Khác với mô hình Server ~ Client (May chủ ~ My khich) truyén thống, PP có nhiều điểm khác bit,

"Hình 34 - Mộ hình Server Client vi P2P

Trang 17

-1-CHƯƠNG 3 HE THONG GHI NHẬN THÀNH QUA HQC TAP TREN NEN TANG BLOCKCHAIN

3.1 Chứng nhận và kudo card

Thành quả học tập bao gồm những e hoạt động khi tham gia ở trưởng, xác nhận điểm số và những đồng góp của cá nhân được giáng viên, bạn bè khen ngợi trong qué trình học tập Với những hoạt động, xác nhận điểm số ta sẽ lưu tữ lại dưới dạng

chửng nhận càng có giá trị Ching hạn chứng nhận hoàn thành khóa học của tô chức

cảng uy tín sẽ cảng có giá trị cao hơn,

Kudo card là những thể để ghỉ nhận những đóng góp của một cá nhân dành cho tập thể Bắt cứ ai trong tập thể cũng có thể sử dạng để khen ngợi các thành viên khác nhân cho tập th Trong môi tường gio dụe, kudo card được sử dụng để giáo viên

để cảm ơn giảng viên phụ trch lớp họ giảng dạy hiệu quả, đ cảm em và khen các

thành viên khác trong lớp học đã giáp đỡ hoặc đóng góp nhiều cho nhóm,

Trang 18

Cúc dẫu mũi tên đại diện cho cấu trúc map, trong cấu trúc mạp dữ liệu luôn

và ứng với mỗi key là một dữ iệu (value) tương ứng Biển cuzzTokenTp: Mỗi NET trong hợp đồng sẽ có một ID duy nhất phân đăng để lưu ID cho NFT kế tếp được tạo Sau mỗi lẫn tạo biển này sẽ được tăng lên 1

= Clip token TD > addressOwner: MBi token sẽ do một người sở hữu, ứng: với mỗi ID đại điện cho token sé map dén dja chỉ của người sở hữu

Cập tokenTD 3 ozi: mỗi token sẽ được mạp với đường dẫn đến dữ liệu của IPES được lưu trữ trên IPES gọi là URL

Trang 19

-33-sẽ lưu lại mã bash của nội dung file, ở đây sử dụng hàm hash một chiểu SHA- token,

Cặp addressOwner > [tokenIDs]: méi địa chỉ sẽ được map với một

danh sách các ID của token để dễ dàng truy vẫn các chứng nhận cũng như kudo ca của mỗi người

~_ Cặp tolkenzb > einestamp: dé lu tt thoi gian mà NET được tạo rà trên bokhain

Cặp tokenTp > addressCreate dé hm tt thing tn người cắp NT,

= Clip teken7D > disablestatus: để lưu thông tin trang thái kudo card

có đang bị võ hiệu hóa hay không

tCác thao tắc chính trên hợp đồng thông minh kudo card: 4) Tao kudo card (Mint function)

Mã giả 3.2: Tạo kudo card

FONCTION mint (address fron, address to, trí, hashEile):

Trang 20

+okenOF [address_ to] push (newTD}

currTokenID = cursTokenID + 1

Để thực hiện tạo một kudo card, ta cần cổ hông từ địa chi người gi, người nhận,

thông tin uri eta đường dẫn đến ñe nội dung PDF kudo card va hash cia fle PDE Judo card, Dau tign him sẽ thực hiện kiểm tra các điều kiện

lưu lại một số thông ìn để xác thực về sau gồm thời gian dữ liệt

Mã hanh có đúng (heo chuẳn SHA-256,

Mi hash di tn ti trên blockcbain hay chưa dựa vào cập map hashEi 1e >

tokenID (bién hashEile2ID trong mã giả) giúp ta dễ dàng xác định

được, nêu hanh chưa ôn ti trên blockebain tì map sẽ tr về giá trị 0, Điều Kiện này giúp đảm bảo các kudo ca là độc nhất

~ _ Kiểm tra xem địa chỉ người tạo kuổo card và người được nhận phải khác nhau

Vì không thể tự tạo kudo card cho chính bản thân

u cho kudo card và 4a sẽ tiền hành gắn dữ li

Néu đã vượt qua các kiểm tra trê

được thêm vào

lockchain và địa chỉ người tạo

Me

Trang 21

Mã giả 3.3: Truy vẫn kodo card

FUNCTION getTokenOf (address!

Listuriofroken = []

FOR EACH id IN tokenOf [address]

ListUriofToken.push(uriof[id)} ENDEOR,

RETURN ListUriofroken

Đầu tên ta stim xem địa chỉ đang nắm giữa những token có ID nào bằng cặp map addressOwner > (cokentDs| (biến telenO£ trong mã gi), sau đó ứng

ới mỗi ID ta sẽ lấy tr theo từng ID bằng cặp map tokenTD ^ ri (biến uriO

trong mã giả), cuối cùng ta sẽ được một danh sách các uri dẫn đến dữ liệu PDF file của

ce kudo card cia mai ti khoản

©) Thaw tde vi higu hoa hudo card

Mã giá 3.4: Vô hiệu hóa kudo card

FONCTION disabletoken (addzess, 14):

IF urioffid) == +"

RETURN “ID khong họp le”

TẾ createBy|[id] != address

RETURN *Khong phải nguọi tao token”

IF block timestane timestamptid) > 1 day:

Ngày đăng: 30/10/2024, 10:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w