1. Trang chủ
  2. » Tất cả

Nghiên cứu một số kỹ thuật blockchain và ứng dụng trong quản lý hồ sơ sinh viên

73 8 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 đề Nghiên cứu một số kỹ thuật blockchain và ứng dụng trong quản lý hồ sơ sinh viên
Tác giả Nguyễn Trường Hải
Người hướng dẫn TS. Lê Thị Kim Nga
Trường học Trường Đại học Quy Nhơn
Chuyên ngành Khoa học máy tính
Thể loại Luận văn
Năm xuất bản 2022
Thành phố Quy Nhơn
Định dạng
Số trang 73
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC QUY NHƠN NGUYỄN TRƢỜNG HẢI NGHIÊN CỨU MỘT SỐ KỸ THUẬT BLOCKCHAIN VÀ ỨNG DỤNG TRONG QUẢN LÝ HỒ SƠ SINH VIÊN Chuyên ngành Khoa học máy tính Mã số 8480101 Ngƣời hƣớn[.]

Trang 1

NGUYỄN TRƯỜNG HẢI

NGHIÊN CỨU MỘT SỐ KỸ THUẬT BLOCKCHAIN

VÀ ỨNG DỤNG TRONG QUẢN LÝ HỒ SƠ SINH VIÊN

Chuyên ngành: Khoa học máy tính

Mã số: 8480101

Người hướng dẫn: TS LÊ THỊ KIM NGA

Trang 2

thực sự của riêng tôi, dưới sự hướng dẫn của TS Lê Thị Kim Nga Mọi tham khảo từ các tài liệu, công trình nghiên cứu liên quan trong nước và quốc tế đều được trích dẫn rõ ràng trong luận văn Mọi sao chép không hợp lệ, vi phạm quy chế hay gian trá tôi xin hoàn toàn chịu trách nhiệm

Bình Định, ngày 23 tháng 08 năm 2022

Học viên

Nguyễn Trường Hải

Trang 3

Đầu tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc tới cô giáo TS.Lê Thị Kim Nga đã giúp tôi chọn đề tài, định hướng nghiên cứu, tận tình hướng dẫn và tạo điều kiện cho tôi hoàn thành luận văn này

Tôi xin được gửi lời tri ân sâu sắc đến cô giáo TS.Lê Thị Kim Nga, người đã tận tình chỉ bảo, giúp đỡ tôi trong quá trình học tập cũng như giai đoạn đầu của quá trình thực hiện luận văn

Em xin cảm ơn các thầy cô trong khoa Công nghệ thông tin trường Đại học Quy Nhơn, đã truyền đạt cho tôi những kiến thức quý báu trong suốt thời gian học tập tại trường

Bản thân tôi đã cố gắng hết sức để hoàn thành luận văn, nhưng vẫn không tránh khỏi những sai sót, hạn chế Vì vậy, em rất mong nhận được những nhận xét, góp ý của các thầy cô giáo và các bạn để đề tài này có thể được hoàn thiện hơn

Bình Định, ngày 23 tháng 08 năm 2022

Học viên

Nguyễn Trường Hải

Trang 4

LỜI CẢM ƠN

MỤC LỤC

DANH MỤC CÁC CHỮ VIẾT TẮT

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Tổng quan tình hình nghiên cứu đề tài và ứng dụng 3

3 Mục đích nghiên cứu 8

4 Đối tượng và phạm vi nghiên cứu 8

5 Phương pháp nghiên cứu 9

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT BLOCKCHAIN 10

1.1 Giới thiệu chung 10

1.2 Lịch sử ra đời 11

1.3 Phân loại Blockchain 11

1.3.1 Blockchain mở 12

1.3.2 Blockchain đóng 12

1.4 Mật mã học 13

1.4.1 Các thuật ngữ cơ bản 15

1.4.2 Hàm băm 16

1.5 Kiến trúc Blockchain 20

1.5.1 Giao dịch 20

1.5.2 Địa chỉ 22

1.5.3 Sổ cái 23

1.5.4 Khối 23

Trang 5

1.7 Một số nền tảng Blockchain hiện nay 27

1.7.1 Ethereum 27

1.7.2 Hyperledger Fabric 28

1.7.3 IBM Blockchain 29

1.7.4 Multichain 29

1.7.5 Hydrachain 30

1.7.6 OpenChain 31

1.7.7 BigchainDB 31

1.8 Kết luận chương 1 32

CHƯƠNG 2: TỔNG QUAN VỀ BIGCHAINDB 33

2.1 Giới thiệu về BigchainDB 33

2.2 Đặc điểm của BigchainDB 34

2.2.1 Tính tập trung và Byzantine fault Tolerance 34

2.2.2 Tính bất biến 35

2.2.3 Tài sản do chủ sở hữu kiểm soát 36

2.2.4 Tốc độ giao dịch cao 37

2.2.5 Độ trễ thấp & hoàn thành nhanh 37

2.2.6 Lập chỉ mục & và truy vấn dữ liệu có cấu trúc 37

2.2.7 Sybil Tolerance 37

2.3 Ứng dụng của BigchainDB 37

2.4 Kết luận chương 2 40

CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 41

3.1 Phát biểu bài toán 41

3.2 Giải pháp 43

3.2.1 Phân tích kiến trúc hệ thống 43

3.2.2 Phân tích nghiệp vụ hệ thống 44

Trang 6

3.3.2 Cài đặt và cấu hình hệ thống BigchainDB 46

3.3.3 Cài đặt ứng dụng web 49

3.4 Kết quả thử nghiệm 55

3.5 Nhận xét, đánh giá 58

3.6 Kết luận chương 3 59

KẾT LUẬN 60

1 Các kết quả thu được và không đạt được 60

2 Ý nghĩa khoa học 61

3 Ý nghĩa thực tiễn 61

TÀI LIỆU THAM KHẢO 62

Trang 7

CNTT Công nghệ thông tin

Blockchain Chuỗi – Khối

BlockCert Công nghệ quản lý chứng chỉ dựa trên công nghệ

chuỗi khối Bitcoin Mạng chuỗi khối tiền ảo đầu tiên

MIT Viện công nghệ Massachusetts

Hacker Tin tặc

FIPS Federal Information Processing Standard - Tiêu

chuẩn Xử lý Thông tin Liên bang

BFT Byzantine Fault Tolerant - Khả năng chịu lỗi của

Byzantine

API Application Programming Interface

CBPoS chain-based proof of stake – Bằng chứng công

việc dựa trên chuỗi

Trang 8

trữ dữ liệu băm của khối), Prev_Hask (Lưu trữ dữ liệu băm của khối trước), Timestamp (Thời gian khối được khai thác), Noce (Hằng số được thêm vào

khối băm, hạn chế và tăng mức độ khó khi khối bị băm lại) 4

Hình 1.2: Chứng chỉ Đại học Nicosia cấp dạng pdf có tích hợp công nghệ Blockchain tránh bị giả mạo và có thể xác thực tại block.co/out-product/ 5

Hình 1.3: Bằng tốt nghiệp theo công nghệ Blockchain quốc tế có mã QR 7

Hình 1.4: Quy trình số hóa và lưu trữ văn bản quốc gia trên hệ thống Tomochain 8

Hình 1.5: Phân loại các công cụ mã hóa 15

Hình 1.6: Ví dụ về giao dịch tiền điện tử 20

