Tải bản đầy đủ (.pdf) (3 trang)

Nghiên cứu ứng dụng công nghệ chuối khối (Blockchain) cho quản lý dữ liệu đào tạo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (153.61 KB, 3 trang )

Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3

NGHIÊN CỨU ỨNG DỤNG CÔNG NGHỆ CHUỐI KHỐI
(BLOCKCHAIN) CHO QUẢN LÝ DỮ LIỆU ĐÀO TẠO
Trương Xuân Nam
Khoa Công nghệ Thông tin - Trường Đại học Thủy lợi, email:

không gian lữu trữ đã được loại bỏ một cách
cơ bản. Nhưng đồng thời với việc ra đời dữ
Cùng với sự ra đời và phát triển của các
liệu số hóa và giao dịch trực tuyến, nhiều vấn
loại tiền mã hóa (cryptocurrency), chuỗi khối
đề khác lại nảy sinh mà các mơ hình quản trị
(blockchain) là công nghệ nền tảng cung cấp
dữ liệu truyền thống trên máy tính vẫn chưa
hạ tầng cơ sở cho tiền mã hóa cũng được
thể khắc phục triệt để.
nghiên cứu và đang ở trong giai đoạn ứng
dụng thử nghiệm rộng rãi.
2.2. Vấn đề kiểm soát dữ liệu
Trong báo cáo này, chúng tơi trình bày
Các dữ liệu số có tính thời gian cần được
một ý tưởng đơn giản cho việc áp dụng công
đảm bảo không thể bị thay đổi, chẳng hạn
nghệ chuỗi khối vào việc quản lý dữ liệu đào
như dữ liệu điểm số của sinh viên, dữ liệu về
tạo, nhằm tăng cường tính minh bạch, tính dễ
q trình cơng tác, sơ yếu lý lịch,…
xác thực, giảm thiểu khả năng can thiệp vào
Trong thực tế thì dữ liệu số rất khó kiểm
dữ liệu cũng như làm sai hỏng dữ liệu một


sốt sự can thiệp sửa đổi hoặc xác minh tính
cách cố ý.
chân thực, vì trái với dữ liệu trên giấy tờ,
khơng có dấu hiệu nào chứng tỏ dữ liệu đã bị
2. PHƯƠNG PHÁP NGHIÊN CỨU
sửa đổi ngoại trừ một vài cơ chế lưu vết
2.1. Bài toán quản lý dữ liệu đào tạo
(log). Hầu hết trường hợp dữ liệu bị sửa đổi
Quản lý dữ liệu của một đơn vị nói chung trái phép đều rơi vào một trong bốn tình
và quản lý dữ liệu của một đơn vị đào tạo nói huống dưới đây:
1. Dữ liệu quản lý bị thay đổi bởi sự can
riêng là bài toán cơ bản trong ngành CNTT.
Vấn đề quản lý dữ liệu được đặt ra từ thiệp từ bên ngoài, do hệ thống bị truy cập
trước khi có sự ra đời của máy tính; vào trái phép.
2. Dữ liệu quản lý bị thay đổi một cách trái
thời điểm đó, dữ liệu được lưu trên giấy
hoặc thẻ nhựa với khả năng sai hỏng cao, phép bởi chính những cá nhân tham gia vận
hạn chế về việc tạo bản sao lưu trữ; quy hành hệ thống.
3. Dữ liệu quản lý bị thay đổi do lỗi phần
định nhà nước cũng chỉ ràng buộc lưu trữ
bắt buộc 5 năm với tài liệu thông thường, mềm hoặc vận hành hệ thống.
4. Dữ liệu quản lý bị thay đổi do các lỗ
10 năm với tài liệu quan trọng. Như vậy với
cách làm này, dữ liệu đào tạo của sinh viên hổng trong phần mềm vận hành.
Các phương pháp giải quyết vấn đề này
sau khi ra trường 5 năm gần như không đảm
bảo việc xác thực hoặc cấp lại, nếu xảy ra thường thường ở những tầng phía trên của
tầng dữ liệu, chẳng hạn như xây dựng các cơ
mất mát.
Với sự ra đời của máy tính và các hệ thống chế kiểm sốt truy cập, lưu vết, kiểm soát

quản trị dữ liệu, các hạn chế về thời gian và phân quyền…
1. GIỚI THIỆU CHUNG

196


Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3

2.3. Công nghệ chuỗi khối

3. KẾT QUẢ NGHIÊN CỨU

