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

Ứng dụng công nghệ blockchain để xây dựng hệ thống bầu cử công khai

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 (8.56 MB, 77 trang )

ỌC
TRƢỜN

N N
ỌC SƢ P

M

-------------------

NGUYỄN VĂN CÔN

ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN
Ể XÂY DỰNG HỆ THỐNG
BẦU CỬ CÔNG KHAI

LUẬN VĂN T

CS

HỆ THỐNG THÔNG TIN

N n - Năm 2021


ỌC
TRƢỜN

N N
ỌC SƢ P


M

-------------------

NGUYỄN VĂN CÔN

ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN
Ể XÂY DỰNG HỆ THỐNG
BẦU CỬ CÔNG KHAI

Chuyên ngành: Hệ thống thông tin
Mã số: 8480104

LUẬN VĂN T

CS

N ƣời hƣớng dẫn khoa học:
PGS. TSKH. TRẦN QUỐC CHIẾN

N n - Năm 2021


i

LỜ CẢM ƠN

Sau hai năm học tập và rèn luyện tại Trường Đại học Sư phạm Đà Nẵng, bằng
sự biết ơn và kính trọng, em xin chân thành cảm ơn Ban Giám hiệu, các phòng, khoa
thuộc Trường Đại học Sư phạm Đà Nẵng và các Giáo sư, P. Giáo sư, Tiến sĩ đã nhiệt

tình giảng dạy và tạo điều kiện thuận lợi giúp đỡ em trong quá trình học tập và làm
Luận văn.
Đặc biệt em xin bày tỏ lòng biết ơn và lời cảm ơn sâu sắc tới PGS. TSKH. Trần
Quốc Chiến người thầy đã trực tiếp hướng dẫn, giúp đỡ em trong suốt quá trình thực
hiện đề tài.
Xin chân thành cảm ơn các Anh chị trong ban lãnh đạo, cán bộ quản lý, giáo
viên, nhân viên, cùng bạn bè, đồng nghiệp đã tạo điều kiện và theo sát em trong q
trình nghiên cứu và hồn thành Luận văn.
Do điều kiện về năng lực bản thân còn hạn chế, luận văn chắc chắn khơng tránh
khỏi những thiếu sót. Kính mong nhận được sự đóng góp ý kiến của các thầy cô giáo
trong hội đồng khoa học, bạn bè và đồng nghiệp để luận văn của em được hoàn thiện
hơn.
Em xin trân trọng cảm ơn.


ii

LỜ CAM OAN
Tơi xin cam đoan đây là cơng trình nghiên cứu và thực hiện luận văn thực sự
của riêng tôi, dưới sự hướng dẫn của PGS.TSKH. Trần Quốc Chiến. 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 hồn toàn chịu trách nhiệm và chịu mọi kỷ luật của Nhà Trường và Đại học Đà
Nẵng.

Học viên

Nguyễn Văn Côn





v

MỤC LỤC
LỜI CẢM ƠN .................................................................................................................i
LỜ CAM OAN ......................................................................................................... ii
THÔNG TIN KẾT QUẢ NGHIÊN CỨU.................................................................. iii
MỤC LỤC ...................................................................................................................... v
DANH MỤC CÁC CHỮ VIẾT TẮT ........................................................................ vii
DANH MỤC CÁC HÌNH ......................................................................................... viii
MỞ ẦU......................................................................................................................... 1
1. Lý do chọn đề tài................................................................................................... 1
2. Mục tiêu nghiên cứu ............................................................................................. 2
3. Đối tượng và phạm vi nghiên cứu ........................................................................ 2
4. Phương pháp nghiên cứu ...................................................................................... 2
5. Ý nghĩa của đề tài ................................................................................................. 3
6. Bố cục luận văn ..................................................................................................... 3
C ƢƠN

1. N

ÊN CỨU TỔNG QUAN .............................................................. 4

1.1. Tổng quan về công nghệ Blockchain ....................................................................... 4
1.1.1. Giới thiệu công nghệ Blockchain ................................................................... 4
1.1.2. Nền tảng lý thuyết ........................................................................................... 5
1.1.3. Tính chất của Blockchain..............................................................................10
1.1.4. Phân loại các hệ thống blockchain ................................................................11
1.1.5. Các phiên bản Blockchain hiện nay:.............................................................11

1.1.6. Các ứng dụng điển hình của cơng nghệ Blockchain .....................................14
1.2. Bầu cử .....................................................................................................................18
1.2.1. Khái niệm Bầu cử .........................................................................................18
1.2.2. Các nguyên tắc của bầu cử............................................................................18
1.2.3. Bỏ phiếu kín ..................................................................................................18
Kết luận Chương 1.........................................................................................................23
C ƢƠN

2.



ÌN

BẦU

CỬ

ỨNG

DỤNG

CƠNG

NGHỆ

BLOCKCHAIN. ..........................................................................................................24
2.1. Đặt vấn đề ...............................................................................................................24
2.1.1. Một số vấn đề tồn tại trong mơ hình bầu cử hiện nay ..................................24



vi
2.1.2. Bỏ phiếu điện tử ............................................................................................24
2.1.3. Mơ hình bầu cử công khai ứng dụng công nghệ Blockchain .......................27
2.1.4. Một số dự án ứng dụng công nghệ blockchain trong việc bầu cử trên thế
giới .................................................................................................................................29
2.2. Phân tích hệ thống ..................................................................................................30
2.2.1. Đặc tả chức năng ...........................................................................................30
2.2.2. Sơ đồ Use Case và sơ đồ nghiệp vụ ..............................................................31
2.2.3. Kiến trúc tổng quan .......................................................................................33
Kết luận Chương 2.........................................................................................................34
C ƢƠN

3. XÂY DỰNG HỆ THỐNG VÀ THỬ NGHIỆM. ...............................35