Hình 1.7: Ví dụ về một chuỗi khối chung 24

Hình 1.8: Logo Ethereum 28

Hình 1.9: Logo Hyperledger Fabric 29

Hình 1.10: Logo IBM Blockchain 29

Hình 1.11: Logo MultiChain 30

Hình 1.12: Logo HydraChain 31

Hình 1 13: Logo OpenChain 31

Hình 1.14: Logo BigchainDB 32

Hình 2.1: Bốn nhóm ứng dụng chính của BigchainDB 38

Hình 2.2: Sở hữu truyền phát nhạc với Resonate 38

Hình 2.3: Các chứng chỉ giáo dục được xác thực với công nghệ Recruit 39

Hình 2.4: Với Innogy, mỗi sản phẩm có một câu chuyện 39

Hình 2.5: Công ty đăng ký đất đai Blockchain tại Ghana tên BenBen 40

Hình 3.1: Kiến trúc hệ thống 43

Hình 3.2: Mô hình hệ thống quản lý hồ sơ sinh viên 45

Trang 9

Hình 3 5: Màn hình danh sách văn bằng với role Phòng đào tạo 56

Hình 3 6: Màn hình với tác vụ tạo mới văn bằng 57

Hình 3 7: Màn hình chi tiết văn bằng 57

Hình 3 8: Màn hình cấp văn bằng cho sinh viên 57

Hình 3 9: Màn hình danh sách văn bằng thuộc quyền sở hữu của sinh viên 58 Hình 3 10: Màn hình xác minh văn bằng dành cho Nhà tuyển dụng 58

Trang 10

Bảng 1.2: Ví dụ về đầu vào và đầu ra tương ứng của một số hàm băm 17

Bảng 1.3: Minh họa một số kết quả mã QR 22

Bảng 1.4: Một số mô hình đồng thuận trong Blockchain 27

Bảng 2.1: Mục tiêu thiết kế của BigchainDB 2.0 33

Bảng 3.1: Yêu cầu phần cứng cho hệ thống 45

Bảng 3.2: Phần mềm và Công cụ hỗ trợ 46

Bảng 3.3: Các API của hệ thống BigchainDB cung cấp 49

Trang 11

MỞ ĐẦU

1 Lý do chọn đề tài

Cùng với xu thế phát triển của cuộc cách mạng công nghệ lần thứ tư, công nghệ Blockchain đang được nghiên cứu và ứng dụng hết sức mạnh mẽ tại nhiều quốc gia trên thế giới ở hầu hết các lĩnh vực Tuy nhiên, việc triển khai công nghệ Blockchain trong lĩnh vực giáo dục đào tạo dường như vẫn còn hạn chế, đặc biệt là ở Việt Nam

Việc khai thác tiềm năng, ứng dụng công nghệ Blockchain trong lĩnh vực giáo dục, đặc biệt là giáo dục đại học cần phải được chú trọng thực hiện trong bối cảnh chuyển đối số hiện nay

Trước tiên, công nghệ Blockchain cần được ứng dụng để hỗ trợ công tác

chấm thi tuyển sinh đầu vào cho các trường đại học Có thể nói đây là một trong các yếu tố tiền đề ảnh hưởng trực tiếp tới chất lượng đào tạo cũng như thương hiệu của mỗi trường

Hiện nay, việc tuyển sinh đầu vào của các trường đa phần dựa trên kết quả của kỳ thi trung học phổ thông quốc gia Tuy nhiên, ngoài những ưu điểm

đã được xã hội thừa nhận thì độ tin cậy, tính công bằng do kỳ thi này mang lại vẫn còn là một dấu hỏi

Để khắc phục tình trạng này, công nghệ Blockchain nên được triển khai

để hỗ trợ công tác chấm thi cho kỳ thi trung học phổ thông quốc gia, dựa trên nền tảng cũng như cơ chế hoạt động của công nghệ Blockchain, tất cả các công đoạn của công tác chấm thi đều được công khai và chịu sự giám sát chặt chẽ của tất cả các bên liên quan

Vì vậy, việc tự điều chỉnh dữ liệu sửa đổi là gần như không thể xảy ra Điều này sẽ góp phần mang lại công bằng cho tất cả các thí nghiệm cũng như

sự tin tưởng về chất lượng tuyển sinh đầu vào cho các trường đại học

Trang 12

Thứ hai, đối với công tác quản lý dữ liệu sinh viên, ứng dụng công nghệ

Blockchain trong quản lý toàn bộ dữ liệu sinh viên bao gồm văn bằng, chứng chỉ, bảng điểm, sẽ bảo đảm công khai minh bạch cho tất cả các bên liên quan, gồm sinh viên, giảng viên cũng như cho các phòng, ban chức năng của

cơ sở đào tạo

Nhờ cơ chế bảo vệ dữ liệu của công nghệ Blockchain nên việc tự ý chỉnh sửa điểm của sinh viên là gần như không thể xảy ra

Cuối cùng, cách thức quản lý này sẽ mang đến nhiều sự thuận lợi cho sinh viên cũng như các nhà tuyển dụng Cụ thể, sinh viên nhất thiết phải nộp bản công chứng của các văn bằng, chứng chỉ, bảng điểm cá nhân cho các nhà tuyển dụng mà đơn giản họ chỉ cần cung cấp đường link, chữ ký số và quyền truy cập đến cơ sở dữ liệu nơi lưu trữ và cho phép công khai các thông tin này tại các trường đại học Điều này cũng sẽ góp phần hạn chế rất nhiều vấn nạn

sử dụng văn bằng, chứng chỉ giả được cho là khá phổ biến hiện nay

Thứ ba, về công tác khen thưởng, kỷ luật sinh viên, chúng ta cần đảm

bảo được tính chính xác, công bằng, công khai, dân chủ, không thành kiến cảm tính, kịp thời, đúng lúc Tuy nhiên, trên thực tế hoạt động khen thưởng,

kỷ luật sinh viên ở phần lớn các trường hiện nay không đáp ứng được đầy đủ các tiêu chí trên Lý do là hầu như toàn bộ quy trình xét khen thưởng, kỷ luật của các trường đều được thực hiện hết sức thủ công

Để khắc phục hiện trạng này, công nghệ Blockchain cần đưa vào áp dụng cụ thể ngay từ những ngày đầu nhập học giữa nhà trường và sinh viên Cần triển khai một hợp đồng thông minh dựa trên nền tảng của công nghệ Blockchain (Smart Contract) áp dụng cho toàn bộ quá trình học tập

Hợp đồng này bao gồm tất cả các điều khoản, phần việc đã được lập trình tự động hóa hoàn toàn Bất cứ lúc nào nhà trường cũng như sinh viên

Trang 13

đều có thể theo dõi được những công việc đã thực hiện cũng như tiến độ của hợp đồng, bảo đảm tất cả đều công khai, minh bạch

Để phục vụ cho việc triển khai công tác khen thưởng, kỷ luật, sinh viên

sẽ được cấp một ví điện tử có chức năng hoạt động giống như một tài khoản ngân hàng Mỗi khi sinh viên đạt được thành tích cao trong học tập, nghiên cứu khoa học cũng như các hoạt động khác do nhà trường phát động thì một

