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

Ứng dụng công nghệ blockchain trong việc quản lý chứng chỉ đà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 (1.29 MB, 46 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN TUẤN LINH

ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN
TRONG VIỆC QUẢN LÝ CHỨNG CHỈ ĐÀO TẠO

Ngành: Công nghệ thông tin
Chuyên ngành: Quản lý hệ thống thông tin
Mã Số: 8480205.01

LUẬN VĂN THẠC SĨ QUẢN LÝ HỆ THỐNG THÔNG TIN
NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. LÊ PHÊ ĐÔ

Hà nội – 05/2019


LỜI CẢM ƠN
Đầu tiên, tôi xin gửi lời cảm ơn chân thành tới thày Lê Phê Đô đã
hƣớng dẫn và tạo điều kiện cho tôi hoàn thành khóa luận này.
Tôi xin cảm ơn các thày cô trong khoa Công nghệ thông tin trƣờng Đại
học Công Nghệ - Đại học Quốc Gia Hà Nội, những ngƣời đã truyền đạt cho
tôi những kiến thức quý báu trong suốt hai năm học vừa qua.
Luận văn đã đƣợc hoàn thành với tất cả sự cố gắng của bản thân, nhƣng
vẫn không tránh khỏi những sai sót, hạn chế. Vì vậy, tôi 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.
Hà Nội, tháng 03/2019
Học viên


Trần Tuấn Linh

2


MỤC LỤC
LỜI CẢM ƠN .............................................................................................................2
BẢNG CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ .........................................5
DANH SÁCH HÌNH ẢNH .........................................................................................6
LỜI NÓI ĐẦU ............................................................................................................7
CHƢƠNG 1: TỔNG QUAN VỀ BLOCKCHAIN ....................................................9
1.1.

Mật mã học ....................................................................................................9

1.1.1. Thuật ngữ cơ bản ......................................................................................10
1.1.2. Hàm băm, mã hóa bất đối xứng................................................................11
1.1.3. Chữ ký số ..................................................................................................13
1.2.

Công nghệ blockchain .................................................................................13

1.2.1. Bitcoin – nền tảng blockchain đầu tiên ....................................................13
1.2.2. Các blockchain khác .................................................................................15
1.2.3. Smart contract và Ethereum .....................................................................16
1.2.4. Thuật toán đồng thuận ..............................................................................17
CHƢƠNG 2: MỘT SỐ MÔ HÌNH QUẢN LÝ CHỨNG CHỈ ...............................20
2.1.

Chứng chỉ là gì? ...........................................................................................20


2.2.

Quy trình liên quan tới chứng chỉ ................................................................20

2.3.

Giới hạn của các mô hình quản lý chứng chỉ không sử dụng blockchain ...21

2.3.1. Giới hạn của chứng chỉ giấy .....................................................................21
2.3.2. Giới hạn của chứng chỉ số (không sử dụng công nghệ blockchain) ........22
2.4.

Mô hình quản lý chứng chỉ sử dụng blockchain .........................................22

2.4.1. Ngƣời nhận chứng chỉ ..............................................................................23
2.4.2. Đơn vị phát hành ......................................................................................23
2.5.

Một số dự án triển khai quản lý chứng chỉ sử dụng công nghệ blockchain 24

2.5.1. Blockcerts .................................................................................................24
2.5.2. BTCert ......................................................................................................25
CHƢƠNG 3: MÔ HÌNH ÁP DỤNG VÀ THỰC NGHIỆM ...................................27
3.1.

Lựa chọn nền tảng triển khai .......................................................................27

3.1.1. Giải pháp cấp chứng chỉ của Learning Machine trên nền tảng Blockcerts
27

3.1.2. Giải pháp Sony Global Education ............................................................28
3.1.3. Các giải pháp khác ....................................................................................28
3.1.4. Kết luận.....................................................................................................29
3


3.2.

Blockcerts ....................................................................................................29

3.3.

Yêu cầu của bài toán quản lý chứng chỉ ......................................................30

3.4.

Mô hình thử nghiệm ....................................................................................31

3.5.

Thực nghiệm ................................................................................................32

3.5.1. Tổng hợp yêu cầu cấp chứng chỉ ..............................................................32
3.5.2. Tạo file chứng chỉ (module cert-tools) .....................................................33
3.5.3. Phát hành chứng chỉ lên blockchain (module cert-issuer) .......................37
3.5.4. Xác minh chứng chỉ trên blockchain (module cert-verifier) ....................42
3.6.

Kết luận........................................................................................................45


4


BẢNG CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ
Từ viết tắt
Từ đầy đủ
Ý nghĩa
Blockchain
Chuỗi khối
CV
Curriculum Vitae
Hồ sơ xin việc
MIT
Massachusetts Institute of
Học viện công nghệ
Technology
Massachusetts
Database
Cơ sở dữ liệu
Public key
Khóa công khai
Private key
Khóa bí mật
PoW
Proof of Work
Bằng chứng công việc
PoS
Proof of Stake
Bằng chứng cổ phần
UTXO

Unspent transaction output
Đầu ra của giao dịch chƣa
sử dụng
EVM
Ethereum Virtual Machine
Máy ảo Ethereum
Smart Contract
Hợp đồng thông minh
BFT – PoS
Byzantine Fault Tolerance
Mô hình bằng chứng công
Proof of Stake
việc BFT
HTTP
HyperText Transfer Protocol
Bitcoin testnet
Mạng lƣới test dành cho
các nhà phát triển Bitcoin

5


Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình

Hình
Hình
Hình
Hình
Hình

DANH SÁCH HÌNH ẢNH
1: Phân loại các công cụ mã hóa ........................................................... 10
2: Chi tiết giao dịch ............................................................................... 15
3: Mô hình luồng đề xuất Blockcerts .................................................... 29
4: Mô hình thử nghiệm.......................................................................... 31
5: Tạo địa chỉ Bitcoin ............................................................................ 33
6: File yêu cầu cấp chứng chỉ roster_testnet_uet.csv ............................ 33
7: File cấu hình issuer-uet.json ............................................................. 36
8: Đầu ra của quá trình khởi tạo chứng chỉ ........................................... 37
9: Tạo Merkle root của lô chứng chỉ ..................................................... 38
10: Kiểm tra ContainerID...................................................................... 38
11: Đầu ra các chứng chỉ đƣợc phát hành ............................................. 42
12: Đầu ra chứng chỉ hợp lệ .................................................................. 43
13: Đầu ra chứng chỉ không hợp lệ ....................................................... 44

6


LỜI NÓI ĐẦU
Hiện nay tại Việt Nam, khi ngƣời học hoàn thành một khóa đào tạo. Họ
sẽ đƣợc nhà trƣờng hoặc tổ chức đào tạo cấp cho mình một chứng chỉ bằng
giấy thông qua những thông tin mà họ cung cấp trong quá trình nhập học. Sau
đó, khi ngƣời học có nhu cầu cung cấp thông tin về việc mình đã hoàn thành
khóa đào tạo thì chỉ có 2 cách hoặc là mang bản gốc để bên thứ ba kiểm tra,

hoặc là photocopy lại bản gốc và đem đến các cơ sở đƣợc cơ quan có thẩm
quyền công chứng để công chứng và đƣa bản công chứng cho bên thứ ba
kiểm tra.
Có một số vấn đề gặp phải khi thực hiện quy trình trên:
 Trong một số trƣờng hợp ngƣời học mất chứng chỉ, nhà trƣờng hoặc
đơn vị đào tạo không thể cấp lại chứng chỉ cho họ do đã không còn
phôi bằng cũ.
 Xuất hiện một số rủi ro trong quá trình công chứng giấy tờ khi
ngƣời học cố tình làm giả bản gốc để đi công chứng.
 Gây rất nhiều khó khăn cho bên thứ ba (các nhà tuyển dụng, các đơn
vị chủ quản, …) trong việc xác định chứng chỉ ngƣời học cung cấp
có phải là thật hay không?
 Việc cung cấp chứng chỉ giấy không hoàn toàn phù hợp trong thị
trƣờng lao động hiện tại. Khi mà có rất nhiều công cụ (ví dụ:
vietnamworks, LinkedIn,…) hỗ trợ đƣa sơ yếu lý lịch của ứng viên
tới nhà tuyển dụng có nhu cầu nên cung cấp một chứng chỉ giấy
không thể xác thực lên các công cụ nêu trên là không có nhiều ý
nghĩa.
Ngoài ra, theo số liệu thống kê của tổ chức Risk Advisory Group trong
năm 2016 với 5500 mẫu CV thì có tới 63% thông tin về chứng chỉ đào tạo là
không chính xác.
Để giải quyết các vấn đề nêu trên thì cần một hệ thống có khả năng đáp
ứng các yêu cầu về tính nhất quán, đƣợc bảo mật bằng các thuật toán mật mã
học và phân tán. Năm 2008, Satoshi Nakomoto đã giới thiệu sách trắng về
Bitcoin và công nghệ blockchain có thể giải quyết đƣợc đƣợc các vấn đề nêu
trên.
Mục đích của luận văn này là đề xuất mô hình ứng dụng công nghệ
blockchain vào công tác quản lý chứng chỉ đào tạo tại Việt Nam. Mục tiêu
nghiên cứu có thể chia nhỏ làm 03 câu hỏi nghiên cứu nhƣ sau:
 Câu hỏi nghiên cứu thứ nhất: Hiện nay, chúng ta đang có

những mô hình quản lý chứng chỉ trên thế giới? Để trả lời câu
7


hỏi này cần phải sử dụng phƣơng pháp phân loại và hệ thống hóa
lý thuyết, thực hiện tìm kiếm các báo cáo, thống kê về các nền
tảng áp dụng công nghệ hiện nay trong việc quản lý chứng chỉ
trên thế giới.
 Câu hỏi nghiên cứu thứ hai: Công nghệ blockchain là gì? Các
thành phần và cơ chế hoạt động nhƣ thế nào?
 Câu hỏi nghiên cứu thứ ba: Ứng dụng Blockcerts vào quản lý
chứng chỉ nhƣ thế nào?
Luận văn chỉ nghiên cứu lý thuyết về các hệ thống quản lý chứng chỉ,
công nghệ blockchain và áp dụng dự án Blockcerts của MIT Media Lab để
thực hành.
Luận văn thực hiện 3 công việc chính:
o Tìm hiểu về thành phần, cơ chế hoạt động của blockchain.
o Tìm hiểu một số mô hình đang đƣợc áp dụng trong quản lý
chứng chỉ hiện tại trên thế giới.
o Triển khai mô hình: Dựa vào dự án Blockcerts.
Luận văn đƣợc chia làm 3 chƣơng
 Chƣơng 1: Tổng quan về Blockchain
 Chƣơng 2: Một số mô hình quản lý chứng chỉ
 Chƣơng 3: Mô hình áp dụng và thực nghiệm

8


CHƢƠNG 1:
TỔNG QUAN VỀ BLOCKCHAIN

Chƣơng này sẽ giới thiệu và giải thích một số khái niệm cơ bản về mã
hóa, công nghệ blockchain và các khái niệm liên quan.
1.1. 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ỏ.
 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 (hình vẽ 1).
 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ã.
9


 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 mã.
Công cụ mã hóa

Mã hóa không khóa

Mã hóa đối xứng

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

Hình 1: Phân loại các công cụ mã hóa
Phần này đƣợc dựa theo cuốn “Handbook of Applied Cryptography
by A. Menezes, P. van Oorschot and S. Vanstone. (Alfred J. Menezes, 1996)”.
1.1.1. Thuật ngữ cơ bản
Bản rõ là dạng ban đầu của bản tin.
Bản mã là dạng mã hóa của bản rõ.
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 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ã điều kiện:
∀ e ∊ K ∃ d ∊ K, d là duy nhất và Dd = Ee-1
10


Công thức giải mã một bản tin đƣợc viết nhƣ sau:
Dd(Ee(m)) = m ∀ m ∊ M
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.1.2. Hàm băm, mã hóa bất đối xứng
1.1.2.1.
Hàm băm
Hàm băm là ánh xạ một chiều chuỗi nhị phận có độ dài tùy ý thành một
chuỗi nhị phân có độ dài cố định. Hàm băm có những đặc điểm nhƣ sau:
 Là hàm một chiều bởi vì tốn rất ít tài nguyên để tạo ra một giá trị
băm nhƣng tốn một năng lực xử lý cực kỳ lớn gần nhƣ là không
thể để có thể biến đổi giá trị băm về giá trị ban đầu.
 Độ dài của giá trị băm càng lớn thì càng khó để thực hiện biến

đổi giá trị băm về giá trị ban đầu
 Không có hoặc có ít xung đột khi có 2 giá trị đầu vào x và y cho
ra chung 1 giá trị đầu ra: h(x) = h(y).
 Đoán định đƣợc, tức là với cùng một giá trị đầu vào bao giờ cũng
chỉ cho ra duy nhất một giá trị đầu ra tại mọi thời điểm.
 Hàm băm đƣợc cho là an toàn nhất xét trên khía cạnh khó để
dịch ngƣợc hoặc thay đổi nội dung tại thời điểm hiện tại là SHA
– 3.
Hàm băm đƣợc sử dụng hầu hết ở các hệ thống xác thực mật khẩu. Giá
trị băm của password mà ngƣời dùng nhập vào sẽ đƣợc so sánh với giá trị
băm đƣợc lƣu trên cơ sở dữ liệu của hệ thống thay vì lƣu trữ mật khẩu của
ngƣời dùng dƣới dạng plaintext. Hàm băm cũng là một cơ sở cần thiết để hiểu
về thuật toán đồng thuận proof-of-work sẽ đƣợc giải thích trong phần 2.2.4.
Các thuật toán đồng thuận.
1.1.2.2.
Mã hóa đối xứng
Để hiểu về mã hóa bất đối xứng, chúng ta sẽ xem xét một ví dụ có 2
thực thể là Alice và Bob có nhu cầu trao đổi thông tin với nhau thông qua một
môi trƣờng không bảo mật. Họ không thể sử dụng hàm băm để băm bản tin vì
ngƣời nhận gần nhƣ không thể tìm ra bản tin m khi biết h(m). Cho nên, họ
sử dụng một chƣơng trình mã hóa cụ thể trong không gian bản rõ M, không
11


gian khóa K, một tập các hàm mã hóa và giải mã và không gian bản mã C .
Trong trƣờng hợp mã hóa đối xứng hay còn gọi là mã hóa khóa khóa bí mật,
thì 2 thực thể Alice và Bob sẽ sử dụng chung một khóa e sao cho:
De(Ee(m)) = m
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
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.1.2.3.
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
Whitefield 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, skAvà pkB, skB
thỏa mãn:
Dsk(Epk(x)) = x
 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:
C = EpkB(m)
 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.
12



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.1.3. Chữ ký số
Chữ ký số xử lý vấn đề xác thực và chống chối bỏ trong mật mã học.
Nói cách khác, để đảm bảo cho một ngƣời/thiết bị đã gửi một bản tin, nó cần
đƣợc ký điện tử cũng giống nhƣ những bức thƣ tay đƣợc niêm phong và đƣợc
ký bằng tay bởi chính ngƣời gửi. Chữ ký số là một phƣơng pháp ký dữ liệu
điện tử, nó đảm bảo tính định danh hơn so với chữ ký trên thƣ viết tay. Nó
xác thực bản tin đƣợc gửi đi, đảm bảo rằng ngƣời gửi không thể chối bỏ đƣợc
hành vi gửi đi của mình và danh tính của ngƣời gửi.
Có 2 loại thuật toán chữ ký số: một loại sử dụng nội dung bản tin nhƣ
đầu vào cho thuật toán xác minh, một loại nội dung bản tin sẽ đƣợc khôi phục
từ chữ ký của nó. Loại thứ nhất thƣờng đƣợc áp dụng rộng rãi hơn, dựa vào
các thuật toán băm nên tránh đƣợc các tấn công giả mạo. Loại thứ hai không
cần thông tin về nội dung bản tin để xác minh. Phƣơng pháp này phù hợp hơn
khi gửi nội dung bản tin ngắn bởi vì nội dung bản tin có thể khôi phục đƣợc
từ chữ ký của nó.
Căn bản nhất của công nghệ blockchain đó là khái niệm về cây Merkle
đƣợc đặt theo tên của nhà khoa học Ralph C.Merkle ngƣời đã đƣa ra khái
niệm về nó năm 1979 (Merkle, 1988). Đó là một cấu trúc dữ liệu đƣợc định
nghĩa nhƣ sau: tất cả các node không phải là node lá thì mang giá trị băm của
những node con của nó và node lá thì không có bất kỳ node con nào.
1.2. Công nghệ blockchain
Một blockchain là một kiến trúc tính toán phân tán trong đó mỗi máy
tính là một node nếu chúng tham gia vào mạng lƣới blockchain. Tất cả các
node đều có thông tin đầy đủ về tất cả các giao dịch đã diễn ra. Các giao dịch
đƣợc nhóm lại thành các khối đƣợc thêm liên tiếp vào cơ sở dữ liệu phân tán.
Tại một thời điểm chỉ có một khối đƣợc thêm vào cơ sở dữ liệu phân tán, khối
mới khi đƣợc thêm vào phải đảm bảo một bằng chứng toán học chứng minh
rằng nó đi theo thứ tự từ khối trƣớc đó. Do đó, các khối đƣợc kết nối với nhau

theo thứ tự thời gian.
1.2.1. Bitcoin – nền tảng blockchain đầu tiên
Công nghệ blockchain bắt nguồn từ tài liệu của Nakamoto năm 2018 –
tài liệu chỉ ra đồng tiền kỹ thuật số Bitcoin đƣợc xây dựng nhƣ thế nào.
Bitcoin giải quyết một vấn đề rất quan trọng trong lĩnh vực tiền điện tử đƣợc
gọi là double-spending. Ví dụ sử dụng cùng một đồng điện tử thanh toán cho
13


nhiều thứ. Thông thƣờng điều này đƣợc xử lý thông qua một cơ quan kiểm
soát ví dụ nhƣ ngân hàng hoặc bên thứ ba đƣợc tin tƣởng nhƣng Nakamoto
đƣa ra một máy chủ dấu thời gian (time-stamp server) đảm bảo tất cả giao
dịch xuất hiện theo thứ tự thời gian trong cơ sở dữ liệu. Tác giả đã đã đƣa ra
thuật toán Proof –of – Work (PoW, trong phần 2.2.4) để thiết lập sự đồng
thuận để biết đƣợc chuỗi nào là chuỗi đúng. Thuật toán cũng thiết lập động
lực cho những ngƣời dùng xác thực các giao dịch đúng. Về bản chất, nó làm
cho một giao dịch giả có chi phí tốn kém hơn rất nhiều so với việc xác nhận
một giao dịch đúng. Nếu không có thuật toán đồng thuận thì sẽ mất đi sự tin
tƣởng vào hệ thống blockchain của Bitcoin vì khi đó ai cũng có quyền truy
cập vào lịch sử các giao dịch (tất cả các node) và có thể viết lại lịch sử sau đó
công bố nó nhƣ một chuỗi đúng. Ngƣời dùng Bitcoin không có tài khoản hoặc
số dƣ tài khoản thay vào đó ngƣời dùng ký các giao dịch bằng khóa riêng của
họ. Mỗi bitcoin đƣợc liên kết với một khóa công khai thông qua đầu ra giao
dịch chƣa đƣợc tiêu dùng (UTXO – unspent transaction output) và ngƣời
dùng sở hữu khóa riêng tƣơng ứng có quyền sở hữu và sử dụng nó. Đối với
Bitcoin, khi phát sinh giao dịch ngay cả trong truờng hợp không tiêu dùng hết
số lƣợng bitcoin đang có thì tất cả lƣợng bitcoin vẫn đƣợc sử dụng hết bằng
cách chia nhỏ giao dịch. Ví dụ giao dịch số 1 tại block thứ n, TxOutput gồm
có 2 trƣờng dữ liệu Value là giá trị bitcoin và PubKeyHash là public key đƣợc
băm của chủ sở hữu. Ở đây, A đang có 25000 millibitcoin và A muốn chuyển

cho B 20000 millibitcoin thì giao dịch sẽ đƣợc thực hiện nhƣ hình vẽ bên
dƣới. TxInput của giao dịch tại block thứ n + 1 sẽ đánh dấu TxOutput của
giao dịch tại block n đã đƣợc sử dụng bởi chủ sở hữu của nó bằng cách sử
dụng khóa bí mật để ký. Với giao dịch ở ví dụ trên thì sẽ tách ra thành 2
TxOuput, 1 TxOutput bao gồm 20000 millibitcoin và giá trị băm của public
key của B, 1 TxOutput có 5000 millibitcoin và giá trị băm của public key của
A.

14


Hình 2: Chi tiết giao dịch
(Tham khảo mục 1.4, />Do blockchain đầu tiên là Bitcoin nên không có sự phân biệt giữa
Bitcoin và blockchain. Tất cả các ứng dụng cho blockchain đều nằm trong
tiền mã hóa và các xử lý tài chính. Rất nhiều ứng dụng tài chính đã ra đời dựa
trên nền tảng blockchain, tuy nhiên mô hình phân tán niềm tin đã chứng minh
nó có thể đƣợc áp dụng trong những lĩnh vực khác ngoài tài chính. Đó là sự ra
đời của Ethereum, một nền tảng giống tiền điện tử Bitcoin nhƣng có thêm
chức năng cho các smart contracts.
1.2.2. Các blockchain khác
Một số đặc điểm của Bitcoin đƣợc trừu tƣợng hóa và đƣợc xây dựng lại
để tạo thành một thứ gọi là công nghệ blockchain hay công nghệ sổ cái phân
tán. Trong khi vẫn duy trì những đặc điểm chính của Bitcoin, các blockchain
khác thƣờng linh động hơn trong xử lý các tác vụ mà nó cho phép. Đây là một
công nghệ đang đƣợc phát triển rất nhiều, khi mà các cách tiếp cận mới và các
ứng dụng mới đƣợc ra đời một cách thƣờng xuyên thông qua các tài liệu
whitepaper của các công ty khởi nghiệp hoặc nhóm nghiên cứu. Nhƣng cơ
bản những đặc điểm của blockchain vẫn tƣơng tự nhau: tính phân tán, cơ sở
dữ liệu dấu thời gian với sự đồng thuận đƣợc thiết lập giữa các node. Công
nghệ blockchain có các đặc trƣng nhƣ sau:

 Phân tán: Các node đƣợc xem là giống nhau vì tất cả đều lƣu một
bản copy đầy đủ của toàn bộ lịch sử giao dịch. Có một số ít các node
chỉ lƣu thông tin của một vài khối cuối cùng đƣợc gọi là lightweight
node. Thông thƣờng, việc giao tiếp giữa các node sẽ đƣợc thực hiện
15


thông qua môi trƣờng Internet và sử dụng phƣơng pháp mã hóa đối
xứng.
 Dấu thời gian: Bởi vì tất cả các block đƣợc băm và gắn vào một
chuỗi. Vì thế, việc thay đổi lịch của block cũ sẽ khó khăn hơn vì
phải thay đổi toàn bộ thông tin của chuỗi hiện tại và có đƣợc sự
đồng thuận của mạng lƣới.
 Đồng thuận: Các node sẽ chọn ra chuỗi nào là chuỗi đúng thông qua
thuật toán đồng thuận. Các nodes xác nhận các giao dịch cũng nhƣ
để ngăn chặn các cuộc tấn công chi tiêu gấp đôi. Kiểu của thuật toán
đồng thuận sẽ phụ thuộc vào cấu trúc và mục đích của blockchain
(chi tiết ở mục 1.2.4 Các thuật toán đồng thuận).
1.2.3. Smart contract và Ethereum
“Smart contract” là logic đơn giản đƣợc đẩy lên blockchain, nó có thể
nhận hoặc thực hiện các giao dịch nhƣ bất kỳ một địa chỉ nào và có thể thực
hiện một điều khoản bất biến tùy thuộc vào mục đích của ngƣời đƣa ra logic
đó. Ý nghĩa của từ “contract” trong cụm từ “smart contract” là một phần hợp
đồng có thể đƣợc đƣa vào phần mềm theo một cách nào đó mà việc phá vỡ
điều khoản trong đó là rất tốn kém hoặc không thể.
Theo Szabo, một “smart contract” thƣờng có 4 đặc điểm sau: khả năng
quan sát đƣợc, khả năng thực thi trực tuyến, khả năng xác minh và khả năng
quản lý truy cập (Szabo,1994). Khả năng quan sát đƣợc nghĩa là các thành
viên tham gia hợp đồng có thể nhìn thấy hiệu suất của các thành viên khác
theo các nội dung trong điều khoản của hợp đồng, hoặc có thể chứng minh

đƣợc các điều khoản của mình thực hiện với những thành viên còn lại. Khả
năng thực thi trực tuyến đảm bảo rằng các điều khoản của hợp đồng đang
đƣợc thực hiện. Khả năng xác minh và khả năng quản lý truy cập cùng rất cần
thiết nó giúp smart contract bí mật nhất có thể nghĩa là thông tin và điều khiển
dữ liệu trong một smart contract chỉ nên để các thành viên đƣợc biết nếu cần
thiết.
Nền tảng Ethereum là một blockchain công khai, với một máy ảo EVM
(Ethereum Virtual Machine) để chạy các smart contract. Do máy ảo chỉ chạy
trên môi trƣờng blockchain, smart contract cách ly hoàn toàn với network,
file-system và các tiến trình khác trên các node. Solidity là ngôn ngữ bậc cao
đã đƣợc tạo ra để viết các smart contract trên Ethereum. Cấu trúc của Solidity
tƣơng đối giống với JavaScript nhƣng nó đƣợc viết với một phong cách hoàn
toàn khác. Một smart contract sau khi đƣợc viết bằng Solidity, nó sẽ đƣợc
biên dịch vào EVM bytecode và sau đó đƣợc triển khai lên một địa chỉ
16


Ethereum nào đó. Để triển khai và tƣơng tác với smart contract trên
Ethereum, một thƣ viện JavaScript RPC đƣợc sử dụng cùng với một web API.
Solidity là ngôn ngữ chƣa hoàn thiện và đang đƣợc tiếp tục phát triển.
1.2.4. 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
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 the đị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
17


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 đinh 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.
Thuật toán
Tài nguyên
Điểm mạnh
Điểm yếu
Ví dụ
đồng thuận
sử dụng
Proof – of – Năng lực tính Chạy trong Tiêu
tốn Bitcoin,
Work
toán
môi trƣờng năng lƣợng, Litecoin
hông
tin tắc
nghẽn
tƣởng, giao giao dịch
dịch có tính
bất

biến,
mạng lƣới có
độ phân tán
cao.
Proof – of – Quyền sở hữu Tối ƣu trong Gặp phải vấn NXT
Stake (PoS)
một số lƣợng việc sử dụng đề Nothing –
token
nhất năng lƣợng, at – Stake.
định
thông lƣợng Thực hiện bỏ
và khả năng phiếu
cho
mở rộng.
các
nhánh
khác nhau
của chain tại
cùng
một
thời điểm và
nhận thƣởng
18


Delegated
PoS


cả

2
nhánh.
Quyền sở hữu Đƣợc đánh Sự thờ ơ của BitShares
các
token giá là hiệu các
node
sinh ra sớm quả hơn PoS trong các đợt
nhất và bầu
bầu cử sẽ
chọn
các
dẫn tới sự
node
đƣợc
tập trung quá
quyền
tạo
mức.
block.
So sánh một số thuật toán đồng thuận

19


CHƢƠNG 2:
MỘT SỐ MÔ HÌNH QUẢN LÝ CHỨNG CHỈ
Chƣơng này sẽ giới thiệu một số mô hình quản lý chứng chỉ hiện có tại
Việt Nam cũng nhƣ trên thế giới, từ đó cũng nêu ra một số ƣu nhƣợc điểm của
các mô hình đó.
2.1. Chứng chỉ là gì?

Chứng chỉ là một văn bản đƣợc bên này cấp cho bên kia để xác nhận là
một sự kiện nào đó là đúng. Trong lĩnh vực giáo dục, chứng chỉ đƣợc sử dụng
trong một số tình huống chứng minh cho một số việc nhƣ sau:
 Ngƣời học đã đạt đƣợc kết quả học tập
 Năng lực của giáo viên
 Ngƣời học vƣợt qua một quá trình học tập
 Tổ chức giáo dục hoặc khóa học đạt đƣợc những tiêu chuẩn nhất
định.
 Một cơ quan đƣợc ủy quyền cấp chứng chỉ.
2.2.

Quy trình liên quan tới chứng chỉ
Thông thƣờng, chứng chỉ gồm có 03 quy trình chính nhƣ sau:
 Phát hành: đây là quá trình ghi lại các thông tin vào chứng chỉ.
Thông thƣờng, dữ liệu đƣợc ghi lại:
o Trong cơ sở dữ liệu tập trung của đơn vị phát hành.
o Trên chứng chỉ cấp cho ngƣời dùng.
 Xác minh: đây là quá trình một bên thứ 3 xác minh lại tính xác thực
của chứng chỉ. Có 3 mô hình thực hiện việc này:
o Xác minh dựa vào các tính năng bảo mật đƣợc xây dựng ngay
bên trong chứng chỉ: việc này có thể bao gồm những biện
pháp nhƣ kiểm tra tính xác thực của con dấu, giấy chuyên
dụng, chữ ký, ….
o Xác minh dựa vào đơn vị phát hành: bên thứ ba thực hiện liên
hệ với đơn vị phát hành, hỏi về việc có thực sự phát hành ra
chứng chỉ hay không. Tại đó, các đơn vị phát hành sẽ kiểm tra
thông tin trên cơ sở dữ liệu tập trung của họ hoặc kiểm tra
chức năng bảo mật trong chính chứng chỉ đó.
o Xác minh dựa vào cơ sở dữ liệu tập trung. Với cách này, các
nhà phát hành có thể cung cấp dữ liệu về các chứng chỉ đã

cấp phát cho một bên thứ ba cho phép mọi ngƣời truy vấn dữ
liệu để xem các bản copy của các chứng chỉ đƣợc phát hành
và so sánh 2 cái với nhau.
 Chia sẻ: Đây là quá trình ngƣời đƣợc cấp chứng chỉ chia sẻ chứng
chỉ cho một bên thứ ba. Cũng có 3 cách chia sẻ chứng chỉ:

20


o Chuyển trực tiếp chứng chỉ (hoặc một bản copy của chứng
chỉ) cho bên thứ ba. Ví dụ: qua email, hoặc đƣa trực tiếp cho
bên thứ ba.
o Lƣu chứng chỉ với ngƣời đƣợc ủy quyền chỉ chia sẻ với một
số ngƣời theo yêu cầu của bạn (ví dụ trong trƣờng hợp di
chúc, công chứng viên chỉ đƣợc phép chia sẻ nội dung di chúc
với ngƣời thụ hƣởng, sau khi một ngƣời chết)
o Đƣa chứng chỉ vào một kho dữ liệu công cộng nơi tất cả mọi
ngƣời đều có thể tra cứu đƣợc.
2.3. Giới hạn của các mô hình quản lý chứng chỉ không sử dụng
blockchain
Các chính phủ và các ngành công nghiệp đang nỗ lực để số hóa chứng
chỉ trên toàn thế giới. Tuy vậy, hầu hết chứng chỉ vẫn đƣợc phát hành trên
giấy hoặc các vật liệu vật lý khác. Ở nhiều quốc gia, chứng chỉ lai đƣợc sử
dụng nhƣ một sự kết hơp nơi mà chứng chỉ giấy đƣợc sao lƣu bởi các cơ sở
dữ liệu của một bên thứ ba chuyên cung cấp dịch vụ truy vấn thông tin (Ví du:
). Tuy nhiên, các giới hạn của mỗi hệ thống cho thấy rõ
nhu cầu về sự cần thiết có một công nghệ quản lý chứng chỉ tốt hơn, mạnh mẽ
hơn
2.3.1. Giới hạn của chứng chỉ giấy
Chứng chỉ giấy vẫn đƣợc xem là hình thức chứng nhận an toàn nhất vì

những lý do sau:
 Khó tạo ra do tính năng bảo mật đƣợc tích hợp trong giấy làm chứng
chỉ.
 Thƣờng đƣợc giữ trực tiếp bởi ngƣời nhận nên ngƣời nhận có toàn
quyền kiểm soát chứng chỉ.
 Tƣơng đối dễ để giữ chứng chỉ an toàn.
 Ngƣời đƣợc cấp có thể đƣa ra ở bất kỳ nơi nào mà họ muốn.
Tuy nhiên, việc quản lý bằng chứng chỉ giấy cũng có nhiều điểm bất lợi
nhƣ sau:
 Vẫn có nguy cơ làm giả, ngƣời phát hành phải giữ một quyển sổ lƣu
trữ thông tin văn bằng đã cấp để làm nhiệm vụ xác thực thông tin
khi cần.
 Quyển sổ lƣu trữ thông tin văn bằng này là điểm chết. Nếu mất
thông tin trên sổ này sẽ không thể xác thực đƣợc thông tin.
 Việc xác thực thông tin đƣợc thực hiện thủ công  tốn nguồn lực.

21


 Để chứng chỉ càng bảo mật, thì phụ thuộc hoàn toàn vào chất liệu
làm chứng chỉ. Chất liệu và công nghệ làm chứng chỉ càng khó giả
mạo thì chi phí càng cao.
 Không thể thu hồi chứng chỉ đã ban hành nếu không đƣợc sự đồng ý
của ngƣời đƣợc cấp.
 Bên thứ 3 cần xác minh chứng chỉ họ phải đọc và xác minh bằng tay
 tốn nguồn lực, thời gian.
2.3.2. Giới hạn của chứng chỉ số (không sử dụng công nghệ blockchain)
Chứng chỉ số có nhiều ƣu điểm hơn chứng chỉ giấy:
 Cần ít nguồn lực hơn để phát hành, duy trì và sử dụng vì:
o Tính xác thực của các chứng chỉ có thể tự động đƣợc kiểm tra

mà không cần sự can thiệp thủ công nào.
o Khi bên thứ 3 cần sử dụng các chứng chỉ, chứng chỉ số có thể
đƣợc tự động đối chiếu, xác minh thậm chí là tóm tắt nếu
chúng đƣợc phát hành theo một chuẩn định dạng.
o Bảo mật vì nó bắt nguồn từ các giao thức mật mã, đảm bảo
rằng chi phí phát hành chứng chỉ rẻ nhƣng để sao chép thì rất
tốn kém trừ ngƣời phát hành.
 Ngƣời phát hành có quyền thu hồi chứng chỉ.
Chứng chỉ số cũng có những nhƣợc điểm nhƣ sau:
 Nếu không sử dụng chữ ký số, chứng chỉ số rất dễ bị giả mạo.
 Nếu sử dụng chữ ký số, nó yêu cầu phải có bên thứ 3 đảm bảo tính
toàn vẹn của giao dịch – các bên thứ ba có quyền kiểm soát đáng kể
mọi khía cạnh của quá trình chứng nhận và kiểm tra  dễ bị lợi
dụng.
 Tại nhiều quốc gia, không có một chuẩn mở cho chữ ký số, dẫn tới
việc chứng thực chỉ có thể đƣợc kiểm tra trong một hệ sinh thái cụ
thể nào đó.
 Dễ dàng phá hủy các bản ghi điện tử, để đảm bảo an toàn dữ liệu
cần có hệ thống sao lƣu đa tầng và có khả năng chống lỗi.
 Nếu nơi lƣu trữ bị lỗi, chứng chỉ số trở nên vô giá trị vì không thể
xác thực đƣợc thông tin.
 Có thể tấn công đơn vị đăng ký và lƣu trữ chứng chỉ dẫn tới một
cuộc rò rỉ dữ liệu quy mô lớn.
Mô hình quản lý chứng chỉ sử dụng blockchain
Công nghệ blockchain là một cơ sở hạ tầng mới về bảo mật, chia sẻ và
xác minh thành tích trong học tập. Trong việc quản lý chứng chỉ, blockchain
có thể lƣu trữ một danh sách các nhà phát hành và ngƣời nhận, cùng với đó là
bảng băm của chứng chỉ trong một database công khai (blockchain) đƣợc lƣu
2.4.


22


trữ trong hàng ngàn máy tính trên toàn cầu. Chứng chỉ số đƣợc bảo mật trên
blockchain có nhiều điểm lợi thế hơn chứng chỉ số “thông thƣờng” vì một số
nguyên nhân nhƣ sau:
 Không thể bị làm giả: có thể xác mình chắc chắn rằng chứng chỉ ban
đầu đƣợc cấp và đƣợc nhận bởi những ngƣời đƣợc chỉ định trong
chứng chỉ.
 Bất kỳ ai cũng có thể xác minh đƣợc chứng chỉ bằng cách sử dụng
các phần mềm mã nguồn mở để truy cập vào blockchain mà không
cần bất kỳ một bên thứ ba nào.
 Do không cần bất kỳ bên thứ ba nào tham gia vào quá trình xác
minh chứng chỉ nên chứng chỉ vẫn có thể đƣợc xác minh ngay cả
khi tổ chức phát hành không còn tồn tại.
 Thông tin về chứng chỉ chỉ bị mất khi hệ thống blockchain trên thế
giới bị sụp đổ. Nhƣng đây là hệ thống phân tán vì vậy để đánh sập
toàn bộ hệ thống là việc làm hết sức khó khăn.
 Hàm băm đƣợc sử dụng để tạo liên kết với tài liệu gốc và đƣợc lƣu
trữ trên blockchain. Nhƣ vậy, ngƣời dùng vẫn nắm giữ chứng chỉ
gốc đảm bảo tính riêng tƣ của tài liệu.
2.4.1. Ngƣời nhận chứng chỉ
Blockchain đã giải quyết một số vấn đề đứng từ khía cạnh của ngƣời nhận:
 Tính độc lập: ngƣời nhận sở hữu chứng chỉ và không cần đơn vị
phát hành hay một bên thứ ba nào tham gia vào quá trình sau khi
nhận đƣợc chứng chỉ.
 Tính sở hữu: ngƣời nhận có thể chứng minh chứng chỉ đƣợc sở hữu
bởi họ chứ không phải bất kỳ ai khác.
 Kiểm soát: ngƣời nhận có toàn quyền kiểm soát chứng chỉ của họ.
Họ có thể chọn liên kết chứng chỉ của mình với bản CV online của

họ.
 Có thể kiểm chứng: chứng chỉ có thể kiểm chứng bởi một bên thứ
ba nhƣ nhà tuyển dụng, hội đồng tuyển sinh hay các đơn vị xác
minh.
2.4.2. Đơn vị phát hành
Đứng trên khía cạnh từ phía đơn vị phát hành, blockchain đã giải quyết
một số vấn đề nhƣ sau:
 Đơn vị phát hành có thể chứng minh đâu là chứng chỉ họ phát hành.
 Đơn vị phát hành có thể đặt một thời hạn cho chứng chỉ.
 Chứng chỉ có thể đƣợc thu hồi bởi đơn vị phát hành.
 Đảm bảo an toàn cho hệ thống quản lý chứng chỉ.
23


2.5. Một số dự án triển khai quản lý chứng chỉ sử dụng công nghệ
blockchain
2.5.1. Blockcerts
2.5.1.1.
Giới thiệu
Blockcerts là một dự án mã nguồn mở đƣợc phát triển bởi một nhóm
các nhà nghiên cứu thuộc MIT Media Lab – Hoa Kỳ. Dự án đƣợc bắt đầu
phát triển năm 2016 thời điểm bùng nổ của các loại tiền mã hóa. Đây là một
dự án sớm nhất nghiên cứu đầy đủ về việc quản lý chứng chỉ trên blockchain.
Mục tiêu của dự án là xây dựng một chuẩn mở cho việc tạo, phát hành, xem
và xác thực thông tin chứng chỉ số trong lĩnh vực đào tạo. Sau gần 3 năm phát
triển, dự án đã có 2 phiên bản: Blockcerts version 1.0 và Blockcerts version
2.0. Phiên bản 2.0 có một số thay đổi so với phiên bản 1.0 đó là:
 Cấp phát chứng chỉ theo lô thay vì cấp chứng chỉ cho từng cá nhân
nhƣ trƣớc đây. Việc này giúp làm giảm số lƣợng giao dịch bitcoin
cần phải thực hiện để tiết kiệm chi phí.

 Chứng chỉ đƣợc thu hồi theo chuẩn Open Badges v2.0, tức là dựa
vào một đƣờng dẫn “HTTP URI revocation list” thay vì sử dụng
phƣơng pháp gửi một giao dịch bitcoin vào địa chỉ của ngƣời nhận.
Blockcert đã đi sâu vào xử lý các vấn đề trong việc quản lý chứng chỉ
trong đào tạo, cụ thể nhƣ sau:
 Dự án thiết kế gồm 3 nhóm đối tƣợng: Đơn vị phát hành, Ngƣời
nhận chứng chỉ và ngƣời xác thực chứng chỉ.
 Ngƣời nhận chứng chỉ sẽ cung cấp thông tin địa chỉ trên blockchain
của mình cho đơn vị phát hành thực hiện tạo, ký và phát hành chứng
chỉ lên blockchain. Sau đó, ngƣời xác thực chứng chỉ sẽ kiểm tra
thông tin từ chính chứng chỉ của ngƣời nhận và trên blockchain.
Mặc dù, dự án đã phát triển đƣợc 3 năm nhƣng cũng có một số điểm
hạn chế. Chi tiết sẽ đƣợc nêu ở mục 2.5.1.3, sau đây sẽ là các điểm mạnh của
dự án.
2.5.1.2.
Điểm mạnh của dự án
Một số điểm mạnh của dự án so với việc quản lý chứng chỉ không sử
dụng công nghệ blockchain:
 Chứng chỉ không bị làm giả vì sử dụng thuật toán băm (băm trong
chứng chỉ, tạo cây merkle để phát hành lên blockchain), khi có bất
kỳ thay đổi nào về thông tin trong chứng chỉ sẽ làm sai lệch giá trị
băm và sẽ phát hiện ra chứng chỉ giả.
24


 Hỗ trợ công cụ xác minh chứng chỉ có hợp lệ hay không (certverifier, wallet-android, wallet-ios, cert-verifier-js) hoặc ngƣời dùng
có thể tự phát triển một ứng dụng riêng để kiểm tra tính hợp lệ của
chứng chỉ.
 Trong trƣờng hợp đơn vị phát hành không còn tồn tại, những chứng
chỉ của đơn vị này phát hành ra vẫn có thể đƣợc xác minh.

 Ngƣời nhận không cần phụ thuộc vào một bên thứ ba sau khi chứng
chỉ đƣợc cấp mà có thể toàn quyền xem, chia sẻ và kiểm soát chứng
chỉ của mình.
 Đơn vị phát hành có thể chứng minh đƣợc chứng chỉ của họ phát
hành, thu hồi chứng chỉ đã cấp, đặt thời gian hết hạn cho chứng chỉ
và quan trọng nhất là đảm bảo an toàn cho những chứng chỉ cấp ra
mà không cần phụ thuộc nhiều vào hạ tầng sao lƣu của mình.
 Sẵn sang trên 2 nền tảng blockchain phổ biến nhất hiện này là
Bitcoin và Ethereum.
2.5.1.3.
Một số hạn chế
Tuy vậy, nhƣ đã đề cập ở 2.5.1.1, mặc dù đã phát triển đƣợc gần 3 năm
nhƣng dự án vẫn còn tồn tại một số hạn chế nhƣ sau:
 Quy trình để phát hành chứng chỉ đang phụ thuộc vào duy nhất một
ngƣời giữ khóa bí mật của đơn vị đào tạo. Điều này có thể dẫn tới
các vấn đề liên quan tới tham nhũng.
 Việc quản lý danh sách các chứng chỉ thu hồi dựa vào “HTTP URI
revocation list” tạo ra một nút thắt cổ chai. Kẻ tấn công có thể tấn
công vào server chứa danh sách này để cập nhật, thêm mới, xóa
thông tin các chứng chỉ trong danh sách.
 Việc định danh các đơn vị phát hành hiện tại cũng dựa vào một
đƣờng dẫn qua giao thức HTTP. Cũng tƣơng tự nhƣ việc quản lý
chứng chỉ thu hồi, đây là một nút thắt cổ chai mà kẻ tấn công có thể
lợi dụng
Từ một số điểm bất cập nêu trên, các nhà nghiên cứu của đại học
Birmingham của Vƣơng quốc Anh đã phát triển dự án BTCert dựa trên nền
tảng của Blockcerts để xử lý vấn đề. Chi tiết trong mục 2.5.2.
2.5.2. BTCert
2.5.2.1.
Giới thiệu

BTCert là dự án đƣợc phát triển bởi nhóm các nhà nghiên cứu thuộc
Đại học Birmingham. Chi tiết dự án đƣợc mô tả trong đƣờng dẫn:
. Dự án bắt đầu từ cuối năm 2017
và đƣợc viết bằng Java thay vì Python nhƣ Blockcerts.
25


×