3.1. Ethereum Network..................................................................................................35
3.2. Công nghệ và cài đặt môi trường ...........................................................................37
3.2.1. Ví điện tử và cách sử dụng............................................................................37
3.2.2. Cài đặt môi trường và thiết lập nút blockchain cục bộ .................................39
3.3. Thực nghiệm và đánh giá .......................................................................................41
3.3.1. Môi trường phát triển và công cụ..................................................................41
3.3.2. Kết quả thử nghiệm .......................................................................................41
3.3.3. Đánh giá kết quả ...........................................................................................49
Kết luận Chương 3.........................................................................................................50
KẾT LUẬN VÀ KIẾN NGHỊ .....................................................................................51
TÀI LIỆU THAM KHẢO
PHỤ LỤC
QUYẾT ỊN

AO Ề TÀI LUẬN VĂN (Bản sao)



vii

DAN

STT

Từ viết tắt

MỤC CÁC C Ữ V ẾT TẮT

Tên đầy đủ

iải thích

1

BTC

Bitcoin

Tên một loại tiền điện tử

2

ETH

Ethereum


Tên một loại tiền điện tử

3

VR

Virtual Reality

Thực tế ảo

4

AR

Augmented Reality

Thực tế tăng cường

5

SHA

Secure Hash
Algorithm

Thuật giải băm an toàn

6

MD5


Message-Digest
algorithm 5

Giải thuật băm 5

7

NFT

Non-fungible token

Tên một loại tiền điện tử

8

EVM

Ethereum Virtual
machine

Máy ảo ethereum


viii

DAN

Số hiệu
hình


MỤC CÁC

Tên hình

ÌN

Trang

1.1:

Sơ đồ tạo chữ ký số

7

1.2:

Sơ đồ các node trong mạng Blockchain

8

1.3:

Cấu trúc của một nút trong blockchain

9

1.4:

Cấu trúc một block


9

2.1:

Mơ hình ứng dụng web

26

2.2:

Sơ đồ Ứng dụng trên Blockchain

28

2.3:

Sơ đồ use case hệ thống

31

2.4:

Sơ đồ nghiệp vụ

32

2.5:

Kiến trúc hệ thống


33

3.1:

Trị giá ETH trên thị trường

35

3.2:

Tiện ích ví điện tử Meta mask

39

3.3:

Blockchain local

40

3.4:

Chạy demo Hệ thống

42


1


MỞ ẦU
1. Lý do chọn đề tài
Ngày nay công nghệ thông tin s trở thành một trong những ngành mũi nhọn để
nước ta sớm hồn thành mục tiêu cơng nghiệp hóa – hiện đại hóa trong tất cả các
ngành và lĩnh vực.
Theo các chuyên gia, xu hướng nóng về CNTT ở Việt Nam bao gồm: Trí tuệ
nhân tạo, Lưu trữ đám mây, Thực tế ảo (VR), Thực tế tăng cường (AR) và công nghệ
Blockchain. Các lĩnh vực quan trọng khác bao gồm Internet vạn vật, Thương mại điện
tử, Quy trình kinh doanh và Gia cơng phần mềm CNTT.
Trong làn sóng phát triển ấy, Blockchain được xem là một công nghệ "chìa
khóa" cho chuyển đổi số và xây dựng nền tảng công nghệ thông tin tương lai.
Với khả năng chia sẻ thông tin dữ liệu minh bạch theo thời gian thực, tiết kiệm
không gian lưu trữ và bảo mật cao, công nghệ blockchain là một trong những xu
hướng công nghệ đột phá, có khả năng ứng dụng rộng rãi ở nhiều ngành nghề, lĩnh
vực.
Bầu cử là một trong những hoạt động nền tảng để xây dựng nên một quốc gia
dân chủ, cơng bằng và minh bạch. Chính vì thế, u cầu tối quan trọng đặt ra ở đây đó
là chính phủ và các tổ chức liên quan phải tổ chức được một cuộc bầu cử minh bạch,
khơng có dấu hiệu gian lận. Từ trước đến nay, các phương pháp bầu cử đã và đang
được áp dụng tại hầu hết các quốc gia là bỏ phiếu dựa trên lá phiếu bằng giấy hay bầu
cử trên nền tảng điện tử. Tuy nhiên, các phương pháp hiện tại đều ít nhiều khơng cung
cấp mức độ minh bạch thỏa đáng dành cho các cử tri.
Hệ thống bỏ phiếu bầu cử bằng giấy là hệ thống được sử dụng rộng rãi trên toàn
thế giới từ trước đến nay với cách thức tổ chức đơn giản: các cử tri điền lựa chọn vào
phiếu bầu và sau đó bỏ phiếu bầu vào các thùng phiếu kín. Khi kết thúc bầu cử, các
phiếu này s được gom lại và kiểm đếm, người được bầu nhiều phiếu nhất s là người
giành chiến thắng. Tuy nhiên, hiện tại hệ thống này đang gặp rất nhiều bất cập như:
- Lãng phí tài nguyên giấy, gây tác động tiêu cực đến môi trường.
- Việc triển khai mất nhiều thời gian và chi phí.
- Khơng đảm bảo tính cơng khai và minh bạch khi các cử tri khơng được trực

tiếp theo dõi q trình kiểm đếm.
- Các thế lực có thể dễ dàng can thiệp bằng cách tự tạo các phiếu bầu giả khiến
cho kết quả bầu chọn khơng chính xác.
Cịn về hệ thống bầu cử điện tử mặc dù đã tiến bộ hơn rất nhiều so với hệ thống
bỏ phiếu bằng giấy, nhưng nó vẫn cịn một số bất cập sau


2

- Hệ thống máy chủ có thể bị tấn cơng, cài mã độc phá hỏng kết quả bầu cử
- Kết quả phiếu bầu vẫn có thể bị can thiệp nếu như có người cố tình cài phần
mềm chèn thêm phiếu bầu ảo.
Với hệ thống bầu cử sử dụng công nghệ blockchain những cử tri thay vì bỏ
phiếu kín thì s tiến hành bầu cử qua thiết bị điện tử và công nghệ blockchain s giúp
ngăn chặn sự sai lệch dữ liệu cũng như khả năng bị tấn công giúp kết quả được đảm
bảo chính xác nhất.
Xuất phát từ những lý do trên được sự đồng ý của PGS. TSKH Trần Quốc
Chiến, tôi chọn đề tài: “Ứng dụng blockchain để xây dựng hệ thống bầu cử công
khai” để làm luận văn thạc sĩ.
2. Mục tiêu nghiên cứu
 Hiểu rõ về bầu cử, các mơ hình bầu cử, các quy trình và nguyên tắt của bầu