số điểm thưởng tương ứng sẽ được tự động chuyển vào ví điện tử Ngược lại, nếu sinh viên vi phạm pháp luật thì ngay lập tức một số điểm nhất định, tùy theo mức độ, cũng sẽ bị trừ khỏi quỹ điểm hiện có trong ví điện tử của sinh viên Cuối năm học, căn cứ vào tổng số điểm có trong ví điện tử, sinh viên có thể biết được mình sẽ được cấp học bổng miễn giảm học phí hoặc nhận quyết định tạm đình chỉ học hay không

Nếu áp dụng công nghệ Blockchain hỗ trợ cho công tác khen thưởng, kỷ luật sinh viên dưới hình thức triển khai hoạt động thông minh thì tính chính xác, công bằng, công khai, kịp thời, đúng lúc sẽ gần như bảo đảm một cách tuyệt đối, góp phần nâng cao hiệu quả công tác quản lý sinh viên nói riêng cũng như chất lượng hoạt động của trường đại học nói chung

Qua đó, chúng ta thấy được tầm quan trọng cũng như sự như nhu cầu cấp bách cho nghiên cứu về công nghệ Blockchain trong quản lý hồ sơ sinh viên

Từ những lý do ở trên, tôi chọn đề tài “NGHIÊN CỨU MỘT SỐ KỸ THUẬT BLOCKCHAIN VÀ ỨNG DỤNG TRONG QUẢN LÝ HỒ SƠ SINH VIÊN”

2 Tổng quan tình hình nghiên cứu đề tài và ứng dụng

2.1 Tình hình nghiên cứu và ứng dụng trên thế giới

Trên thế giới công nghệ Blockchain đã có những bước tiến rất xa do đã được phát triển trong vài chục năm gần đây Năm 2008 Satoshi Nakamoto

Trang 14

xuất bản bài báo của mình “Bitcoin”: Hệ thống tiền điện tử ngang hàng, mô tả công nghệ của hệ thống tiền mặt mới, mà ông đặt tên là Bitcoin, với tất cả các lược đồ và công thức cần thiết Ông mô tả một hệ thống thanh toán tiền điện

tử dựa trên mật mã, không dựa trên sự tin cậy Hệ thống hoạt động mà không cần trung gian (ngân hàng) và giải quyết vấn đề “chi tiêu gấp đôi” Tác giả đề xuất một công nghệ mới về tiền mặt kỹ thuật số phi tập trung doanh thu, bao gồm hai yếu tố: Đầu tiên, S.Nakamoto phát triển sổ đăng ký phân tán (Blockchain); nó là một chuỗi các giao dịch kỹ thuật số trong đó mỗi khối sau liên kết với khối trước bằng mật mã Mọi chỉnh sửa thông tin liên quan đến giao dịch là không thể Nó đảm bảo rằng tất cả giao dịch sẽ được bảo vệ khỏi các hacker và chi tiêu gấp đôi

Hình 1.1: Mạng Blockchain, mỗi block có các thành phần sau:

Tx_Root (Lưu trữ dữ liệu băm của khối), Prev_Hask (Lưu trữ dữ liệu băm của khối trước), Timestamp (Thời gian khối được khai thác), Noce (Hằng số được thêm vào

khối băm, hạn chế và tăng mức độ khó khi khối bị băm lại)

Năm 2014, V Buterin xuất bản tác phẩm của mình “Hợp đồng thông minh thế hệ tiếp theo và Nền tảng ứng dụng phi tập trung” Trình bày những

ưu điểm và hạn chế của Blockchain, ông đã đề xuất Blockchain Ethereum mới với một chương trình nhúng ngôn ngữ giúp mọi người có thể viết hợp đồng thông minh, và các ứng dụng phi tập trung, nhờ những gì công nghệ

Trang 15

Blockchain có thể được áp dụng vượt xa cả bitcoin Ông đã phát triển ba loại ứng dụng (1) ứng dụng tài chính giúp người dùng quản lý tài sản của mình và giao kết hợp đồng; (2) các ứng dụng bán tài chính liên quan đến cả hai tiền và tài sản phi vật chất; (3) các ứng dụng phi tài chính như bỏ phiếu trực tuyến

Đó cũng là lý do các công ty khởi nghiệp hay các tập đoàn công nghệ quan tâm sâu sắc đến nó

Một số ứng dụng Blockchain trong giáo dục những năm gần đây:

Ứng dụng công nghệ Blockchain trong giáo dục bắt đầu từ 2014, khi Đại học Nicosia, Sip (UNIC) bắt đầu áp dụng công nghệ này trên một cơ sở chính thức để lưu trữ và xác nhận văn bằng của mình; nó cũng là trường Đại học đầu tiên bắt đầu chấp nhận phí cho các nghiên cứu dưới dạng bitcoin Kể từ năm 2017, UNIC đã xuất bản tất cả các dự án văn bằng tốt nghiệp của sinh viên tốt nghiệp (cử nhân, thạc sĩ và tiến sĩ) trong Blockchain bằng cách áp dụng phát triển – nền tảng Blockchain.co Nền tảng này được sử dụng bởi cả hai tổ chức giáo dục và cơ sở chăm sóc sức khỏe, khu vực công cộng, giao

thông, v.v

a Chứng chỉ gốc Đại học Nicosia cấp b Chứng chỉ Đại học Nicosia bị giả mạo

Hình 1.2: Chứng chỉ Đại học Nicosia cấp dạng pdf có tích hợp công nghệ

Blockchain tránh bị giả mạo và có thể xác thực tại block.co/out-product/

Trang 16

Năm 2016 Sony Global Education do IBM hỗ trợ đã phát triển một nền tảng Blockchain để lưu trữ, bảo vệ và trao đổi thông tin liên quan đến kết quả học tập và sự tiến bộ của học sinh, sinh viên Công ty xem Blockchain là công nghệ chính có thể ảnh hưởng đến bối cảnh giáo dục trong tương lai

Viện công nghệ Massachusetts (MIT) đã phát triển Blockcerts dựa trên Blockchain vào năm 2017; ứng dụng này giúp việc cấp văn bằng kỹ thuật số trở nên dễ dàng hơn và được xác thực tại credentials.mit.edu

Các lĩnh vực ứng dụng Blockchain của các trường đại học những năm gần đây:

Bảng 1.1: Các lĩnh vực ứng dụng Blockchain của các trường đại học

Quốc gia Trường đại học Các lĩnh vực ứng dụng Blockchain

Síp Đại học Nicosia

Cấp và lưu trữ các chứng chỉ, văn bằng Thanh toán cho các nghiên cứu bằng tiền điện tử

Hoa Kỳ

Viện Massachuset (MIT) Cấp và lưu trữ các chứng chỉ, văn bằng Các giải pháp nhận dạng

Trường kỹ thuật Holberton Cấp và lưu trữ các chứng chỉ, văn bằng Các giải pháp nhận dạng

Đại học Texas ở Austin Cấp và lưu trữ các chứng chỉ, văn bằng Mạng lưới hợp tác sinh viên và giáo sư

Đại học California Cấp và lưu trữ các chứng chỉ, văn bằng

UAE Các trường đại học ở Dubai Cấp và lưu trữ các chứng chỉ, văn bằng

Trang 17

Slovenia Đại học Maribor Cấp và lưu trữ các chứng chỉ, văn bằng

Quản trị quá trình giáo dục

Trung

Quốc

Đại học Chiết Giang, Đại học Thâm Quyến, Học viện Khoa học Trung Quốc Bảo hộ sở hữu trí tuệ