Công nghệ chuỗi khối (blockchain) được
giới thiệu đầu tiên bởi Satoshi Nakamoto
cùng với tiền mã hóa Bitcoin [1]. Trong đó
hệ thống chuỗi khối được mô tả như một hệ
cơ sở dữ liệu ngang hàng, trực tiếp, ổn định
và không thể giả mạo.
Những nghiên cứu mới đây phát triển rất
nhiều loại chuỗi khối biến thể khác nhau, mỗi
loại phù hợp với những mục đích sử dụng
khác nhau. Có thể tạm chia các cơng nghệ
chuỗi khối thành 3 loại chính [2], đó là:
 Chuỗi khối công khai (public
blockchain): Đây là hệ thống chuỗi khối
trung thành với ý tưởng ban đầu, trong đó bất
kỳ ai cũng có quyền đọc và ghi dữ liệu. Q
trình xác thực giao dịch địi hỏi phải có hàng
nghìn hay thậm chí là hàng vạn nút tham gia.
Đặc điểm của chuỗi khối loại này là tấn công

thay đổi dữ liệu là điều bất khả thi vì chi phí
rất cao.
 Chuỗi khối riêng (private blockchain):
Đây là hệ thống chuỗi khối cho phép người
dùng chỉ được quyền đọc dữ liệu, khơng có
quyền ghi vì điều này thuộc về một bên thứ
ba tuyệt đối tin cậy. Bên thứ ba này có thể
hoặc khơng cho phép người dùng đọc dữ liệu
trong một số trường hợp. Bên thứ ba toàn
quyền quyết định mọi thay đổi trên chuỗi
khối. Đặc điểm của chuỗi khối loại này là
thời gian xác nhận giao dịch khá nhanh vì chỉ
cần một lượng nhỏ thiết bị tham gia xác thực.
Hệ thống cũng hoạt động ổn định ngay cả khi
xuất hiện nhiều dữ liệu chưa được xác thực.
 Chuỗi khối cấp phép (permissioned
blockchain): Đây là một dạng lai ghép giữa
của chuỗi khối riêng và chuỗi khối cơng khai,
trong đó có thể có nhiều loại quyền khác
nhau, kết hợp giữa những nhóm người dùng
“tuyệt đối tin cậy” và những nhóm người
dùng “đáng tin cậy”.
Trong bài tốn quản lý dữ liệu đào tạo,
chúng tơi sử dụng ý tưởng của chuỗi khối cấp
phép, vì các đặc trưng của loại chuỗi khối
này phù hợp với mơ hình quản lý dữ liệu đào
tạo, đặc biệt là việc phân biệt vai trị giữa các
nhóm người dùng.

3.1. Một lời giải của bài tốn xác thực

dữ liệu
Để triển khai cơng nghệ chuỗi khối thực
tế, chúng tơi chia nhóm người dùng thành các
nhóm sau:
1. Nhóm cấp phát: các người dùng có
quyền đưa dữ liệu lên hệ thống, chẳng hạn
như giáo viên môn học (đưa điểm môn học
lên hệ thống), giáo viên chủ nhiệm (xét thi
đua, rèn luyện,…), khoa quản lý (xét học vụ,
tình trạng học viên)…
2. Nhóm quản trị: các người dùng hỗ trợ
việc xác nhận tình trạng hệ thống, thêm dữ
liệu ở dạng phát sinh tổng hợp, chẳng hạn
như các bộ phận quản lý sinh viên có thể phát
sinh bảng tổng hợp điểm số theo dữ liệu đưa
lên bởi nhóm cấp phát.
3. Nhóm sử dụng: các người dùng chỉ có
quyền xem dữ liệu, chẳng hạn như sinh viên,
phụ huynh… nhóm này có thể phát sinh các
yêu cầu cho nhóm quản trị.
Để ngăn chặn dữ liệu bị thay đổi và xác
thực nguồn dữ liệu được tạo ra, chúng tôi sử
dụng hai nguyên tắc sau:
1. Bất kỳ dữ liệu nào được tạo ra đều được
ký bởi người tạo; chẳng hạn như giáo viên
đưa điểm môn học lên hệ thống, giáo viên sẽ
tạo chữ ký điện tử cho bảng điểm trước khi
đưa lên hệ thống, chữ ký điện tử giúp xác
nhận người tạo dữ liệu và ngăn cấm sự thay
đổi nội dung trong bản thân khối.

2. Bất kỳ bản ghi dữ liệu nào được tạo ra,
đều phải có phần xác nhận bản ghi dữ liệu
phía trước nó, cụ thể ở đây là mã băm
SHA256.
Với hai nguyên tắc cơ bản đó, chúng ta
giải quyết được vấn đề rất khó trong mơ hình
quản lý dữ liệu truyền thống:
 Ngăn chặn tình huống dữ liệu bị thay đổi