cử.
 Hiểu rõ về công nghệ blockchain.
 Áp dụng cơng nghệ blockchain vào quy trình bầu cử.
 Thiết kế được mơ hình ứng dụng blockchain vào việc bầu cử.
 Sử dụng nền tảng Blockchain để cài đặt hệ thống.
3. ối tƣợng và phạm vi nghiên cứu

-


Đối tượng nghiên cứu:
Công nghệ, kỹ thuật, nền tảng xây dựng hệ thống Blockchain.
Bầu cử, mơ hình bầu cử và quy trình bầu cử.
Mơ hình blockchain cho các quy trình bầu cử.

 Phạm vi nghiên cứu:
- Xây dựng mơ hình ứng dụng kỹ thuật blockchain cho các quy trình bầu cử.
- Sử dụng nền tảng blockchain Ethereum network để cài đặt mô hình bầu cử.
4. Phƣơn pháp n hiên cứu
Đề tài luận văn được thực hiện nghiên cứu theo quy trình sau:
Nghiên cứu tổng quan

Nghiên cứu mơ hình

Xây dựn c i đặt và thử nghiệm

Nghiên cứu tổng quan: Nghiên cứu về công nghệ blockchain, các kỹ thuật cơ
bản và tính chất của Blockchain.


3

Nghiên cứu mơ hình: Nghiên cứu các mơ hình bầu cử và đề xuất mơ hình ứng
dụng cơng nghệ blockchain cho bầu cử.
Xây dựng cài đặt và thử nghiệm: Xây dựng hệ thống bầu cử và cài đặt lên
blockchain network sau đó chạy thử nghiệm hệ thống.
5. Ý n hĩa của đề tài
Đề xuất được giải pháp ứng dụng công nghệ blockchain vào bầu cử để nâng cao
chất lượng bầu cử.
Thiết kế và xây dựng được hệ thống bầu cử cơng khai trên mơ hình Blockchain.

6. Bố cục luận văn
Các kết quả của luận văn thu được sau khi thực hiện các nội dung nghiên cứu
trên được tổng hợp trên bản thảo gồm 3 chương chính như sau:
Chƣơn 1: Nghiên cứu tổng quan
Đưa ra cái nhìn tổng quan về cơng nghệ Blockchain. Nêu ra các nền tảng lý
thuyết và các kỹ thuật chính sử dụng trong cơng nghệ Blockchain. Đồng thời trong
chương này, luận văn cũng trình bày về mơ hình bầu cử đang được áp dụng hiện nay.
Chƣơn 2: Mơ hình bầu cử ứng dụng cơng nghệ blockchain.
Trong chương này, luận văn s trình bày những điểm hạn chế của các mơ hình
bầu cử hiện nay, đưa ra các giải pháp khắc phục những khuyết điểm còn tồn tại. Trình
bày ứng dụng cơng nghệ Blockchain vào mơ hình bầu cử để khắc phục những hạn chế
của các mơ hình bầu cử truyền thống.
Chƣơn 3: Xây dựng hệ thống và thử nghiệm.
Mô tả hệ thống Bầu cử công khai với cơng nghệ Blockchain. Trình bày các
cơng nghệ được sử dụng để xây dựng hệ thống, triển khai hệ thống trên mạng
Ethereum blockchain. Tồn bộ hệ thống bầu cử cơng khai dựa trên công nghệ
Blockchain s được mô cả cụ thể trong chương này.
Phần kết luận:
Nêu lên xu hướng phát triển của cơng nghệ blockchain, tóm tắt kết quả đạt
được của luận văn, đồng thời đưa ra những định hướng nghiên cứu tiếp theo.


4

N

C ƢƠN 1
ÊN CỨU TỔN QUAN

1.1. Tổng quan về công nghệ Blockchain

1.1.1. Giới thiệu công nghệ Blockchain
Blockchain là một cơ sở dữ liệu phân cấp lưu trữ thông tin trong các khối thông
tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian. Mỗi khối thơng tin
đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm một
mã thời gian và dữ liệu giao dịch. Blockchain được thiết kế để chống lại việc thay đổi
của dữ liệu. Một khi dữ liệu đã được mạng lưới chấp nhận thì s khơng có cách nào
thay đổi được nó [5].
Blockchain được đảm bảo nhờ cách thiết kế sử dụng hệ thống tính tốn phân
cấp với khả năng chịu lỗi byzantine cao. Vì vậy sự đồng thuận phân cấp có thể đạt
được nhờ Blockchain. Vì vậy Blockchain phù hợp để ghi lại những sự kiện, hồ sơ y tế,
xử lý giao dịch, công chứng, danh tính và chứng minh nguồn gốc. Việc này có tiềm
năng giúp xóa bỏ các hậu quả lớn khi dữ liệu bị thay đổi trong bối cảnh thương mại
toàn cầu.
Một số trích dẫn đáng chú ý về cơng nghệ này được liệt kê dưới đây:
- “Thế hệ đầu tiên của cuộc cách mạng kỹ thuật số mang lại cho chúng ta thông
tin của Internet. Thế hệ thứ hai - được hỗ trợ bởi công nghệ blockchain - mang lại cho
chúng ta giá trị của Internet: một nền tảng mới để định hình lại thế giới kinh doanh và
biến đổi thứ tự công việc của con người trở nên tốt hơn.”
- “Blockchain là một kho lưu trữ, cơ sở dữ liệu phân tán toàn cầu, chạy trên
hàng triệu thiết bị và mở cho mọi người, không chỉ đơn thuần là thơng tin mà cịn cả
những thứ có giá trị, cả danh hiệu, hành vi, danh tính, thậm chí cả phiếu bầu - có thể
được di chuyển, lưu trữ và quản lý một cách an toàn và tư nhân. Sự tin tưởng được
thiết lập thông qua hợp tác giữa số đông và mã thông minh chứ không phải bởi các nhà
trung gian mạnh m như các chính phủ và ngân hàng.”
Blockchain lần đầu tiên được phát minh và thiết kế bới Satoshi Nakamoto vào
năm 2008 và được hiện thực hóa vào năm sau đó như là một phần cốt lõi của Bitcoin,
khi cơng nghệ blockchain đóng vai trị như là một cuốn sổ cái cho tất cả các giao dịch.
Qua việc sử dụng mạng lưới ngang hàng và một hệ thống dữ liệu phân cấp, Bitcoin
blockchain được quản lý tự động. Việc phát minh ra blockchain cho Bitcoin đã làm
cho nó trở thành loại tiền tệ kỹ thuật số đầu tiên giải quyết được vấn đề double