2.2 Tình hình nghiên cứu và ứng dụng trong nước

Tại Việt Nam, Nghiên cứu trong lĩnh vực Blockchain còn khá mới mẻ đặc biệt là trong lĩnh vực giáo dục Theo CTO Kardia Chain Huy Nguyễn khẳng định, Việt Nam đang có đủ “Thiên thời, địa lợi, nhân hòa” để nắm bắt

cơ hội từ công nghệ Blockchain Nổi bật có một số các dự án và ứng dụng sau:

Năm 2020 tại nhà hát Hòa Bình (TP.HCM), trường Đại học Hoa Sen (HSU) là trường đại học Việt Nam đầu tiên cấp bằng theo công nghệ Blockchain quốc tế do Bac Diplona của Pháp cung cấp công nghệ

Hình 1.3: Bằng tốt nghiệp theo công nghệ Blockchain quốc tế có mã QR

Cùng năm 2020, Bộ Giáo dục và Đào tạo quyết định ứng dụng công nghệ lưu trữ văn bằng quốc gia Theo đó, tất cả văn bằng được cấp bởi các đơn vị

Trang 18

đào tạo thuộc Bộ Giáo dục và Đào tạo sẽ lần lượt đưa vào hệ thống lưu trữ văn bằng quốc gia Để đảm bảo tính an toàn dữ liệu, hệ thống này ứng dụng công nghệ Blockchain được phát triển bới Tomochain, một nhà phát triển trong nước

Hình 1.4: Quy trình số hóa và lưu trữ văn bản quốc gia trên hệ thống Tomochain

4 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu: Một số kỹ thuật Blockchain và kỹ thuật giải

quyết vấn đề lưu trữ dữ liệu phi tập trung

Phạm vi nghiên cứu: Dữ liệu hồ sơ sinh viên được lưu trữ trong các

khối chuỗi, cụ thể làm quản lý văn bằng, chứng chỉ của sinh viên

Trang 19

5 Phương pháp nghiên cứu

Phương pháp nghiên cứu của đề tài được lựa chọn là lý thuyết kết hợp với thực nghiệm Các vấn đề cần giải quyết liên quan đến các thuật toán và lý thuyết về lưu trữ, xử lý dữ liệu, lập trình máy tính được thực hiện trên phần mềm máy tính với đầu vào là các thông tin thu nhận được thực tế Quá trình được tiến hành dựa trên việc tìm hiểu tài liệu, cài đặt thử nghiệm sau đó đánh giá kết quả thực nghiệm và cải tiến nhằm nâng cao chất lượng hệ thống

Như vậy, cần tiến hành tìm hiểu lý thuyết về một số kỹ thuật Blockchain được ứng dụng trong quy trình lưu trữ dữ liệu Tìm hiểu kỹ thuật về mặt lý thuyết sẽ được kết hợp với việc cài đặt thực nghiệm dữ liệu Hồ sơ sinh viên thực tế để kiểm chứng và đánh giá những nội dung tìm hiểu lý thuyết và từ đó cải tiến hoàn thiện chương trình

Trang 20

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT BLOCKCHAIN

1.1 Giới thiệu chung

Blockchain là cuốn sổ cái kỹ thuật số chống giả mạo được triển khai theo

mô hình phân tán (tức là không có kho lưu trữ trung tâm) và thường không cần một đơn vị đáng tin cậy chứng thực (như ngân hàng, công ty, chính phủ)

Ở mức độ cơ bản, nó cho phép một cộng đồng người dùng ghi các giao dịch vào cuốn sổ cái chia sẻ, mà trong đó, với sự điều hành bình thường của mạng Blockchain thì không giao dịch nào có thể bị thay đổi sau khi xuất bản Vào năm 2008, ý tưởng Blockchain được kết hợp với một vài công nghệ và khái niệm điện toán khác để tạo ra đồng tiền mã hóa hiện đại: tiền điện tử được bảo vệ bởi các cơ chế mật mã học thay vì nhờ vào bên chứng thực hoặc kho lưu trữ trung tâm

Công nghệ này được biết đến rộng rãi vào năm 2009 với sự ra đời của mạng Bitcoin – một trong những đồng tiền mã hóa hiện đại đầu tiên Ở hệ thống Bitcoin và các hệ thống tương tự, việc chuyển thông tin kỹ thuật số với đại diện là tiền điện tử diễn ra trong một hệ thống phân tán Người dùng Bitcoin có thể ký chữ ký số và chuyển tài sản của mình sang người khác và Bitcoin ghi lại các giao dịch này công khai, cho phép những người tham gia mạng xác minh độc lập tính hợp lệ của giao dịch Công nghệ Blockchain do

đó được xem là giải pháp chung cho các đồng tiền mã hóa sau này

Blockchain có thể được định nghĩa thông thường như sau: “Blockchain

là cuốn sổ cái kỹ thuật số của các giao dịch được ký bằng mật mã Mỗi khối được liên kết mã hóa với khối trước nó sau khi được xác thực thì trải qua một quyết định đồng thuận Khi một khối mới thêm vào, khối cũ hơn trở nên khó

bị chỉnh sửa Cuốn sổ cái sau đó được sao chép đến toàn bộ mạng và bất kỳ xung đột nào được giải quyết tự động thông qua các quy tắc được thiết lập.”

Trang 21

1.2 Lịch sử ra đời

Ý tưởng chính đứng sau công nghệ Blockchain này nổi lên vào cuối những năm 1980, đầu năm 1990 Vào năm 1989, Leslie Lamport đã phát triển giao thức Paxos Năm 1990, ông có bài báo The Part-Time Parliament được gửi đến ACM Transaction on Computer Systems; bài báo được phát hành cuối cùng vào một số của năm 1998 Bài báo miêu tả một mô hình đồng thuận giúp đạt được thỏa thuận trên một kết quả của mạng lưới máy tính – nơi mà các máy tính hoặc bản thân mạng có thể không ổn định Năm 1991, một chuỗi thông tin được ký đã được dùng như một cuốn sổ cái điện tử cho các tài liệu

có chữ ký kỹ thuật số theo cách mà không dễ dàng để tài liệu được ký nào bị thay đổi Các khái niệm này được kết hợp và áp dụng vào tiền điện tử năm

2008 và được miêu tả trong bài báo – Bitcoin: A Peer to Peer Electronic Cash System – được xuất bản giả bởi Satoshi Nakamoto, và sau đó năm 2009 với

sự ra đời của tiền điện tử Bitcoin

Việc sử dụng Blockchain cho phép Bitcoin được triển khai theo kiểu phân tán, như vậy không có người dùng đơn lẻ điều khiển được tiền điện tử

và không có khuyết điểm tồn tại đơn lẻ Lợi ích chính là cho phép các giao dịch trực tiếp giữa những người dùng mà không cần bên thứ ba đáng tin cậy

Nó cũng cho phép phát hành tiền mới theo cách được định nghĩa đến những người quản lý việc xuất bản các khối mới và duy trì bản sao của sổ cái, thì những đó được gọi là các miner ở Bitcoin Bằng cách sử dụng cơ chế đồng thuận để duy trì và một cơ chế tự kiểm soát được tạo ra để đảm bảo rằng chỉ

có các giao dịch và các khối hợp lệ mới được thêm vào Blockchain

1.3 Phân loại Blockchain

Mạng Blockchain có thể phân loại dựa trên mô hình quyền hạn của nó