bởi chính người quản trị hệ thống (hoặc can
thiệp từ bên ngoài sử dụng tài khoản quản
trị): Giả sử muốn thay đổi một vài điểm số
trong bảng điểm, để bảng điểm mới “có vẻ
đúng”, người can thiệp cần phải có mã khóa
bí mật của giáo viên đã đưa bảng điểm lên hệ
thống để tạo chữ ký số công khai. Ngay cả

197


Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3

trường hợp có khóa bí mật của giáo viên 1. Người dùng gửi một yêu cầu đăng ký
(hoặc sửa bảng điểm với sự đồng lõa của giáo 2. Hệ thống ghi nhận yêu cầu, tạo người dùng
viên), người can thiệp cần phải tạo lại tất cả mới và gửi link kích hoạt qua email
các bản ghi phía sau trên hệ thống (vì mã 3. Người dùng tạo chữ ký số (trên máy khách),
SHA256 của bản ghi hiện tại đã bị thay đổi), điền khóa cơng khai vào form trên link kích hoạt
điều này đồng nghĩa với việc cần phải có chữ 4. Hệ thống ghi nhận khóa cơng khai và kích
ký số của tất cả các cá nhân có tham gia sau hoạt người dùng mới
đó vào q trình tạo dữ liệu, như vậy dữ liệu
Thuật toán 2: tạo người dùng mới

càng cũ thì việc sửa đổi khó.
 Ngăn chặn tình huống dữ liệu bị sửa đổi
3.4. Chương trình minh họa
bởi chính giáo viên: Giáo viên có thể sử dụng
chữ ký điện tử tạo bản ghi mới. Tuy nhiên,
Chúng tơi đã xây dựng một chương trình
dữ liệu mới ghi đè sẽ có mã băm SHA256 minh họa được xây dựng bằng ngôn ngữ
khác với dữ liệu ban đầu, dẫn đến phá hỏng Java, nhưng do hạn chế của báo cáo nên
chuỗi khối ban đầu.
khơng được trình bày ở đây.
3.2. Cấu trúc một khối

4. KẾT LUẬN

Chúng tôi đề xuất cấu trúc cho một khối
đơn gian như sau (khi cài đặt thực tế có thể
xuất hiện thêm nhiều dữ liệu phụ nhằm mục
đích hỗ trợ hoạt động của hệ thống)
 Giá trị Hash: lưu trữ mã băm SHA256
toàn bộ dữ liệu của khối hiện tại.
 Giá trị PreHash: lưu trữ mã băm của khối
liền trước nó.
 Khối dữ liệu Data: dạng BLOB, chứa dữ
liệu do nhóm cấp phát hoặc nhóm quản trị tạo
ra, dữ liệu này có thể gồm nhiều phần với cơ
chế phân quyền khác nhau.
 Giá trị Sign: chứa chữ ký số của người
tạo ra khối dữ liệu Data.
 Giá trị Timestamp: thời điểm mà khối
được đưa lên hệ thống.

3.3. Một số thuật tốn cơ bản
1. Tìm A là khối cuối cùng được verify (*)
2. Đưa giá trị hash của khối A vào PreHash
3. Đặt dữ liệu vào khối Data
4. Tính giá trị Sign là chữ kí số của Data
5. Lấy Timestamp là thời điểm hiện tại
6. Tính giá trị Hash là SHA256 của 4 khối dữ
liệu còn lại (PreHash, Data, Sign, Timestamp)
7. Đưa khối mới vào hệ thống

Trong bài báo này, chúng tơi trình bày một
đề xuất cơ sở cho việc sử dụng công nghệ
chuỗi khối vào việc xây dựng một hệ thống
có tính đảm bảo tin cậy về mặt dữ liệu. Mặt
hạn chế là cấu trúc này mới chỉ đảm bảo phát
hiện chính xác dữ liệu khơng đáng tin cậy,
nhưng chưa chỉ ra phương pháp khôi phục lại
nguyên trạng ban đầu, phương pháp này sẽ
được trình bày ở một nghiên cứu khác trong
tương lai gần.
5. TÀI LIỆU THAM KHẢO
[1] Satoshi Nakamoto, 2008, “Bitcoin: A Peerto-Peer Electronic Cash System”.
https ://bitcoin.org/bitcoin.pdf
[2] Bauerle, Nolan. 2017. "What is the
Difference
Between
Public
and
Permissioned Blockchains?". CoinDesk.


Thuật tốn 1: tạo khối mới
(*) để đảm bảo tìm được khối này, chúng
tôi tạo khối đầu tiên luôn đúng, không chứa
dữ liệu (khối genesis)
198



×