spending (chi tiêu gian lận khi 1 lượng tiền được dùng 2 lần). Công nghệ này của
Bitcoin đã trở thành nguồn cảm hứng cho một loạt các ứng dụng khác.


5

1.1.2. Nền tảng lý thuyết
1.1.2.1. Hàm băm
Hàm băm (tiếng Anh: hash function) là giải thuật nhằm sinh ra các giá trị băm
tương ứng với mỗi khối dữ liệu (có thể là một chuỗi ký tự, một đối tượng trong lập
trình hướng đối tượng, v.v...). Giá trị băm đóng vai gần như một khóa để phân biệt các
khối dữ liệu, tuy nhiên, người ta chấp nhận hiện tượng trùng khóa hay còn gọi là đụng
độ và cố gắng cải thiện giải thuật để giảm thiểu sự đụng độ đó. Hàm băm thường được
dùng trong bảng băm nhằm giảm chi phí tính tốn khi tìm một khối dữ liệu trong một
tập hợp (nhờ việc so sánh các giá trị băm nhanh hơn việc so sánh những khối dữ liệu
có kích thước lớn)[1].
Vì tính thơng dụng của bảng băm, ngày nay, đa số ngơn ngữ lập trình đều cung
cấp thư viện ứng dụng bảng băm, thường gọi là thư viện collection trong đó có các vấn
đề như: tập hợp (collection), danh sách (list), bảng(table), ánh xạ (mapping), từ điển
(dictionary)). Thông thường, các lập trình viên chỉ cần viết hàm băm cho các đối tượng
nhằm tích hợp với thư viện bảng băm đã được xây dựng sẵn.
Một hàm băm tốt phải thỏa mãn các điều kiện sau:
- Tính tốn nhanh.
- Các khố được phân bố đều trong bảng.
- Ít xảy ra đụng độ.
- Xử lý được các loại khóa có kiểu dữ liệu khác nhau.
Một số hàm băm phổ biến:
- MD5 được Ronald Rivest thiết kế vào năm 1991 để thay thế hàm băm MD4
trước đó và được đưa thành tiêu chuẩn vào năm 1992 trong RFC 1321. MD5 tạo ra
một bản tóm tắt có kích thước 128 bit (16 byte). Tuy nhiên, đến đầu những năm 2000

thì hàm băm MD5 trở lên khơng an tồn trước sức mạnh tính tốn của các hệ thống
tính tốn thế hệ mới. Với sức mạnh tính tồn và sự phát triển của công nghệ thám mã
thời gian gần đây, chúng ta có thể tính tốn các va chạm trong MD5 với độ phức tạp
2^21, phép toán chỉ trong vịng vài giây khiến thuật tốn khơng phù hợp với hầu hết
các trường hợp sử dụng trong thực tế.
- SHA-1, viết tắt của Secure Hash Algorithm, được phát triển như một phần của
dự án Capstone của Chính phủ Hoa Kỳ. Phiên bản đầu tiên, thường được gọi là SHA-0
được xuất bản năm 1993 với tiêu đề Secure Hash Standard, FIPS PUB 180, bởi NIST
(Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ). Nó đã bị NSA rút lại ngay sau khi
xuất bản và được thay thế bởi phiên bản sửa đổi, được xuất bản năm 1995 trong FIPS
PUB 180-1 và thường được đặt tên là SHA-1. SHA-1 tạo ra bản tóm tắt có kích thước
160 bit (20 byte). Các va chạm chống lại thuật toán SHA-1 đầy đủ có thể được tạo ra


6

bằng cách sử dụng tấn cơng phá vỡ. Do đó, hàm băm này cho đến nay được coi là
không đủ an toàn.
- SHA-2 là một tập hợp các hàm băm mật mã được thiết kế bởi Cơ quan an ninh
quốc gia Hoa Kỳ (NSA), được xuất bản lần đầu tiên vào năm 2001. Chúng được xây
dựng bằng cấu trúc Merkle–Damgård, chức năng nén một chiều của nó được xây dựng
bằng cấu trúc Davies–Meyer từ một hệ mật mã khối chuyên dụng.
Có thể khẳng định rằng các hàm băm là các cơng cụ thiết yếu trong khoa học
máy tính, đặc biệt khi xử lý khối dữ liệu khổng lồ. Khi được kết hợp với mật mã hóa,
các thuật tốn băm có thể được sử dụng linh hoạt, mang lại khả năng bảo mật và xác
thực theo nhiều cách khác nhau.
Hàm băm được sử dụng trong nhiều ứng dụng thực tế, sau đây là một số ứng
dụng nổi bật của hàm băm:
- Đảm bảo dữ liệu không bị thay đổi: Khi C muốn gửi tài liệu T cho V, C gửi cả
giá trị băm của T và thuật toán băm. Khi nhận được tài liệu T, V dùng thuật tốn băm