mà xác định ai có thể duy trì chúng (chẳng hạn xuất bản các khối) Nếu bất kỳ

ai có thể xuất bản một khối mới, gọi là Blockchain mở Nếu chỉ có những

Trang 22

người dùng cụ thể xuất bản các khối, gọi là Blockchain đóng Hiểu đơn giản, một mạng Blockchain đóng giống như một mạng Intranet của tổ chức, trong khi đó Blockchain mở lại giống như mạng Internet công cộng vậy

1.3.1 Blockchain mở

Mạng Blockchain mở là nền tảng sổ cái phi tập trung mở rộng đến bất kì

ai muốn xuất bản các khối mà không cần quyền chứng thực nào cả Nền tảng Blockchain mở thường là phần mềm mã nguồn mở, có sẵn miễn phí cho mọi người muốn tải xuống Bởi vì bất kỳ ai đều có quyền xuất bản các khối, nên kết quả là bất kỳ ai cũng có thể đọc Blockchain cũng như là phát hành các giao dịch trên Blockchain (các giao dịch nằm trong các khối được xuất bản) Người dùng có ý đồ xấu có thể xuất bản các khối nhằm đánh sập hệ thống Để ngăn chặn điều này, mạng Blockchain mở thường triển khai các thỏa thuận đa bên hay còn gọi là hệ thống “đồng thuận”, yêu cầu người dùng chi tiêu hoặc duy trì tài nguyên khi muốn xuất bản các khối Đồng thời, hệ thống “đồng thuận” thường thúc đẩy các hành vi đúng đắn thông qua việc trao thưởng cho các nhà xuất bản các khối tuân thủ giao thức với loại tiền điện tử tương ứng

1.3.2 Blockchain đóng

Mạng Blockchain đóng là nền tảng sổ cái, nơi mà người dùng xuất bản các khối phải được chứng thực bởi cơ quan nào đó (làm cho nó tập trung hoặc phi tập trung) Bởi vì chỉ có người dùng được chứng thực là có thể duy trì Blockchain nên có có thể hạn chế quyền tiếp cận và hạn chế những ai có thể phát hành các giao dịch Do đó, Blockchain đóng có thể quy định bất kỳ ai có thể đọc hoặc phải chứng thực để đọc được Ngược lại, bất kỳ ai cũng có thể phát hành giao dịch hoặc hạn chế chỉ những cá nhân được chứng thực từ trước Blockchain đóng có thể khởi tạo và duy trì bằng phần mềm mã nguồn mở hoặc đóng

Trang 23

Mạng Blockchain đóng và Blockchain mở có thể giống nhau ở các đặc điểm: khả năng truy xuất tài sản kỹ thuật số trên Blockchain; hệ thống phân tán; phục hồi và lưu trữ dữ liệu dự phòng; các mô hình đồng thuận; có hoặc không có chi tiêu và duy trì tài nguyên Trong mạng Blockchain đóng, có sự phân loại mức độ tin tưởng và thu hồi chứng thực nếu làm sai

Mạng Blockchain đóng có lẽ được sử dụng bởi tổ chức muốn kiểm soát chặt chẽ hơn và bảo vệ Blockchain của họ Tuy nhiên, nếu một thực thể kiểm soát những ai có thể xuất bản các khối, thì những người dùng sẽ cần phải tin tưởng vào thực thể đó Một mạng Blockchain đóng của tổ chức này muốn làm việc với tổ chức khác nhưng có thể không hoàn toàn tin tưởng lẫn nhau Họ

có thể thành lập mạng và mời các đối tác kinh doanh ghi lại các giao dịch trên một cuốn sổ cái phân tán chia sẻ Các tổ chức này có thể xác định mô hình đồng thuận sẽ được dùng dựa trên mức độ tin tưởng lẫn nhau Bên cạnh đó, mạng cung cấp sự minh bạch và hiểu biết mà có thể giúp thông báo các quyết định kinh doanh tốt hơn và buộc những bên làm sai chịu trách nhiệm

Một vài mạng Blockchain đóng hỗ trợ khả năng tiết lộ giao dịch có chọn lọc dựa trên danh tính của người dùng Với tính năng này, một vài mức độ riêng tư của giao dịch có thể được áp dụng Ví dụ, mọi người có thể biết được

có một giao dịch giữa hai người dùng được diễn ra, nhưng nội dung thật sự của giao dịch thì chỉ có những người liên quan mới có thể tiếp cận

1.4 Mật mã học

Mật mã học là nghiên cứu về các kỹ thuật toán học liên quan đến các khía cạnh của bảo mật thông tin như bảo mật, toàn vẹn dữ liệu, xác thực thực thể và xác thực nguồn gốc dữ liệu

Mật mã có 4 mục tiêu chính đó là đảm bảo: tính riêng tư hay tính bảo mật, tính toàn vẹn dữ liệu, tính xác thực và tính chống chối bỏ

Trang 24

 Tính bảo mật: dữ liệu chỉ được tiết lộ cho những ai được phép Có nhiều cách tiếp cận để đảm bảo tính bảo mật, có thể là bảo vệ vật lý đến các thuật toán toán học khiến dữ liệu không thể hiểu được

 Tính toàn vẹn dữ liệu: đảm bảo khi dữ liệu bị thay đổi sẽ bị phát hiện ngay lập tức Thay đổi dữ liệu gồm có những thao tác như thêm, xóa, thay đổi

 Tính xác thực: là một dịch vụ liên quan tới nhận dạng Chức năng này

áp dụng cho cả thực thể và thông tin 2 bên tham gia vào quá trình truyền thông tin nên được xác định Thông tin truyền đi trên kênh truyền cũng nên được xác thực như nguồn gốc, ngày gửi, nội dung dữ liệu, thời gian gửi, …Vì những lý do này, tính xác thực trong mật mã học thường được chia làm 2 phần: xác thực thực thể và xác thực nguồn gốc dữ liệu Xác thực nguồn gốc dữ liệu ngầm cung cấp cho việc xác định tính toàn vẹn của dữ liệu trong một số trường hợp khi bản tin bị thay đổi, thì nguồn dữ liệu cũng bị thay đổi

 Tính chống chối bỏ: là một dịch vụ chống lại việc một thực thể từ chối các cam kết hoặc hành động mà mình đã thực hiện Khi tranh chấp xảy ra, một thực thể từ chối hành động mà mình đã thực hiện dẫn tới hậu quả Vì vậy, cần có phương pháp để xử lý những tình huống như vậy

Các công cụ mã hóa thường được chia ra làm 3 loại: mã hóa không có khóa, mã hóa khóa đối xứng và mã hóa khóa bất đối xứng

 Mã hóa không có khóa là không sử dụng khóa để mã hóa bản tin Ví dụ: băm độ dài tùy ý hoặc hoán vị bản rõ để thu được bản mã

 Mã hóa khóa đối xứng là sử dụng cùng một khóa cho việc mã hóa và giải mã

Trang 25

 Mã hóa bất đối xứng là sử dụng một cặp khóa gọi là khóa công khai (public key) và khóa bí mật (private key) để thực hiện mã hóa và giải

Khóa là thông tin tham số dùng để thực hiện các phép biến đổi từ bản rõ

sang bản mã và ngược lại

Mã hóa là quá trình biến đổi thông tin từ bản rõ sang bản mã bằng khóa Giải mã là quá trình biến đổi thông tin từ bản mã sang bản rõ bằng khóa

Ký hiệu tập M là không gian bản rõ bao gồm các chuỗi của các ký tự trong bảng chữ cái được định nghĩa như sau: bao gồm các ký tự trong hệ nhị phân {0,1}, chữ cái tiếng Anh, hoặc các ký tự trong hệ thập lục phân {0,1,…,9,A,B, ,F} Một phần tử m ϵ M được gọi là một bản rõ

Ký hiệu tập C là không gian bản mã bao gồm các phần tử được cấu thành

từ các ký tự được định nghĩa trong bảng chữ cái bên trên

Ký hiệu Ee là một hàm mã hóa biến đổi từ M thành C, và sử dụng một phần tử khóa e duy nhất trong không gian khóa {e ϵ K}

Ký hiệu Dd là một hàm giải mã biến đổi từ C thành M, và sử dụng một phần tử khóa d duy nhất trong không gian khóa {d ϵ K}

Định nghĩa đầy đủ các phép mã hóa/ giải mã, chúng ta cần một tập mã hóa {Ee: e ϵ K } và một tập giải mã {Dd: d ϵ K } thỏa mãn điều kiện:

∀ e ∊ K ∃ d ∊ K, d là duy nhất và Dd = Ee-1 (1.1)

Trang 26

Công thức giải mã một bản tin được viết như sau:

Cặp khóa { e , d } có thể trùng nhau hoặc không

Giả sử M,C,K, { Ee: e ϵ K } là những thông tin công khai, còn cặp khóa {e,d} là thông tin bí mật giữa 2 bên truyền nhận

1.4.2 Hàm băm

Một thành phần quan trọng của công nghệ Blockchain là sử dụng các hàm băm mật mã cho các hoạt động Băm là một phương pháp áp dụng hàm băm mật mã vào dữ liệu nhằm tạo ra một đầu ra tương ứng duy nhất (được gọi là tóm tắt thông điệp – message digest, hoặc tóm tắt – digest) từ một đầu vào của bất kỳ kích thước (chẳng hạn một tập tin, văn bản hoặc hình ảnh) Nó cho phép các cá nhân chứng minh không có sự thay đổi dữ liệu, kể cả khi chỉ

là một sự thay đổi nhỏ của đầu vào (chẳng hạn thay đổi một bit) sẽ dẫn đến kết quả hoàn toàn khác

Hàm băm mật mã có các thuộc tính bảo mật quan trọng sau:

 Preimage resistant (Chống nghịch ảnh): Có nghĩa là các giá trị từ hàm băm là một chiều; không thể tính toán chính xác giá trị đầu vào dựa vào giá trị đầu ra Ví dụ: Cho giá trị hàm băm h, tìm thông điệp m sao cho h = hash(m) là rất khó

 Second preimage resistant (Chống nghịch ảnh thứ hai): Có nghĩa là không thể tìm một đầu vào mà giống với đầu ra cụ thể được Cụ thể hơn, hàm băm mật mã được thiết kế để từ một đầu vào cụ thể, không thể tính toán để tìm một đầu vào thứ hai mà cả hai đều có cùng một

đầu ra

Ví dụ: Cho thông điệp m1, việc tìm một thông điệp m2 ≠ m1 sao cho hash(m1) = hash(m2) là rất khó

Trang 27

Cách tiếp cận duy nhất là vét cạn toàn bộ các giá trị từ không gian đầu vào nhưng cơ hội thành công là không có

 Collision resistant (Chống xung đột): Có nghĩa là không thể tìm hai đầu vào mà băm thành một đầu ra giống nhau Cụ thể hơn, không thể

tính toán để tìm hai đầu vào mà tạo ra tóm tắt giống nhau

Ví dụ: Việc tìm hai thông điệp m1 ≠ m2 sao cho hash(m1) = hash(m2) là rất khó

Một hàm băm mật mã cụ thể được dùng trong triển khai Blockchain là Secure Hash Algorithm (SHA) với một đầu ra có kích thước 256 bits (SHA-256) Một vài 10 máy vi tính hỗ trợ thuật toán này trong phần cứng, làm nó thực hiện tính toán nhanh hơn SHA-256 có một đầu ra 32 bytes (32 bytes =

256 bits), được thể hiện bởi một chuỗi 64 ký tự cơ số 16

Bảng 1.2: Ví dụ về đầu vào và đầu ra tương ứng của một số hàm băm

1

MD5 c4ca4238a0b923820dcc509a6f75849b

SHA-1 356a192b7913b04c54574d18c28d46e6395428ab SHA-256 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d4

9c01e52d db7875b4b

Trang 28

Chi tiết như sau:

 Alice sẽ mã hóa bản rõ m thành bản mã c = Ee(m) và gửi bản mã c cho Bob

 Bob sẽ giải mã bản mã De(c) = m

Trang 29

Với phương pháp mã hóa này, vấn đề gặp phải là làm thế nào trao đổi được khóa khi mà việc thay đổi khóa phải thực hiện để kẻ xấu không thể giải

mã thông tin khi sử dụng các phương pháp tấn công brute force để dò ra khóa Việc phân phối khóa cần phải thực hiện qua một môi trường bảo mật (ví dụ gặp mặt trực tiếp) điều này thường không khả thi Đây được gọi là vấn đề trong việc phân phối khóa và giải pháp giải quyết nó bằng mã hóa bất đối xứng trong năm 1976 được xem là đã thay đổi hướng đi của mật mã học hiện đại

1.4.2.2 Mã hóa bất đối xứng

Mã hóa bất đối xứng giải quyết bài toán phân phối khóa của mã hóa đối xứng Thuật toán chia sẻ khóa được đặt theo tên của 2 nhà khoa học Whitfield Diffie và Martin E.Hellman sau bài giới thiệu của họ Ý tưởng đó được gọi là trao đổi khóa Diffie – Hellman hay trao đổi khóa D-H, khi 2 thực thể muốn chia sẻ một bí mật thì thực hiện các bước như sau:

 Alice và Bob thống nhất thuật toán sẽ sử dụng để mã hóa dữ liệu

 Alice và Bob mỗi người sẽ sinh ra 2 khóa: pkA, skA và pkB, skB thỏa mãn:

 Cả pkA và pkB là công khai trong khi skA, skB là bí mật

 Alice mã hóa m sử dụng khóa công khai của Bobs và thuật toán mã hóa đã được thống nhất:

 Alice gửi c cho Bob qua kênh truyền bất kỳ

 Bob giải mã DskB(c) = m sử dụng khóa bí mật của mình

Trang 30

Thuật toán được triển khai thành công một năm sau đó vào năm 1978 bởi Rivest, Shamir và Adleman

1.5 Kiến trúc Blockchain

1.5.1 Giao dịch

Một giao dịch đại diện một sự tương tác giữa các bên tham gia Với các đồng tiền mã hóa, một giao dịch đại diện cho việc chuyển tiền giữa những người dùng Blockchain Đối với môi trường kinh doanh, một giao dịch có thể

là một cách ghi lại các hoạt động xảy ra trên tài sản kỹ thuật số hoặc vật lý Hình 1.6 cho thấy một ví dụ đáng chú ý của một giao dịch tiền điện tử Mỗi một khối trong Blockchain có thể không chứa hoặc chứa nhiều giao dịch Trong một vài triển khai Blockchain, việc cung cấp liên tục các khối mới (kể

cả với giao dịch không) là quan trọng cho việc duy trì bảo mật mạng Blockchain: nó ngăn chặn những người dùng xấu xa khỏi “bắt được” và tạo một chuỗi khác thay thế