đó băm lại T và so sánh với giá trị băm C đã gửi, nếu kết quả không trùng chứng tỏ tài
liệu T đã bị chỉnh sửa.
- Hỗ trợ các thuật toán chữ ký số: Hàm băm giúp tạo ra đại diện tài liệu, các
thuật tốn ký số thay vì ký trên tài liệu ban đầu có dung lượng lớn, s ký lên đại diện
của tài liệu đó. Thời gian thực hiện của thuật toán ký s nhanh hơn nhiều lần.
- Xây dựng cấu trúc dữ liệu bảng băm: Bảng băm là một cấu trúc dữ liệu cho
phép tổ chức lưu trữ và tìm kiếm dữ liệu một cách nhanh chóng và thuận tiện.
1.1.2.2. Chữ ký số
Chữ ký số là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video...) nhằm
mục đích xác định người chủ của dữ liệu đó. Cũng có thể sử dụng định nghĩa rộng
hơn, bao hàm cả mã nhận thực, hàm băm và các thiết bị bút điện tử.[2]
Chữ ký số khóa cơng khai là mơ hình sử dụng các kỹ thuật mật mã để gắn với
mỗi người sử dụng một cặp khóa cơng khai - bí mật và qua đó có thể ký các văn bản
điện tử cũng như trao đổi các thông tin mật. Khóa cơng khai thường được phân phối
thơng qua chứng thực khóa cơng khai. Q trình sử dụng chữ ký số bao gồm 2 quá
trình: tạo chữ ký và kiểm tra chữ ký.
Chữ ký số khóa cơng khai dựa trên nền tảng mật mã hóa khóa cơng khai. Để có
thể trao đổi thông tin trong môi trường này, mỗi người sử dụng có một cặp khóa: một
cơng khai và một bí mật. Khóa cơng khai được cơng bố rộng rãi cịn khóa bí mật phải
được giữ kín và khơng thể tìm được khóa bí mật nếu chỉ biết khóa cơng khai.
Tồn bộ q trình gồm 3 thuật tốn:
- Thuật tốn tạo khóa


7

-

Thuật toán tạo chữ ký số
Thuật toán kiểm tra chữ ký số


Hình 1.1: Sơ đồ tạo chữ ký số
Chữ ký số có ý nghĩa to lớn và trở thành một phần không thể thiếu đối với
ngành mật mã học. Ứng dụng của chữ ký số đã được triển khai trên nhiều quốc gia
trên thế giới, trong đó có Việt Nam. So với chữ ký tay, chữ ký số giúp các cá nhân,
doanh nghiệp thực hiện việc ký các tài liệu được nhanh chóng, hiệu quả hơn. Một số
ứng dụng cụ thể của chữ ký số trong thực tế có thể kể đến như sau:
- Ứng dụng trong chính quyền điện tử: Các cá nhân và doanh nghiệp s không
cần đến các cơ quan nhà nước để xuất trình giấy tờ cũng như ký kết các giấy tờ. Thay
vào đó, việc ký và gửi các tài liệu hồn tồn thơng qua hệ thống máy tính. Hiện nay
ngành thuế ở Việt Nam đã cho phép gửi tài liệu kê khai thuế qua mạng sử dụng chữ ký
số.
- Ứng dụng trong ký kết hợp đồng: Việc ký kết các hợp đồng thường được thực


8

hiện với sự có mặt của tất cả các bên liên quan và cần người chứng kiến, điều này gây
tốn thời gian đặc biệt là khi các bên ở xa nhau về khoảng cách địa lý. Chữ ký số có thể
cải thiện được việc này, các bên có thể xác thực được chữ ký của các bên liên quan
khác thông qua các thuật toán kiểm tra chữ ký.
Trong tương lai, tiềm năng của chữ ký số chắc chắn s còn tiến xa hơn nữa và
có thể được ứng dụng trong nhiều ứng dụng cụ thể khác như bỏ phiếu điện tử, y tế điện
tử, …
1.1.2.3. Các kỹ thuật chính của Blockchain
Công nghệ blockchain tương đồng với cơ sở dữ liệu, chỉ khác ở việc tương tác
với cơ sở dữ liệu. Để hiểu blockchain, cần nắm được năm định nghĩa sau: chuỗi khối
(blockchain), cơ chế đồng thuận phân tán đồng đẳng (Distributed), tính tốn tin cậy
(trusted computing), hợp đồng thơng minh (smart contracts) và bằng chứng công việc
(proof of work). Mô hình tính tốn này là nền tảng của việc tạo ra các ứng dụng phân

tán.[5]

Hình 1.2: Sơ đồ các node trong mạng Blockchain
Cấu trúc phi tập chung: Cơ chế này ngược lại với mơ hình truyền thống – cơ
sở dữ liệu được tập trung và được dùng để quản lý và xác thực giao dịch. Công nghệ
Blockchain không dựa vào các tổ chức thứ ba để quản lý và xác thực, khơng có kiểm
sốt trung tâm, tất cả các nút nhận được thông tin tự kiểm tra, truyền tải, và quản lý,


9

đặt sự tin tưởng vào các nút, cho phép các nút lưu trữ các giao dịch trong một khối
(block). Các block được ghép nối với nhau tạo nên một chuỗi khối. Cấu trúc phi tập
chung là đặc điểm nổi bật và quan trọng nhất của Blockchain.