Một người dùng gửi thông tin đến mạng Blockchain Thông tin được gửi

có thể bao gồm địa chỉ người gửi (hoặc số nhận dạng có liên quan khác), khóa công khai của người gửi, chữ ký số, đầu vào và đầu ra giao dịch

Hình 1.6: Ví dụ về giao dịch tiền điện tử

Trang 31

Mỗi giao dịch đơn lẻ của tiền điện tử điển hình yêu cầu ít nhất các thông tin sau, có thể nhiều hơn:

 Các đầu vào: Các đầu vào thường là một danh sách các tài sản kỹ thuật số cần được chuyển Một giao dịch sẽ tham chiếu đến nguồn của tài sản kỹ thuật số (bằng việc cung cấp nguồn gốc), có thể là giao dịch trước đó của người gửi hay sự kiện gốc nếu là trường hợp đầu tiên Các giao dịch tham chiếu đến sự kiện trước đó mà không làm ảnh hưởng tới dữ liệu, vì vậy mà các giá trị của giao dịch không thể được thêm vào hoặc loại bỏ khỏi tài sản đã tồn tại trong Blockchain Một tài sản đơn có thể chia thành nhiều tài sản mới với giá trị nhỏ hơn hoặc nhiều tài sản có thể kết hợp thành các tài sản với giá trị cao hơn Việc chia hoặc kết hợp các tài sản sẽ được chỉ định ở đầu ra của giao dịch Người gửi phải chứng minh được họ có quyền tiếp cận các đầu vào được tham chiếu, thường bằng cách ký chữ ký số vào giao dịch, chứng minh thông qua khóa riêng

 Các đầu ra: Các đầu ra thường là các tài khoản người nhận tài sản kỹ thuật số cùng với số tài sản mà họ sẽ nhận Mỗi đầu ra chỉ định số tài sản có thể chuyển cho người chủ mới và một tập các điều kiện mà người chủ mới phải đáp ứng để chi tiêu giá trị đó Nếu tài sản ở đầu ra nhiều hơn yêu cầu thì phần dư phải được gửi lại rõ ràng đến người gửi ban đầu (cơ chế “tạo thay đổi”)

Trong khi mục đích chính là chuyển tài sản thì các giao dịch vẫn thường được sử dụng để chuyển dữ liệu Trường hợp đơn giản, một ai đó muốn gửi

dữ liệu vĩnh viễn và công khai trên Blockchain Trong hợp đồng thông minh, các giao dịch có thể được dùng để gửi dữ liệu, xử lý dữ liệu và lưu trữ kết quả trên Blockchain Các giao dịch thường được ký bằng khóa riêng của người gửi và có thể được xác minh bất kỳ lúc nào bằng khóa chung được liên kết

Trang 32

1.5.2 Địa chỉ

Một vài mạng Blockchain sử dụng một địa chỉ, nó là một chuỗi ký tự trong bảng chữ cái và các số, ngắn, được lấy từ khóa công khai của người dùng bằng cách sử dụng một hàm băm mật mã, thêm vào là một vài dữ liệu (chẳng hạn số phiên bản, checksums) Các địa chỉ này là địa chỉ “đích đến” và địa chỉ “xuất phát” trong giao dịch Địa chỉ ngắn hơn khóa công khai và không bí mật Một phương pháp để tạo địa chỉ là sử dụng một khóa công khai, áp dụng hàm băm mật mã cho nó, và chuyển nó thành chuỗi băm:

Khóa công khai => Hàm băm mật mã học => Địa chỉ

Mỗi triển khai Blockchain có thể thực hiện một phương thức tạo địa chỉ khác nhau Các địa chỉ có thể đóng vai trò là người định danh công khai cho người dùng và thỉnh thoảng một địa chỉ được chuyển đổi thành một mã QR chứa dữ liệu tùy ý cho việc sử dụng dễ dàng hơn trên thiết bị di động

Bảng 1.3: Minh họa một số kết quả mã QR

1

Hello World

Trang 33

Trong công nghệ Blockchain, cách tiếp cận là sử dụng cả quyền sở hữu phân tán và kiến trúc vật lý phân tán Kiến trúc vật lý phân tán của mạng Blockchain liên quan đến một số lượng lớn các máy tính, nhiều hơn so với mạng có kiến trúc vật lý tập trung Nhu cầu cần các sổ cái mà quyền sở hữu phân tán nhiều lên là bởi vì các sổ cái phải đảm bảo có thể tin tưởng, bảo mật

và tin cậy

1.5.4 Khối

Người dùng gửi các giao dịch ứng viên lên mạng Blockchain thông qua phần mềm (ứng dụng desktop, ứng dụng di động, ví điện tử, dịch vụ web,…) Phần mềm gửi các giao dịch này tới một nút hoặc các nút trong mạng Các giao dịch sau đó được gửi đến các nút khác trong mạng, nhưng lúc này vẫn chưa nằm trong Blockchain Một khi giao dịch được gửi đến các nút, nó nằm trong hàng đợi cho đến khi được thêm vào Blockchain bởi một nút xuất bản Các giao dịch được thêm vào Blockchain khi có một nút xuất bản nó thành một khối Một khối bao gồm phần đầu (block header) và phần dữ liệu (block data) Phần đầu chứa siêu dữ liệu (metadata) của khối, còn phần dữ liệu chứa một danh sách các giao dịch được xác minh tính hợp lệ và tính xác thực được gửi đến mạng Blockchain Tính hợp lệ và tính xác thực được đảm

Trang 34

bảo bằng cách kiểm tra đúng định dạng và người gửi phải ký vào giao dịch chữ ký mật mã (đã đề cập ở phần trước)

1.5.5 Chuổi khối

Các khối được nối với nhau thành chuỗi, trong đó mỗi khối chứa mã băm của phần đầu khối trước đó, do đó được gọi là chuỗi khối nếu một khối được xuất bản trước đó bị thay đổi, nó sẽ có mã băm khác, gây ra vấn đề là khối còn lại có mã băm khác với khối trước Điều này giúp cho việc phát hiện trở nên dễ dàng hơn và từ chối các khối thay thế Hình 1.7 cho thấy một chuỗi khối chung (a generic chain of blocks)

Hình 1.7: Ví dụ về một chuỗi khối chung

Có thể tóm tắt quá trình diễn ra bên trong Blockchain như sau:

 Mỗi một hoạt động sẽ tương ứng với một giao dịch được tạo thành, có đầu vào và đầu ra Ngoài ra còn phải có chữ ký kỹ thuật số (khóa riêng của người gửi) ký vào bên trong giao dịch để khẳng định chủ quyền sở hữu

 Giao dịch được gửi đến mạng Blockchain và nằm trong hàng đợi để chờ được xuất bản Có thể xác minh tính hợp lệ bằng cách sử dụng khóa chung của người gửi để kiểm tra Nút xuất bản sẽ đảm nhiệm xuất bản giao dịch đó thành khối

Trang 35

 Khối phải nắm được giá trị băm của header khối liền trước nó và của header mà nó đang nắm giữ Giờ đây, khối có thể được thêm vào Blockchain