Hình 1.3: Cấu trúc của một nút trong blockchain
Mỗi block trong Blockchain bao gồm các thành phần sau:
- Index (Block #): Thứ tự của block (block gốc có thứ tự 0)
- Hash: Giá trị băm của block
- Previous Hash: Giá trị băm của block trước
- Timestamp: Thời gian tạo của block
- Data: Thông tin lưu trữ trong block
- Nonce: Giá trị biến thiên để tìm ra giá trị băm thỏa mãn yêu cầu của mỗi
Blockchain.
Giá trị băm (Hash) s băm tồn bộ các thơng tin cần thiết như timestamp,
previous hash, index, data, nonce.

Hình 1.4: Cấu trúc một block



10

Khi có một block mới được thêm vào, block mới s có giá trị “Previous Hash”
là giá trị băm của block được thêm trước nó. Blockchain tìm kiếm block được thêm
vào gần nhất để lấy giá trị index và previous hash.
Bằng cách lưu trữ dữ liệu trên tất cả các nút của mình, mạng blockchain loại bỏ
các rủi ro đi kèm với dữ liệu được tổ chức lưu trữ tập trung. Trong mạng khơng có các
điểm tập trung dễ bị tổn thương cho hệ thống, khơng có các điểm trung tâm làm cho hệ
thống dừng hoạt động (central point of failure). Bất kỳ nút nào trong mạng khi dừng
hoạt động s không ảnh hưởng đến sự vận hành của hệ thống.
Tính tốn tin cậy: Mỗi nút trong mạng có một bản sao lưu trữ toàn bộ
blockchain, chất lượng của dữ liệu phụ thuộc vào sự đồng bộ liên tục theo thời gian
giữa các nút. Các nút trong mạng đều có độ tin cậy như nhau, khơng có nút nào đáng
tin cậy hơn nút nào. Trao đổi dữ liệu trong hệ thống không yêu cầu các nút tin tưởng
lẫn nhau. Quy chế hoạt động của toàn bộ hệ thống và tất cả các nội dung dữ liệu đều
công khai và minh bạch. Vì vậy, các nút khơng thể giả mạo các quy tắc và thời gian do
hệ thống chỉ định.
1.1.3. Tính chất của Blockchain
1.1.3.1. Cơ chế đồng thuận phân quyền (decentralized consensus)
Cơ chế này ngược lại với mơ hình cổ điển về cơ chế đồng thuận tập trung –
nghĩa là khi một cơ sở dữ liệu tập trung được dùng để quản lý việc xác thực giao dịch.
Một sơ đồ phi tập trung chuyển giao quyền lực và sự tin tưởng cho một mạng lưới ảo
phi tập trung và cho phép các nút của mạng lưới đó liên tục lưu trữ các giao dịch trên
một khối (block) công khai, tạo nên một chuỗi (chain) độc nhất: chuỗi khối
(blockchain). Mỗi khối kế tiếp chưa một giá trị băm của khối trước nó; vì thế, mã hóa
(thơng qua hàm băm) được sử dụng để bảo đảm tính xác thực của nguồn giao dịch và
loại bỏ sự cần thiết phải có một bên trung gian. Sự kết hợp của mã hóa và cơng nghệ
blockchain lại đảm bảo rằng s không bao giờ một giao dịch được thực hiện hai lần.[5]
1.1.3.2. Bảo trì tập thể (collective maintenance)
Khối dữ liệu (block) trong hệ thống được duy trì bởi tất cả các nút với chức

năng bảo trì trong toàn bộ hệ thống. Bất kỳ nút nào cũng có khả năng ghi block vào
blockchain. Hơn nữa, các nút trong hệ thống có thể được tham gia bởi bất cứ ai.
1.1.3.3. Tính bảo mật và độ tin cậy
Khi khơng nắm được 51% số nút trong mạng, dữ liệu mạng khơng thể bị kiểm
sốt và sửa đổi. Do đó, bản thân Blockchain đã trở nên tương đối an toàn và có thể
tránh việc sửa đổi dữ liệu. Vì thế, nếu một số lượng lớn các nút có khả năng tính tốn
mạnh được tham gia vào hệ thống thì dữ liệu trong hệ thống này s có độ bảo mật cao
hơn.


11

1.1.3.4. Mã nguồn mở
Công nghệ blockchain được phát hành theo mã nguồn mở. Ngồi thơng tin cá
nhân được mã hóa bởi các bên kinh doanh, dữ liệu Blockchain có thể truy cập được
bởi tất cả mọi người. Bất cứ ai cũng có thể tìm kiếm dữ liệu Blockchain thơng qua
giao diện công khai, cũng như phát triển các ứng dụng có liên quan. Tồn bộ hệ thống
rất minh bạch.
1.1.4. Phân loại các hệ thống blockchain
Phân chia theo tính cơng khai, các blockchain hiện tại được chia làm 3 loại:
blockchain công khai, blockchain được phân quyền, blockchain riêng tư.
Blockchain công khai: Mạng lưới này mở cho tất cả các cá thể có thể tham gia
với mức độ khác nhau, có mã nguồn mở, người tham gia không cần cung cấp định
danh, hồn tồn có thể tham gia và dừng hoạt động bất cứ lúc nào.
Blockchain được phân quyền: Vai trò của từng cá thể trong hệ thống được kiểm
soát, mã nguồn có thể mở hoặc đóng, chỉ có những cá thể liên quan mới có quyền
tham gia vào hệ thống blockchain này.
Blockchain riêng tư: thường có xu hướng nhỏ, quyền tham gia hoàn toàn bị
khống chế. Loại blockchain này thường được sử dụng bởi các tổ chức cần kiểm soát
thành viên và nắm giữ các thông tin mật.

1.1.5. Các phiên bản Blockchain hiện nay:
Blockchain có 3 phiên bản blockchain 1.0, blockchain 2.0 và blockchain 3.0.
Blockchain 1.0 là tiền tệ, tức là sự triển khai các loại tiền mã hoá trong các ứng dụng
liên quan đến tiền mặt như chuyển tiền, gửi tiền và các hệ thống thanh toán điện tử.
Blockchain 2.0 là hợp đồng thơng minh, tức là tồn bộ hồ sơ của các ứng dụng kinh tế,
thị trường và tài chính sử dụng blockchain có phạm vi mở rộng hơn so với những giao
dịch tiền mặt đơn giản: cổ phiếu, trái phiếu, hợp đồng tương lai, vay nợ, thế chấp,
quyền sở hữu, tài sản thông minh và hợp đồng thông minh. Blockchain 3.0 là các ứng
dụng Blockchain vượt ra ngoài phạm vi tiền tệ tài chính và thị trường - đặc biệt là
trong các lĩnh vực như chính phủ, sức khoẻ, khoa học, văn học, văn hoá và nghệ thuật.
a. Blockchain 1.0: Tiền tệ
Cấu trúc chung của mọi loại tiền mã hoá đều gồm 3 tầng: blockchain, giao thức, và
tiền mã hố. Tầng đầu tiên là tầng cơng nghệ nền tảng, công nghệ blockchain.
blockchain là cuốn sổ cái minh bạch phi tập trung hoá các hồ sơ giao dịch – tức là cơ
sở dữ liệu được chia sẻ chung giữa các nút mạng. Tầng ở giữa là hệ giao thức – hệ
thống phần mềm chuyển tiền trên sổ cái blockchain. Tầng trên cùng chính là bản thân


12

đồng tiền. Có hàng trăm loại tiền mã hố khác nhau bao gồm Litecoin, Ripple,
Peercoin…
Tất cả các loại tiền mã hố hiện đại đều gồm 3 tầng này. Thơng thường thì mỗi loại
coin vừa là một loại tiền tệ vừa là một hệ giao thức, và nó có thể có một nền tảng
blockchain riêng hay chạy chung trên blockchain bitcoin. Ví dụ Litecoin chạy trên
giao thức Litcoin và giao thức này chạy trên blockchain Litecoin.
Bitcoin
(BTC),
Peercoin, ..


Litecoin,

Tầng trên cùng

Tiền mã hoá

Tầng giữa

Giao thức bitcoin và phần mềm Các chương trình phần mềm
máy khách
thực hiện các giao dịch

Tầng đầu tiên

Blockchain bitcoin

Sổ cái phi tập trung nằm bên
dưới

Blockchain đã trở thành Internet tiền tệ, kết nối các nền tài chính theo cách mà
Internet vạn vật kết nối các thiết bị. Tiền tệ và thanh tốn là ứng dụng đầu tiên. Có thể
biện minh cho sự tồn tại của các loại tiền tệ thay thế chỉ bằng một luận điểm về kinh
tế: Việc giảm chi phí xử lý thanh tốn thẻ tín dụng trên tồn cầu 3% xuống dưới 1%
mang lại những lợi ích rõ ràng cho nền kinh tế.
Ngồi ra người dùng có thể nhận tiền ngay lập tức trong ví điện tử thay vì phải đợi
chuyển khoản nhiều ngày. Bitcoin và những đồng tiền có cùng nguyên lý có thể mở
đường cho việc tái định nghĩa hoàn toàn các khái niệm về tiền tệ, trao đổi thương mại
chúng ta biết đến hiện nay. Tính cốt lõi của tiền tệ dự trên blockchain là cho phép mọi
giao dịch đều có thể khởi tạo và hoàn tất trực tiếp giữa 2 cá nhân trên Internet. Với tiền
tệ thay thế. Ta có thể phân bổ và trao đổi tài nguyên giữa các cá nhân theo cách hoàn

toàn phi tập trung, phân tán và toàn cầu. Với khả năng này, tiền mã hố có thể trở
thành mạng lưới mở có khả năng lập trình để trao đổi phi tập trung mọi nguồn tài
nguyên, vượt ra khỏi phạm vi tiền tệ và thanh tốn. Vì vậy blockchain 1.0 mở rộng
thành blockchain 2.0.
b. Blockchain 2.0: Hợp đồng thông minh
Năm 2014, blockchain 2.0 vẫn còn đang nằm trong quá trình phát triển nên có
nhiều phạm trù khác nhau, cách phân biệt và cách hiểu khác nhau về nó và cách phân
loại cũng như định nghĩa chính về nó đang hình thành. Một số thuật ngữ thường dùng
để chỉ chung về blockchain 2.0 là: Bitcoin 2.0, giao thức Bitcoin 2.0, hợp đồng thông
minh, tài sản thông minh, Dapp (Decentralized applications - ứng dụng phi tập trung),


13

DAO (Decentralized Autonomous Organization – tổ chức tự quản phi tập trung) và
DAC (Decentralized Autonomous Corporations – công ty tự quản phi tập trung).
Trong khi blockchain 1.0 nhằm tập trung vào tiền tệ và thanh tốn thì
Blockchain 2.0 hướng tới mục tiêu chuyển giao nhiều loại tài sản khác ngoài tiền tệ.
Các giao thức của blockchain 2.0 có thể được sử dụng blockchain bitcoin hoặc
tạo ra blockchain riêng nhưng theo cùng mơ hình kiến trúc kỹ thật phi tập trung của
tiền mã hoá với 3 tầng như blockchain 1.0.
Ý tưởng chính ở đây là tính năng sổ cái giao dịch phi tập trung của blockchain
cũng có thể dùng để đăng ký và chuyển giao mọi dạng hợp đồng và tài sản. Error!
eference source not found. là danh sách một số một số nhóm hợp đồng và tài sản có
thể trao đổi sử dụng cơng nghệ blockchain:
Nhóm

Ví dụ

Chung


Giao dịch uỷ thác, hợp đồng trái phiêu, trọng tài phân
xử, chữ ký đa bên

Giao dịch tài chính

Cổ phiếu, vốn cá nhân, cơng cụ gây quỹ cộng đồng, trái
phiếu, quỹ tương hỗ, trợ cấp, lương hưu và các công cụ
phát sinh

Văn khố quốc gia

Quyền sở hữu đất đai và tài sản, đăng kiểm phương tiện
giao thông, đăng ký kinh doanh và chứng nhận kết hôn,
chứng từ

Hồ sơ nhận dạng

Bằng lái xe, chứng minh thư, hộ chiếu, hồ sơ đăng ký
bầu cử

Hồ sơ cá nhân

Giấy nợ, hồ sơ vay, hợp đồng, cá cược, chữ ký, di chúc,
tín thác, uỷ thác

Hồ sơ chứng thực

Chứng nhận bảo hiểm, chứng nhận quyền sở hữu, các
văn bản cơng chứng


Chìa khố cho tài sản vật Nhà, phịng khách sạn, xe đi thuê, quyền sử dụng

phương tiện giao thông
Tài sản vô hình

Bằng sáng chế, thương hiệu, bản quyền, đăng ký trước,
tên miền.


14

Hợp đồng theo kiểu truyền thống là thoả thuận giữa hai hoặc nhiều bên để làm
hoặc không làm một số việc nào đó nhằm đổi lại một số thứ khác. Các bên tin tưởng
các bên còn lại thực hiện nghĩa vụ cho mình và cần đến bên thứ ba chứng thực. Nếu
các bên khơng thực hiện hợp đồng thì cần đến sự giải quyết của tư pháp.
Hợp đồng thông minh cũng là kiểu thoả thuận tương tự nhưng bỏ đi nhu cầu
niềm tin giữa các bên. Sở dĩ như vậy là do hợp đồng thông minh vừa được xác định
bằng mã lệnh, vừa được thực thi bởi mã lệnh một cách tự động mà khơng có sự lựa
chọn nào khác. Thực tế ba yếu tố của hợp đồng thông minh tạo nên nét khác biệt cho
chúng là tính tự trị, tự chủ và phi tập trung. Tự trị mang ý nghĩa là sau khi hợp đồng
đã được khởi động và đi vào triển khai, giữa hợp đồng và cá nhân khởi tạo không cần
phải liên lạc thêm. Hợp đồng thông minh có thể tự chủ về mặt phân phối tài nguyên tức là gây quỹ bằng cách cung cấp dịch vụ hoặc phát hành cổ phần và sử dụng gây quỹ
gây được cho những tài nguyên cần thiết (ví dụ như được dùng để lưu trữ). Hợp đồng
thông minh là phi tập trung theo nghĩa chúng không tồn tại trên một máy chủ tập trung
nào mà được phân tán thi hành trên khắp các nút mạng đầy đủ.
c. Blockchain 3.0
Blockchain thế hệ thứ 3 kế thừa khái niệm của 2 thế hệ trước và đưa thêm một
khả năng mới đó là ứng dụng phân tán (Dapp viết tắt của decentralized application).
Blockchain 3.0 được coi là bước đột phá trong công nghệ mới. Chúng ta đã biết

Blockchain 2 thế hệ trước phân tán các Blockchain trên các máy tính nhằm lưu giữ
những giao dịch thì Blockchain 3.0 phân tán cả các ứng dụng và các ứng dụng này s
được kích hoạt để thực hiện 1 nhiệm vụ cụ thể do chính người dùng định nghĩa ra.
Polemitis và Andreas Antonopoulos, chuyên gia đầu ngành về Blockchain đã
nói: “Nếu nghiên cứu kỹ về Blockchain ngay từ thời điểm này, bạn s có triển vọng
nghề nghiệp rất tươi sáng. Trên thế giới khơng có nhiều người biết rõ thực sự thì cơng
nghệ Blockchain hoạt động như thế nào”.
1.1.6. Các ứng dụng điển hình của công nghệ Blockchain
1.1.6.1. Ứng dụng Blockchain trong tiền số
Blockchain không chỉ dành riêng cho Bitcoin. Blockchain là công nghệ đằng
sau, bảo đảm cho Bitcoin và những đồng tiền số (digital currency) khác hoạt động.
Điều này có nghĩa là: Bất cứ đồng tiền nào chưa chứng minh được chúng sở hữu cơng
nghệ Blockchain thì chúng ta đều có quyền nghi ngờ tính chính xác của của đồng tiền
đó.


15

1.1.6.2. Ứng dụng Blockchain trong hợp đồng thông minh (Smart Contracts)
Smart Contract (Hợp đồng thông minh) là một thuật ngữ mô tả khả năng tự đưa
ra các điều khoản và thực thi thỏa thuận của hệ thống máy tính bằng cách sử dụng
cơng nghệ Blockchain. Tồn bộ q trình hoạt động của Smart Contract là hồn tồn
tự động và khơng có sự can thiệp từ các yếu tố bên ngồi. Xe tự lái, hợp đồng th nhà
dạng chìa khóa trao tay hay thu phí bảo hiểm...vv chỉ là một số ví dụ về cách Smart
Contract có thể chi phối hoạt động kinh doanh và đời sống của con người trong tương
lai.
Smart Contract giúp đảm bảo việc thực thi hợp đồng hiệu quả hơn hợp đồng
truyền thống và giảm thiểu những chi phí giao dịch gây lãng phí cho các bên. Các điều
khoản của Smart Contract tương đương với một hợp đồng pháp lý và được ghi lại dưới
dạng ngôn ngữ lập trình và khơng thể thay đổi.

Mục tiêu chính của Smart Contract là cho phép hai bên không cần xác định
danh tính có thể làm việc hay giao dịch với nhau trên Internet mà không cần thông qua
trung gian.
Hợp đồng truyền thống được tạo ra bởi các chuyên gia pháp lý với một lượng
lớn tài liệu và cần bên thứ ba chứng thực. Điều này rất mất thời gian và trên thực tế
vẫn thường xảy ra các trường hợp lừa đảo, làm giả. Nếu hợp đồng xảy ra sự cố thì cần
dựa vào sự giải quyết của tư pháp, điều này dẫn đến tốn kém nhiều chi phí liên quan.
Thậm chí trường hợp xấu xảy ra là mâu thuẫn.
Với Smart Contract được tạo ra bởi hệ thống máy tính bằng các ngơn ngữ lập
trình. Trong đó đã nêu rõ các điều khoản và hình phạt tương đương giống như hợp
đồng truyền thống đưa ra. Điều khác biệt là, Smart Contract không cần bất cứ sự can
thiệp nào của con người, do vậy đảm bảo việc thực thi là chính xác và cơng bằng nhất.
Tồn bộ đoạn mã của Smart Contract được thực hiện bởi hệ thống sổ cái phân tán của
Blockchain. Như vậy, dựa trên công nghệ Blockchain, ứng dụng Smart Contract tiếp
tục cho chúng ta thấy mức độ tin cậy cao về mặt thỏa thuận và triển khai thực thi.
Điều này giúp chúng ta liên tưởng tới việc ứng dụng Smart Contract s làm thay
đổi hoàn toàn suy nghĩ của con người trong các mối quan hệ có sự ràng buộc. Đặc biệt
trong kinh doanh, điều này là vô cùng cần thiết.
1.1.6.3. Một số ứng dụng khác
Sản xuất
Trong quá trình sản xuất, chúng ta cần một cuốn sổ cái để giám sát quy trình
sản xuất, hàng tồn kho, phân phối, chất lượng, thông tin giao dịch... Blockchain s thay
một thiết bị thông minh cấp quyền quản lý hiệu quả nhằm gia tăng đáng kể năng suất
cho các quy trình quản lý chuỗi công ứng.


×