Sau khi khối thêm vào trong Blockchain (nói cách khác, nó được ghi vào

sổ cái mà nút đó đang giữ), thì nút đó gửi bản sao của sổ cái đến toàn bộ mạng

1.6 Thuật toán đồng thuận

Bitcoin hay các ứng dụng khác của công nghệ Blockchain được sử dụng

để chuyển giá trị trong môi trường không tin tưởng, vì vậy cần một cách xác minh các giao dịch được thực hiện là đúng và đó là các thuật toán đồng thuận Mục tiêu của thuật toán đồng thuận là đảm bảo tồn tại duy nhất 1 lịch sử giao dịch và lịch sử giao dịch đó không chứa các giao dịch không hợp lệ hoặc các giao dịch có mâu thuẫn Ví dụ: không cho phép một tài khoản có thể tiêu dùng quá số lượng đang có trong tài khoản của mình hoặc tiêu dùng 2 lần Bảng bên dưới sẽ mô tả một số sự khác nhau cơ bản của một số thuật toán đồng thuận

Bitcoin xử lý vấn đề đồng thuận bằng cách với mỗi block mới sẽ có 1 target đảm bảo giá trị băm của block trước nó, block hiện tại và một giá trị nonce phải nhỏ hơn hoặc bằng giá trị target này Do giá trị của hàm băm được phân bố đều nên không dễ để có thể tạo ra một block thỏa mãn điều kiện trên

Vì vậy, có một cuộc chạy đua giữa các máy đào trong mạng để tìm được giá trị nonce chính xác Khi tìm được giá trị nonce, máy đào sẽ truyền thông tin

về block mới được tìm ra tới toàn bộ mạng lưới và các máy đào khác sẽ thực hiện xác minh giao dịch Nếu đủ số node xác minh tìm thấy các giao dịch, chúng sẽ đồng ý để block được thêm vào chuỗi Quá trình này được gọi là proof-of-work (PoW) Mục tiêu là không tập trung quá nhiều quyền lực cho một cá nhân hay tổ chức nào vì thế cần phải lựa chọn một loại tài nguyên hạn

Trang 36

chế nào đó để bầu chọn cho tính xác thực của một block Với PoW, tài nguyên đó chính là sức mạnh tính toán của máy tính Nhưng sức mạnh tính toán thì ngày càng sẵn có và rẻ hơn theo định luật Moore và công nghệ điện toán đám mây, độ khó của hàm băm đã được quy định dựa vào tần suất mà block trước đó được tìm ra Tuy nhiên, PoW là một sự lãng phí năng lực tính toán và năng lượng vô cùng lớn Có những thợ đào chỉ đào Bitcoin vào mùa đông và sử dụng nhiệt lượng tỏa ra để sưởi ấm (“Hotmine Inc.” 2016) Các thợ đào tập trung tài nguyên lại với nhau thành những nông trại đào bitcoin khổng lồ để tăng hiệu quả, điều này dẫn tới việc tập trung hóa trong mạng phân tán Tốc độ trong mạng Bitcoin là cứ sau 10 phút thì sinh ra 1 block mới

và block size chỉ khoảng 1 MB Sự tiêu tốn năng lượng và thông lượng là 2 nguyên nhân chính dẫn tới sự ra đời của các thuật toán đồng thuận khác để thay thế proof-of-work Đó là Proof – of – Stake (PoS), đây là thuật toán không sử dụng sức mạnh tính toán mà sử dụng chính quyền sử hữu các token của Blockchain để chiếm ưu thế tạo ra block mới Blockchain theo dõi một nhóm các validators (bất kỳ ai giữ token đều có thể trở thành 1 validator bằng cách gửi 1 loại giao dịch đặc biệt để khóa token của họ như 1 khoản đặt cọc) Tất cả các validator có thể tham gia vào quá trình tạo và chấp nhận block mới được thực hiện thông qua thuật toán động thuận Có 2 loại thuật toán đồng thuận: chain-based proof of stake (CBPoS) và BFT – style proof of stake (BFTPoS) Với CBPoS, sau một khoảng thời gian nhất định thuật toán sẽ chọn ngẫu nhiên ra một validator và gán cho validator này quyền tạo ra block mới, và block này phải trỏ tới block cuối cùng của chuỗi Với BFTPoS, các validators sẽ được gán ngẫu nhiên quyền đề xuất các block nhưng việc chấp nhận phải thông qua một quá trình nhiều vòng nơi mà mỗi validator “bỏ phiếu” cho một số block nào đó trong mỗi vòng cho tới khi kết thúc của quá trình tất cả những validators trung thực nhất và đang online sẽ quyết định xem

có hay không bất kỳ block nào được thêm vào chuỗi

Ngày đăng: 24/11/2022, 22:55

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đoàn Ngọc Sơn, 2017, Nghiên cứu ứng dụng công nghệ Blockchain trong thanh toán di động, Luận văn Thạc sĩ - Trường ĐHCN – ĐHQGHN.Tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu ứng dụng công nghệ Blockchain trong thanh toán di động
Tác giả: Đoàn Ngọc Sơn
Nhà XB: Trường Đại học Công nghệ – ĐHQGHN
Năm: 2017
[2] Trent McConaghy, Rodolphe Marques, Andreas Muller, Dimitri De Jonghe, T. Troy McConaghy, Greg McMullen, Ryan Henderson, Sylvain Bellemare, and Alberto Granzotto, June 8, 2016, BigchainDB: A Scalable Blockchain Database Sách, tạp chí
Tiêu đề: BigchainDB: A Scalable Blockchain Database
Tác giả: Trent McConaghy, Rodolphe Marques, Andreas Muller, Dimitri De Jonghe, T. Troy McConaghy, Greg McMullen, Ryan Henderson, Sylvain Bellemare, Alberto Granzotto
Năm: 2016
[3] Swathi Edem, 2016, “Role of Hash Function in Cryptography”, International Journal of Advanced Engineering Research and Science (IJAERS), https://dx.doi.org/10.22161/ijaers/si.3 Sách, tạp chí
Tiêu đề: Role of Hash Function in Cryptography
[4] S. Nakamoto, Oct. 2008, “Bitcoin: A peer-to-peer electronic cash system,” Sách, tạp chí
Tiêu đề: Bitcoin: A peer-to-peer electronic cash system
[5] Duc Hiep Nguyen, Dinh Nghia Nguyen Duc, Nguyen Huynh Tuong, Hoang Anh Pham, 2018, “CVSS:A Blockchainized Certificate Verifying Support System”, SoICT 2018 Proceedings of the Ninth International Symposium on Information and Communication Technology, pages 436- 442. https://doi.org/10.1145/3287921.3287968.Các nguồn trên Internet Sách, tạp chí
Tiêu đề: CVSS:A Blockchainized Certificate Verifying Support System
Tác giả: Duc Hiep Nguyen, Dinh Nghia Nguyen Duc, Nguyen Huynh Tuong, Hoang Anh Pham
Nhà XB: SoICT 2018 Proceedings of the Ninth International Symposium on Information and Communication Technology
Năm: 2018
[8] Ethereum Homestead Documentation - What is Ethereum. (2016). Trích từ http://ethdocs.org/en/latest/introduction/what-is-ethereum.html Sách, tạp chí
Tiêu đề: What is Ethereum
Nhà XB: Ethereum Homestead Documentation
Năm: 2016

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w