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

Khóa luận xây dựng hệ thống bầu cử dựa trên công nghệ blockchain

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 (3.41 MB, 51 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM

DƯƠNG HỒNG LONG

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG BẦU CỬ DỰA TRÊN CÔNG
NGHỆ BLOCKCHAIN
BLOCKCHAIN E-VOTING SYSTEM

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2023


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM

DƯƠNG HỒNG LONG – 19521779

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

XÂY DỰNG HỆ THỐNG BẦU CỬ DỰA TRÊN CÔNG
NGHỆ BLOCKCHAIN
BLOCKCHAIN E-VOTING SYSTEM
KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM


GIẢNG VIÊN HƯỚNG DẪN
TS. Nguyễn Tấn Cầm
ThS. Võ Tấn Khoa

TP. HỒ CHÍ MINH, 2023


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày
………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

1........................................................…..– Chủ tịch.
2..............................................................– Thư ký.
3. ........................................................... – Ủy viên.
4. ........................................................... – Ủy viên


LỜI CẢM ƠN
Để hồn thành khóa luận tốt nghiệp này, tác giả đã nhận được sự giúp đỡ và động
viên từ rất nhiều cá nhân, tập thể trong suốt hành trình nhiều thử thách vừa qua.
Trước nhất, tác giả rất trân trọng và biết ơn sự hướng dẫn Thạc sĩ Võ Tấn Khoa,
Tiến Sĩ Nguyễn Tấn Cầm, và Thạc sĩ Nguyễn Thị Anh Thư. Chính nhờ sự đơn đốc,
nhiệt tình và đầy trách nhiệm của các thầy cô đã giúp tác giả kiên trì đến cùng, hồn
thành khóa luận.
Tiếp theo, tác giả chân thành tri ân sự hỗ trợ và động viên từ nhà trường, quý
thầy cô giảng viên, nhân viên nhà trường trong suốt chặng đường học tập của tác giả
nói chung, và thực hiện khóa luận nói riêng.
Và sau cùng, tác giả vô cùng cảm ơn người thân, bạn bè, đồng nghiệp đã ln
ln có mặt để giúp đỡ, an ủi và dành những lời khuyên quý báu cho tác giả trong quãng

thời gian gần 6 tháng thực hiện khóa luận.
Mặc dù tác giả đã rất nghiêm khắc với bản thân để có được kết quả tốt nhất trong
từng vấn đề nghiên cứu, tuy nhiên vì sự giới hạn của thời gian, tài chính và kinh nghiệm
nên vẫn có thể tồn tại một số điểm chưa hồn chỉnh. Tác giả rất hy vọng có thể nhận
được những góp ý từ phía thầy cơ để đề tài khóa luận này có thể tốt hơn nữa trong tương
lai.
Tác giả chân thành biết ơn và kính trọng!
TP. Hồ Chí Minh, ngày 15 tháng 04 năm 2023
Sinh viên Dương Hoàng Long


MỤC LỤC
Chương 1. TỔNG QUAN ............................................................................................ 2
1.1.

Lý do chọn đề tài ............................................................................................ 2

1.2.

Mục đích nghiên cứu ...................................................................................... 2

1.3.

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

1.4.

Phạm vi nghiên cứu ........................................................................................ 2

Chương 2. CÁC NGHIÊN CỨU LIÊN QUAN ........................................................... 3

2.1.

Hệ thống bầu cử trực tuyến ............................................................................ 3

2.2.

Tham khảo các bài báo khoa học liên quan ................................................... 3

2.3.

So sánh các nghiên cứu .................................................................................. 5

Chương 3. CƠ SỞ LÝ THUYẾT ................................................................................. 6
3.1.

Công nghệ blockchain .................................................................................... 6

3.1.1. Blockchain là gì ? ....................................................................................... 6
3.1.2. Blockchain hoạt động như thế nào ? .......................................................... 6
3.1.3. Các tính chất của blockchain ...................................................................... 7
3.1.4. Các cơ chế đồng thuận trong blockchain ................................................... 9
3.1.5. Một số loại cơ chế đồng thuận trong blockchain ..................................... 10
3.1.6. Blockchain được sử dụng như thế nào? ................................................... 11
3.2.

Mạng Ethereum ............................................................................................ 14

3.2.1. Ethereum là gì ?........................................................................................ 14
3.2.2. Các tính năng của Ethereum..................................................................... 15
3.2.3. Các loại tài khoản trên Ethereum ............................................................. 15

3.2.4. Ethereum hoạt động như thế nào ? ........................................................... 16
3.2.5. Ethereum Virtual Machine ....................................................................... 16
3.3.

Giải pháp mở rộng blockchain layer 2 ......................................................... 17

3.4.

Cây Merkle ................................................................................................... 18

3.5.

Account abstraction ...................................................................................... 19

3.6.

Optimistic rollups ......................................................................................... 20

Chương 4. PHƯƠNG PHÁP ĐỀ XUẤT ................................................................... 21
4.1.

Các cơng nghệ .............................................................................................. 22

4.2.

Bài tốn bầu cử ............................................................................................. 23


4.3.


Giải pháp cho hệ thống EVB........................................................................ 23

4.3.1. Vấn đề bầu cử ........................................................................................... 23
4.3.2. Giải pháp đề xuất...................................................................................... 23
4.3.3. Cách hệ thống EVB hoạt động ................................................................. 25
Chương 5. THỰC NGHIỆM ...................................................................................... 28
5.1.

Dữ liệu thực nghiệm ..................................................................................... 28

5.2.

Độ đo đánh giá ............................................................................................. 29

5.3.

Phương pháp thực nghiệm............................................................................ 31

5.4.

Kết quả thực nghiệm .................................................................................... 33

5.5.

Triển khai hệ thống ...................................................................................... 34

5.5.1. Sơ đồ use case của hệ thống ..................................................................... 34
5.5.2. Cấu hình hệ thống .................................................................................... 34
5.5.3. Giao diện hệ thống ................................................................................... 35
Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................... 39

6.1.

Kết quả đạt được .......................................................................................... 39

6.2.

Kết luận ........................................................................................................ 40

6.3.

Hướng phát triển .......................................................................................... 40

TÀI LIỆU THAM KHẢO ............................................................................................ 41


DANH MỤC HÌNH
Hình 3-1. Hình ảnh minh họa một mạng blockchain ..................................................... 6
Hình 3-2. Ảnh minh họa mạng tập trung (bên trái) và mạng phi tập trung (bên phải). . 9
Hình 4-1. Mơ hình hoạt động của hợp đồng thơng minh. ............................................ 24
Hình 4-2. Mơ hình hoạt động của tồn bộ hệ thống. .................................................... 26
Hình 5-1. Sơ đồ use case .............................................................................................. 34
Hình 5-2. Màn hình đăng nhập..................................................................................... 35
Hình 5-3. Màn hình khởi tạo bầu cử. ........................................................................... 36
Hình 5-4. Màn hình xem danh sách các cuộc bầu cử. .................................................. 36
Hình 5-5. Màn hình xem danh sách các đảng. ............................................................. 37
Hình 5-6. Màn hình xem danh sách đại biểu (admin). ................................................. 37
Hình 5-7. Màn hình xem danh sách đại biểu (cử tri). .................................................. 38


DANH MỤC BẢNG

Bảng 2.1. Bảng so sánh các cơng trình nghiên cứu liên quan. ....................................... 5
Bảng 5.1. So sánh các mạng blockchain. ..................................................................... 29
Bảng 5.2. Bảng mô tả các trường dữ liệu sử dụng trong hệ thống. .............................. 31
Bảng 5.3. Kết quả thực nghiệm trên hệ thống EVB. .................................................... 33
Bảng 6.1 Bảng kết quả đạt được .................................................................................. 39


DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Ý nghĩa

ZKP

Zero-Knowledge Proof

BSC

Binance Smart Chain

PoW

Proof of Work

PoS

Proof of Stake

PoB


Proof of Burn

EOA

Externally owned account

EVM

Ethereum Virtual Machine

IPFS

InterPlanetary File System

UX

User Experience

Dapp

Decentralized application


TĨM TẮT KHĨA LUẬN
Hiện nay blockchain là một cơng nghệ khá nổi bật và đã thu hút được nhiều sự quan tâm của
nhiều nghiên cứu trong thời gian vừa qua. Hướng nghiên cứu blockchain trong lĩnh vực chính
phủ đang ngày càng được đầu tư phát triển, tạo ra một xu hướng mới trong lĩnh vực công. Tác
giả đề xuất xây dựng hệ thống bầu cử trực tuyến EVB, sử dụng mạng Ethereum để tạo ra một
hợp đồng thông minh trên nền tảng kỹ thuật số. Hệ thống này đảm bảo độ tin cậy và tính bảo
mật cao bằng cách quản lý dữ liệu bầu cử một cách minh bạch và bất biến. Kết quả thử nghiệm

chứng minh tiềm năng về khả năng mở rộng của EVB bằng cách so sánh hiệu suất xử lý và chi
phí trên các layer blockchain khác nhau, bao gồm layer 1 – Ethereum, layer 2 – Polygon và
sidechain – BSC. Việc tích hợp cây Merkle giúp tăng cường bảo mật, kiểm soát số lượng người
dùng và giảm chi phí đáng kể. Ngồi ra, với độ phức tạp tính tốn của ứng dụng, việc áp dụng
Optimistic Rollup cho thấy chuyển sang mạng blockchain lớp 2 là khơng cần thiết. Tính năng
account abstraction được áp dụng để giúp người sử dụng thanh tốn, từ đó tạo điều kiện hỗ trợ
phí giao dịch, đặt nền tảng cho việc mở rộng hệ thống bỏ phiếu EVB và trải nghiệm người
dùng được cải thiện trên các nền tảng phi tập trung.

1
`


Chương 1.
1.1.

TỔNG QUAN

Lý do chọn đề tài

Trong thời gian gần gây, mảng công nghệ thông tin đang trên đà phát triển rất tốt, trong
đó bỏ phiếu trực tuyến là đang rất được quan tâm và đầu tư nghiên cứu. Nó có tiềm
năng lớn để giảm chi phí tổ chức và giúp gia tăng tỷ lệ tham gia bỏ phiếu. Nó loại bỏ
nhu cầu in các lá phiếu hoặc mở các điểm bỏ phiếu, với kết nối internet ở bất cứ nơi đâu
người tham gia vẫn có thể bỏ phiếu bầu của mình. Ngồi các điểm lợi này, các giải pháp
bỏ phiếu trực tuyến được xem xét hết sức thận trọng vì chúng đưa ra các mối đe dọa
mới. Một lỗ hổng duy nhất có thể dẫn đến thao túng phiếu bầu quy mô lớn. Các hệ thống
bỏ phiếu điện tử phải hợp pháp, tiện lợi, chính xác và an tồn khi dùng cho các cuộc
bầu cử. Nhưng, kế hoạch áp dụng thực tế thể bị hạn chế bởi những bất cập tiềm ẩn liên
quan đến hệ thống bỏ phiếu điện tử. Công nghệ blockchain ra đời đã đưa ra giải pháp

cải thiện được những vấn đề tồn động và nó có các nút phi tập trung cho bỏ phiếu trực
tuyến, blockchain giúp tạo ra các hệ thống bỏ phiếu trực tuyến chủ yếu nhờ các lợi thế
xác minh từ đầu đến cuối của chúng. Công nghệ là một hướng đi mới để khắc phục
những hệ thống bỏ phiếu truyền thống với những lợi ích về mặt bảo mật, minh bạch và
phân tán.
1.2.

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

Nghiên cứu sâu về các mơ hình ứng dụng blockchain trong lĩnh vực áp dụng cho chính
phủ. Dựa vào đó, tác giả đã dùng blockchain để tạo ra một ứng dụng bầu cử có thể áp
dụng vào hệ thống bầu cử ở Hoa Kỳ.
1.3.

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

Các mơ hình bầu cử, cơng nghệ blockchain, khả năng áp dụng, tính mở rộng của cơng
nghệ blockchain và vấn đề về UX đối với những ứng dụng phi tập trung trên blockchain.
1.4.

Phạm vi nghiên cứu

Các mơ hình, hệ thống và ứng dụng dùng blockchain và các công nghệ trên blockchain
để tạo ra một hệ thống bầu cử hoàn chỉnh.

2
`


Chương 2.

2.1.

CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN

Hệ thống bầu cử trực tuyến

Các mơ hình bầu cử trực tuyến dựa trên nền tảng blockchain đã được nghiên cứu từ rất
lâu với mục tiêu tăng lượng cử tri đi bỏ phiếu và giảm thiểu chi phí:
- ElectionBlock [7] là một hệ thống bầu cử sử dụng blockchain và tích hợp máy qt
sinh trắc học, để duy trì tính tồn vẹn của phiếu bầu và phân biệt các cử tri đã đăng
ký và chưa đăng ký.
- Nghiên cứu của Hong-Ning Dai và cộng sự [8] giới thiệu tổng quan về hệ thống bỏ
phiếu trực tuyến dựa trên cơng nghệ block-chain. Nhìn vào những gì nghiên cứu
đem lại, thấy được rằng blockchain có thể cải thiện cho các hệ thống bầu cử đang
gặp phải các vấn đề là tôn trọng riêng tư và thời gian xử lý của hệ thống.
- BCT-Voting [9] là hệ thống bỏ phiếu an toàn và bất biến để giải quyết 5 vấn đề
chính của việc bầu cử - đề cử ứng viên, bảo mật danh tính cử tri, giả mạo phiếu bầu,
đóng góp cho các đảng cử tri hoặc ứng cử viên, kiểm tra kết quả và nêu tên người
chiến thắng.
Ngồi những lợi ích đem lại, các nhà nghiên cứu cũng đã đưa ra những bất cập và khó
khăn khi áp dụng cơng nghệ blockchain vào hệ thống bầu cử. So với các nước đang
phát triển, việc áp dụng blockchain vào bầu cử vẫn chỉ là mảng mới và cần được tìm
hiểu và nghiên cứu thêm ở Việt Nam. Vì lẽ đó, tác giả xin đưa ra giải pháp mới của
mình bằng hệ thống bầu cử EVB sử dụng nền tảng blockchain và chạy trên nhiều thực
nghiệm để so sánh hiệu suất và chi phí thực hiện trên các mạng khác nhau và khi áp
dụng cây Merkle, Optimism Rollup và account abstraction. Mơ hình EVB có khả năng
quản lý dữ liệu bầu cử so với các hệ thống tập trung, dựa trên mơ hình bầu cử của Mỹ
và thiết kế theo kiến trúc của blockchain, cơ sở dữ liệu phân tán và hợp đồng thông
minh.
2.2.


Tham khảo các bài báo khoa học liên quan

Blockchain for Electronic Voting System—Review and Open Research
Challenges: Xây dựng hệ thống bầu cử trực tuyến dựa trên blockchain, có những điểm
tốt hơn khi so với các giải pháp bỏ phiếu điện tử truyền thống như phân tán, không bác
3
`


bỏ và tính bảo mật cao. Nêu ra cơng nghệ blockchain có thể giúp khắc phục các bất cập
và khó khăn của các hệ thống bầu cử hiện tại. Mặt khác, vẫn còn nhiều vấn đề đối với
các dapp như tôn trọng quyền riêng tư và tốc độ giao dịch.
A Systematic Review of Challenges and Opportunities of Blockchain for E-Voting:
Nghiên cứu về các hệ thống bỏ phiếu hiện tại dựa vào blockchain . Phân loại các vấn
đề phổ biến chính thành 5 loại: tính chung, tính tồn vẹn, tiền số, sự đồng thuận. Chỉ ra
blockchain đem lại những giải pháp giúp giải quyết một số vấn đề quan trọng trong các
hệ thống bầu cử hiện tại. Mặt khác, vẫn chỉ ra mặt hạn chế là tôn trọng sự riêng tư và
thời gian xử lý.
A Proposal of Blockchain-based Electronic Voting System: Đề xuất một hệ thống
bỏ phiếu dựa trên blockchain. Chỉ ra các điểm mạnh của hệ thống được đề xuất như là
an toàn và bảo mật cao. Điểm yếu vẫn là về tốc độ xử lý.
Blockchain-Based E-Voting System: Giới thiệu một hệ thống bỏ phiếu trực tuyến dựa
trên blockchain áp dụng những lợi ích của nó là hợp đồng thơng minh cho phép bảo mật
và chi phí hợp lý nhưng vẫn giữ được sự riêng tư của cử tri. Sử dụng mạng Ethereum
riêng tư, cho phép gửi hàng trăm giao dịch trên giây tới blockchain, tận dụng mọi khía
cạnh của hợp đồng thông minh để giảm tải công việc cho blockchain từ đó làm gia tăng
tốc độ xử lý.
A Survey of Blockchain Based on E-voting Systems: Khảo sát các hệ thống bỏ phiếu
dựa vào blockchain cho đến năm 2019. Điểm tốt của các hệ thống này là về tính an toàn,

sự minh bạch và cũng như là việc quản lý dữ liệu. Vẫn còn thử thách đặt ra cho những
hệ thống đã được nêu ra là việc mở rộng, sự chấp thuận của cử tri và sự can thiệp của
chính quyền vào cuộc bầu cử.

4
`


2.3.

So sánh các nghiên cứu
Bảng 2.1. Bảng so sánh các cơng trình nghiên cứu liên quan.

5
`


Chương 3.
3.1.

CƠ SỞ LÝ THUYẾT

Cơng nghệ blockchain

3.1.1.

Blockchain là gì ?

Block-chain giống như một nơi để lưu trữ dữ liệu, nhưng nó phân tán hay cịn được
gọi là sổ cái được cơng khai giữa các node trong mạng máy tính. Hiện tại ứng dụng nổi

bật nhất của blockchain chính là tiền mã hóa (cịn được gọi là tiền điện tử), ngồi ra nó
cũng giúp cải thiện sự an tồn và phi tập trung cho hồ sơ giao dịch. Blockchain là thuật
ngữ cho sự khơng thể thay đổi và nó được dùng để làm cho dữ liệu trong bất cứ ngành
nào trở nên bất biến.
Do là khơng có cách nào để chỉnh sửa dữ liệu trong một khối, nên sự tin tưởng duy
nhất cần thiết là ở điểm mà người dùng hoặc chương trình nhập dữ liệu. Khía cạnh này
làm giảm nhu cầu về các bên thứ ba đáng tin cậy, thường là kiểm toán viên hoặc những
người khác làm tăng thêm chi phí và phạm sai lầm.
Việc sử dụng blockchain đã bùng nổ kể từ khi năm 2009, Bitcoin chính thức được ra
mắt. Việc này đã làm rộ lên trào lưu tạo ra những loại tiền điện tử khác, hợp đồng thông
minh, NFT (mã thông báo không thể thay thế) và DeFi (tài chính phi tập trung).

Hình 3-1. Hình ảnh minh họa một mạng blockchain
3.1.2.

Blockchain hoạt động như thế nào ?

Chúng ta quen thuộc với dùng bảng tính hoặc cơ sở dữ liệu. Blockchain cũng giống
như vậy vì nó là một cơ sở dữ liệu nơi mà những dữ liệu được thêm vào và lưu lại. Tuy
nhiên, cách dữ liệu được cấu trúc và truy cập là điểm khác nhau lớn nhất giữa blockchain
và các cơ sở dữ liệu khác (còn được gọi là bảng tính truyền thống).
6
`


Blockchain bao gồm các chương trình được gọi là tập lệnh thực hiện các tác vụ bạn
thường làm trong cơ sở dữ liệu: Nhập, truy xuất dữ liệu cũng như lưu và lưu trữ ở đâu
đó. Một blockchain được phân phối, có nghĩa là nhiều bản sao được lưu trên nhiều máy
và tất cả chúng phải khớp với nhau thì nó mới hợp lệ.
Blockchain thu thập thơng tin giao dịch và nhập nó vào một khối, giống như một ơ

trong bảng tính chứa thơng tin. Sau khi đầy, thơng tin được chạy qua bằng một thuật
tốn mã hóa, thuật tốn này tạo ra một số thập lục phân được gọi là hàm băm.
Băm sau đó được nhập vào tiêu đề khối sau và được mã hóa với thơng tin khác trong
khối. Điều này tạo ra một loạt các khối, các khối này có sự liên kết.
3.1.3.

Các tính chất của blockchain

3.1.3.1. Tính bất biến
Tính bất biến tức là blockchain là một mạng không thể thay đổi và vĩnh viễn.
Công nghệ blockchain dựa trên một tập hợp các node. Một dữ liệu hay giao dịch được
thêm vào blockchain sẽ không thể sửa đổi hoặc xóa đi. Điều này làm cho blockchain
bảo mật và tin cậy cao vì nó bất biến và chống giả mạo.
- Bản sao của quyển sổ cái này được cung cấp cho mỗi node của mạng. Để thêm
một giao dịch nào đó vào mạng, mỗi node sẽ kiểm tra và rà sốt lại tính hợp lệ. Nếu hầu
hết các node đồng ý rằng giao dịch là hợp pháp, thì nó sẽ được thêm vào mạng. Điều
này có nghĩa là nếu khơng có sự đồng ý và chấp thuận của phần lớn các node thì sẽ
khơng thể thêm bất cứ giao dịch nào vào khối.
- Mọi tài liệu đã được xác thực khơng thể đảo ngược hoặc thay đổi.
3.1.3.2. Tính phân tán
Để chắc chắn rằng được sự minh bạch, những node trong mạng điều có một bản
sao dữ liệu của sổ cái. Sổ cái công khai sẽ cho biết một cách chi tiết về thông tin, về tất
cả các những người tham gia và giao dịch trên mạng. Tính tốn phân tán trên nhiều máy
tính góp phần đem lại nhiều lợi ích.
Vì nhiều lý do, tính chất phi tập chung và phân tán của block-chain là tính chất
quan trọng nhất của nó:
- Vì các giao dịch diễn ra rất nhanh trong quyển sổ cái phân tán, nên việc theo
dõi những sự thay đổi trong cơ sở dữ liệu của blockchain rất đơn giản.
7
`



- Mỗi nút trong mạng blockchain phải có sổ cái và xác thực.
- Các thay đổi trong quyển sổ cái được cập nhật rất nhanh và do khơng có bên
trung gian trong blockchain, các thay đổi sẽ được xác thực nhanh chóng.
- Nếu node tham gia muốn thêm một khối dữ liệu mới thì các node tham gia
khác phải xác minh giao dịch. Đa số các nút trên mạng phải chấp thuận một khối trước
đó rồi nó mới có thể được thêm vào block-chain.
- Trên mạng blockchain, sẽ khơng có nút nào là trung tâm, tất cả sẽ ngang hàng
với nhau. Mọi người tham gia sẽ phải tuân theo quy trình tiêu chuẩn để thêm một khối
mới vào mạng.
3.1.3.3. Tính phi tập trung
Cơng nghệ blockchain sẽ khơng có bất kỳ bên nào có thể kiểm sốt mạng vì nó là
một hệ thống phi tập trung. Ngoài ra, mạng bao gồm nhiều node hoạt động cùng nhau
để xác thực những giao dịch được thêm vào. Bản sao của sổ cái luôn có sẵn cho mỗi và
mọi nút trong mạng blockchain.
Thuộc tính phi tập trung mang lại nhiều lợi thế trong mạng blockchain:
- Vì mạng blockchain khơng phụ thuộc vào con người nên nó được tổ chức đầy
đủ và có khả năng chịu lỗi.
- Mạng blockchain ít bị lỗi hơn nhờ vào tính chất phi tập trung của mạng. Việc
xâm nhập vào hệ thống tốn kém hơn đối với hacker do đó ít có khả năng thất bại hơn.
- Khơng có bên thứ ba tham gia do đó khơng có rủi ro gia tăng.
- Tính chất phi tập trung của blockchain cho phép tạo hồ sơ thông tin minh bạch
cho những người tham gia trên mạng. Do đó, mọi thay đổi có thể được theo dõi và đồng
bộ hơn.
- Người dùng không phải dựa vào bất kỳ bên nào để duy trì và quản lý tài sản
điện tử của họ, họ có quyền kiểm sốt tài sản của mình.

8
`



Hình 3-2. Ảnh minh họa mạng tập trung (bên trái) và mạng phi tập trung (bên phải).
3.1.3.4. Tính bảo mật
Tất cả các bản ghi trong blockchain được mã hóa riêng lẻ. Sử dụng các dự liệu đã
được mã hóa sẽ thêm lớp bảo mật khác cho tồn bộ quy trình trên mạng blockchain. Vì
khơng cần bất kỳ bên nào quản trị, điều này khơng có nghĩa là người ta có thể thêm, cập
nhật hoặc xóa dữ liệu trên mạng một cách đơn giản. Mật mã sẽ được dùng để băm mọi
dữ liệu trên mạng block-chain, việc này giúp cho các dự liệu có một danh tính riêng
trên mạng. Mỗi khối có cùng mã hàm băm với mã hàm băm của khối đã được tạo ra
trước nó. Do đặc điểm này, các khối được kết nối bằng mật mã với nhau. Mọi nỗ lực
sửa đổi dữ liệu phải chỉnh sửa mọi mã băm, điều này rất khó khăn và gần như là khơng
thể.
3.1.3.5. Tính minh bạch
Sổ cái blockchain cơng khai và minh bạch, việc này giúp cho ai cũng có thể xem
các giao dịch trên mạng. Điều này giúp cho nó có tính minh bạch cao, có thể chống gian
lận và tham nhũng.
3.1.4.

Các cơ chế đồng thuận trong blockchain

Trong blockchain, cơ chế đồng thuận là một hệ thống xác thực các giao dịch và đánh
dấu mã cho giao dịch. Cơ chế này liệt kê những giao dịch hợp quy định của một đồng
tiền trong blockchain để tạo niềm tin vào đồng tiền giữa các nhà giao dịch. Một số loại
tiền tệ, chẳng hạn như Bitcoin, Ethereum,… sử dụng hệ thống này cho mục đích bảo
mật.

9
`



3.1.5.

Một số loại cơ chế đồng thuận trong blockchain

3.1.5.1. Proof of Work
“Bằng chứng” đề cập đến giải pháp cho một vấn đề rất phức tạp và 'công việc' đề
cập đến giải pháp xử lý cho các vấn đề giống như vậy. Những người khai thác tiền điện
tử cạnh tranh để xử lý bài toán đặt ra và giành quyền giải quyết giao dịch. Người giải
nhanh nhất sẽ nhận được phí khai thác từ những người giao dịch những đồng tiền này.
Cơ chế này theo dõi và xác minh việc tạo và giao dịch trên các mạng blockchain. Nó
cho phép những người khai thác bằng cách cho phép họ xác thực các giao dịch mới và
cực kỳ an toàn. Mặc dù vậy, nó vẫn có một số nhược điểm, chẳng hạn như yêu cầu điện
năng cao và khó khăn cho các thợ mỏ cá nhân.
3.1.5.2. Proof of Stake
Cơ chế này chọn ngẫu nhiên một chủ sở hữu số tiền tối đa để xác thực giao dịch.
Nó cũng cho phép chủ sở hữu tạo một khối cho cùng một đồng xu. Cơ chế này địi hỏi
tương đối ít năng lượng, thời gian giao dịch và phí thấp hơn. Các đồng tiền như Etherium
2.0, Polkadot, Cosmos, Cardano, ThorChain, Nxt và Algorand sử dụng rộng rãi cơ chế
này. Có rủi ro bảo mật vì nếu chủ sở hữu sở hữu 51% hoặc nhiều hơn số tiền của một
loại tiền cụ thể, thì người đó sẽ có quyền sở hữu duy nhất đối với mạng của nó.
3.1.5.3. Proof of Capacity
Cơ chế PoC chủ yếu dựa vào dung lượng trống có sẵn trong ổ cứng. Việc này
được đề xuất vì có rất nhiều cách để xử lý vấn đề hàm băm của một đồng xu mà một
nhà giao dịch cần lưu trữ. Nó có hiệu quả cao so với các cơ chế PoW và PoC. Các loại
tiền như Burst, Storj, SpaceMint và Chia sử dụng các cơ chế này.
3.1.5.4. Proof of Activity
Sự kết hợp giữa Proof of Work và Proof of Stake. Nó tạo ra nhằm kết hợp PoW
và PoS và đưa ra giải pháp tốt hơn. Ban đầu, cơ chế Proof-of-Activity hoạt động giống
như PoW. Khi một khối mới được hồn thành, nó sẽ bắt đầu hoạt động giống như cơ

chế Proof-Of-Stake. Các loại tiền như DCR (Decred) sử dụng cơ chế này.
3.1.5.5. Proof of Authority
Các bên và công ty khác nhau đã tạo ra cơ chế độc đáo này. Có những trình xác
nhận với các tài khoản được phê duyệt cho phép giao dịch và tạo các khối mới. Những
người xác thực này phải cho biết thơng tin thật để có quyền xử lý một giao dịch.
10
`


3.1.5.6. Proof of Burn
Lý do tạo ra PoB là nâng cao chất lượng của blockchain để giúp nó có thể phát
triển mạnh mẽ như một thứ giúp giao dịch an toàn hơn và nhanh hơn. PoB được thiết
kế sau PoW và PoS để chặn những hoạt động xấu trên mạng blockchain. Cơ chế này đã
được dùng bởi những người “chơi” Bitcoin để cung cấp các giao dịch an toàn cho các
loại tiền mã hóa giống như Bitcoin.
3.1.5.7. Proof of Elapsed Time
Tập đoàn Intel đã tạo ra cơ chế này để cho phép blockchain quyết định người sẽ
tạo khối tiếp theo. Nó sử dụng một hệ thống xổ số để quyết định người tạo khối tiếp
theo. Do đó, nó đem lại cho tất cả người “chơi” một cơ hội công bằng để tạo khối tiếp
theo. Đó là một quy trình hiệu quả sử dụng tài ngun ít hơn (trong đó bao gồm năng
lượng).
3.1.6.

Blockchain được sử dụng như thế nào?

Theo những tìm hiểu và nghiên cứu cho đến hiện tại, thông tin về những dữ liệu được
lưu trên mạng blockchain của Bitcoin. Hiện tại, hơn 23000 tiền mã hóa (điện tử) khác
sử dụng block-chain để hoạt động. Ngoài đặc điểm này, block-chain vẫn là một nơi tốt
để lưu trữ dữ liệu và những thứ liên quan đến các loại giao dịch khác nhau.
Đến hiện tại đã và đang có một số lượng công ty nhất định đang thử nghiệm

blockchain bao gồm các ông lớn như Unilever ,Walmart , AIG , Pfizer và Siemens. Ví
dụ: Một cơng ty đã phát triển ra hệ thống truy xuất nguồn gốc của sản phẩm, đó là IBM
với hệ thống blockchain Food Trust. Tại sao bạn phải làm điều này? Salmonella, E. coli
và listeria đã bùng phát trong ngành công nghiệp thực phẩm. Trong một số trường hợp,
các vật liệu nguy hiểm đã vơ tình được cho vào thực phẩm. Trước đó, để có thể truy ra
nguồn gốc của những cuộc bùng phát và gây ra bệnh những thứ bệnh nhân ăn đều phải
mất hàng tuần. Việc áp dụng block-chain cho phép các công ty theo dõi quá trình sản
xuất từ nguồn sản xuất đến từng nơi mua bán, cho đến khi giao hàng. Thêm nữa, các
công ty này có thể xem xét thêm thơng tin, chẳng hạn như nơi mà nó có thể đã tiếp xúc,
cho phép các bên truy ra được những vấn đề sớm, điều này sẽ giúp nhiều người được
cứu sống. Đây chính là ví dụ thực tế về việc sử dụng blockchain; Tuy nhiên, vẫn cịn
nhiều cách khác để triển khai nó.

11
`


3.1.6.1. Tài chính và ngân hàng
Lĩnh vực kinh doanh được hưởng lợi nhiều nhất từ việc tích hợp blockchain vào
dùng chính là ngành tài chính và ngân hàng. Những cơng ty tài chính thường chỉ làm
việc năm ngày một tuần, theo giờ hành chính. Nói cách khác, bạn sẽ khơng thể dùng
các dịch vụ của ngân hàng tại chỗ gửi tiết kiệm, chuyển tiền ngồi giờ hành chính.
Nhưng dù chúng ta gửi tiền tại chỗ trong lúc ngân hàng hoạt động thì cũng sẽ phải
mất một khoảng thời gian từ có thể là một đến vài ngày để có thể xác minh và bắt đầu
giao dịch. Do ngân hàng luôn có khối lượng giao dịch khổng lồ cần phải xử lý. Ngược
lại, với blockchain nó sẽ khơng có bất kỳ thời gian nghỉ nào, vì như vậy việc xử lý các
giao dịch sẽ được giải quyết tốt hơn.
Bằng việc áp dụng block-chain vào ngành tài chính - ngân hàng, mọi người có thể
xem được những giao dịch mà họ đã thực thi, nó sẽ được xử lý trong vài phút hoặc vài
giây—đây chính là thời gian để tạo thêm một khối và thêm vào block-chain, dù là bất

kỳ giờ giấc hay ngày nào trong tuần. Bằng việc áp dụng này, các ngân hàng có thể
chuyển giao tiền tệ giữa họ một cách nhanh hơn, an toàn hơn và tiện lợi hơn. Đối với
hệ thống ngân hàng truyền thống, vẫn sẽ có các trường hợp xấu có thể xảy ra mặc dù
quy trình xác nhận nghiêm ngặt.
Quá trình giải quyết và thanh tốn cho những người chơi chứng khốn có thể lên
đến ba ngày (q trình này có thể diễn ra lâu hơn khi giao dịch ở phạm vi quốc tế), điều
này làm cho cổ phiếu và tiền sẽ bị giam giữ trong lúc này. Nhưng khi áp dụng
Blockchain vào những việc này, thời gian sẽ được giảm đáng kể.
3.1.6.2. Tiền tệ
Blockchain là một công nghệ nền tảng tạo ra những loại tiền điện tử hay còn được
gọi là tiền mã hóa, trong đó các loại tiền điện tử thơng dụng là Bitcoin, Ether, USDT.
Cịn đồng đơ la được kiểm sốt và quản lý bởi Cục Dự trữ Liên bang. Theo Cục Dự trữ
Liên bang, các cách để giữ dữ liệu của người dùng và tiền sẽ dựa trên cơ cấu và ý thích
của chính phủ hoặc ngân hàng của quốc gia đó. Thơng tin cá nhân của người dùng bị
đặt ở cảnh báo cao nhất nếu trường hợp ngân hàng bị xâm nhập diễn ra.
Trường hợp ngân hàng xảy ra vấn đề như khóa sản hoặc người dùng sống ở một
quốc gia có một chính quyền, chính phủ khơng ổn định, đồng tiền sẽ bị mất giá rất

12
`


nhanh. Chính vì những điều này, Bitcoin đã được tạo ra và phát triển đáng kể từ năm
2008.
Blockchain đã tạo ra Bitcoin và những đồng khác hoạt động mà ko có bất kỳ
người quản lý nào, với giải pháp trải đều hoạt động của nó trên các máy tính trong mạng
máy tính. Điều này làm giảm thiểu các yếu tố rủi ro liên quan đến hoạt động giao dịch
và xử lý, ngồi ra cũng giúp giảm chi phí.
Đối với những người sinh ra trong hồn cảnh khơng được đăng ký các giấy tờ thì
họ có thể sử dụng ví tiền điện tử để làm công cụ tiết kiệm và thanh tốn của mình. Người

dân của các quốc gia khơng ổn định sẽ khơng có các cơ hội được sử dụng ngân hàng,
vì vậy họ sẽ khơng thể lưu trữ tiền bạc của mình.
3.1.6.3. Chăm sóc sức khỏe
Việc lưu trữ thơng tin cũng có thể áp dụng vào lĩnh vực chăm sóc sức khỏe, thơng
tin của bệnh nhân sẽ được lưu một cách rất an tồn. Thơng tin và hồ sơ được tạo và xác
nhận bằng chữ ký, sẽ được thêm vào block-chain, tạo cho bệnh nhân niềm tin về việc
thông tin của họ sẽ không thể bị thay đổi. Những thông tin này sẽ được lưu lại trên mạng
block-chain bằng một khóa, để chỉ những người cụ thể mới có thể truy xuất vào những
dữ liệu này, việc này giúp chắc chắn rằng thông tin của bệnh nhân là riêng tư.
3.1.6.4. Hồ sơ tài sản
Cả người muốn lưu và người lưu hồ sơ tài sản đều không muốn trải qua những
việc gây tốn thời gian. Đến thời điểm này, hồ sơ phải được gửi đén tay một cán bộ tại
cơ sở lưu trữ địa phương, ở đây người này sẽ phải nhập một cách thủ công vào sơ sở dữ
liệu của trung tâm hành chính. Việc xác minh phải được đối chiếu một cách công khai
và minh bạch nếu việc tranh chấp diễn ra.
Việc thực hiện việc này không những gây lãng phí thời gian mà cịn dễ có sai sót,
khơng hiệu quả. Block-chain sẽ cải thiện điều này bằng cách tránh lưu các tệp vật lý.
Việc này giúp cho những người quản lý tin tưởng vào công việc của họ là chính xác và
được ghi lại một cách minh bạch.
Việc áp dụng blockchain vào lưu trữ hồ sơ tài sản sẽ là rất có ích cho những nơi
đang diễn ra khó khăn do chiến tranh hay một lý do nào đó. Mọi người nơi đây vẫn sẽ
chứng minh được những tài sản mà họ sở hữu một cách minh bạch.

13
`


3.1.6.5. Hợp đồng thông minh
Hợp đồng thông minh là một chương trình có thể lập trình được và tồn tại trên
block-chain. Khi những điều kiện được thỏa, các chức năng của hợp đồng thơng minh

sẽ được thực hiện.
Ví dụ, một người dùng muốn trao đổi tiền điện tử với một bên. Khi họ gửi đủ số
loại tiền muốn trao đổi thì hợp đồng thơng minh sẽ tự động gửi số tiền đầu ra lại cho
người dùng.
3.1.6.6. Chuỗi cung ứng
Những nơi cung cấp sản phẩm dùng blockchain để ghi lại nguồn gốc của nguyên
liệu mà họ đã mua và sử dụng như IBM Food Trust. Việc này giúp kiểm tra chất lượng
của các nhãn phổ biến như "Hữu cơ", "Địa phương" và "Thương mại công bằng".
Ngành công nghiệp thực phẩm đang áp dụng blockchain ngày càng nhiều để theo
dõi sự a toàn và đường đi của thực phẩm từ trang trại đến người dùng, dựa trên báo cáo
của Forbes.
Blockchain cũng có thể tích hợp được vào chuỗi cung ứng, các cơng ty có thể truy
xuất nguồn gốc nơng sản mà người tiêu dùng đã mua. Giúp các cơng ty kiểm sốt được
thông tin của nông sản. Đến thời điểm hiện tại đã có nhiều cơng ty và tổ chức trong
ngành cơng nghiệp thực phẩm áp dụng điều này, để theo dõi quá trình di chuyển của
sản phẩm từ nguồn là trang trại cho đến tay của người dùng. IBM Food Trust là một
trong những công ty tiên phong cho việc áp dụng này.
3.1.6.7. Bỏ phiếu
Blockchain ngồi ra cũng có thể tích hợp vào lĩnh vực bỏ phiếu, khi mà bỏ phiếu
truyền thống đang gặp rất nhiều vấn đề về tính minh bạch cũng như là sử an tồn của
thơng tin. Áp dụng blockchain vào bỏ phiếu sẽ loại bỏ khả năng gian dối trong bầu cử,
cải thiện số lượng cử tri tham gia bầu khi nó tiện lợi hơn rất nhiều.
Việc sử dụng blockchain sẽ giúp những là phiếu không thể bị làm giả. Giao thức
của blockchain sẽ giúp đảm bảo tính minh bạch trong suốt q trình diễn ra bỏ phiếu.
3.2.

Mạng Ethereum

3.2.1.


Ethereum là gì ?

Một hệ thống phần mềm tồn cầu phi tập trung được phát triển dựa trên block-chain
được gọi là Ethereum. Nó được biết đến nhiều nhất với tiền điện tử gốc, ether (ETH).
14
`


Mọi người ai cũng có thể dùng Ethereum để phát triển thêm bất kỳ công nghệ kỹ thuật
số bảo mật nào. Nó có một mã thơng báo được thiết kế để chi trả cho việc đã hoàn thành
hỗ trợ blockchain, nhưng những người tham gia cũng có thể dùng nó để chi trả cho các
mặt hàng và các dịch vụ hữu hình nếu được chấp nhận.
Ethereum được phát triển để có thể mở rộng, lập trình để thay đổi, an toàn và phi tập
trung. Đây là blockchain được lựa chọn bởi nhiều bên và các nhà phát triển, giúp áp
dụng vào nhiều mảng khác nhau.
3.2.2.

Các tính năng của Ethereum

Máy ảo Ethereum (EVM): Môi trường này được thiết kế để hỗ trợ biên dịch, phát
triển và triển khai các hợp đồng thông minh dựa trên mạng Ethereum.
Hợp đồng thông minh: Các hợp đồng thơng minh có thể được khởi tạo và triển khai
thông qua mạng Ethereum. Solidity là ngôn ngữ lập trình thường dùng để phát triển hợp
đồng thơng minh. Solidity là một ngôn ngữ hướng đối tượng dễ tiếp cận.
Ether: Ether là tiền điện tử của mạng Ethereum. Đây là hình thức thanh tốn phí giao
dịch duy nhất được chấp nhận trên mạng Ethereum.
Các ứng dụng phi tập trung (Daaps): Được chạy trên mạng phi tập trung ngang
hàng. Để thực hiện cuộc gọi và truy vấn dữ liệu từ phần phụ trợ của nó, nó có thể có
giao diện người dùng bằng nhiều ngôn ngữ. Chúng hoạt động trên Ethereum và thực
hiện cùng một chức năng bất kể môi trường mà chúng được thực thi.

Các tổ chức tự trị phi tập trung (DAO): Đây là một hình thức tổ chức được hoạt
động theo kiểu dân chủ và phi tập trung. DAO dựa trên các chức năng của hợp đồng
thông minh đã được triển khai để từ đó đưa ra quyết định hoặc sẽ bỏ phiếu một cách phi
tập trung trong tổ chức.
3.2.3.

Các loại tài khoản trên Ethereum

Ethereum có hai loại tài khoản: Tài khoản Hợp đồng và tài khoản thuộc sở hữu bên
ngồi (EOA). Chúng được giải thích như sau:
- Tài khoản thuộc sở hữu bên ngoài (EOA): được quản lý và kiểm sốt bằng
khóa riêng tư. Mỗi EOA có một cặp khóa cơng khai (public key)-riêng tư (private key).
Người dùng có thể gửi tin nhắn bằng việc khởi tạo và ký lên các giao dịch.
- Tài khoản hợp đồng: Mã hợp đồng quản lý tài khoản hợp đồng. Các mã này
nằm trong tài khoản. Mỗi tài khoản hợp đồng có thể chứa ether được liên kết với nó.
15
`


Mã hợp đồng của các tài khoản này được kích hoạt mỗi khi nhận được giao dịch từ
EOA hoặc tin nhắn từ hợp đồng khác. Khi mã hợp đồng kích hoạt, nó cho phép đọc/ghi
tin nhắn vào bộ nhớ cục bộ, gửi các tin nhắn và tạo thêm các hợp đồng khác.
3.2.4.

Ethereum hoạt động như thế nào ?

Được triển khai trên một mơi trường thực thi có tên là Máy ảo Ethereum (EVM).
-

Khi có bất kỳ giao dịch nào kích hoạt chức năng của hợp đồng thông minh, mọi


node trong mạng sẽ thực hiện lệnh.
-

Quá trình xác thực khối sẽ được làm bởi tất cả các node trong mạng. Khi quá

trình này diễn ra, các node chỉ được xử lý các giao dịch được ghi ra trong khối và chạy
mã do các giao dịch trong EVM kích hoạt.
-

Để giúp giữ cho quyển sổ cái phân tán của blockchain được đồng bộ hóa, tất cả

các node sẽ phải tính tốn các phép tính giống nhau.
-

Để chi trả cho việc tương tác trên blockchain, mỗi một giao dịch đều phải gồm

trong đó phí của giao dịch đó mag người dùng sẵn sàng trả và giới hạn gas.
-

Giao dịch sẽ được xử lý nếu như tổng lượng phí gas yêu cầu cần để xử lý nhỏ

hơn hoặc bằng tổng giới hạn gas. Nếu lớn hơn thì vẫn sẽ bị mất gas và giao dịch cũng
khơng được thực hiện. Do đó, cần gửi giao dịch của mình với giới hạn gas cao hơn so
với ước tính để tăng cơ hội được xử lý.
3.2.5.

Ethereum Virtual Machine

3.2.5.1. Khái niệm

Máy ảo Ethereum (EVM) được thiết kế làm môi trường biên dịch và phát triển
của các hợp đồng thơng minh. Nó được đóng hộp cát và cách ly với các phần khác của
hệ thống. Việc này giúp cho mọi hoạt động trên EVM không gây ra tác động đến dữ
liệu hoặc chương trình của bạn theo bất kỳ cách nào, bất kể bạn gọi một chức năng cụ
thể trên đó bao nhiêu lần.
- Mơi trường thực thi hợp đồng thông minh (EVM) được sử dùng trên mạng
Ethereum.
- Mạng block-chain Ethereum chứa ngơn ngữ kịch bản hồn chỉnh Turing của
riêng nó, được gọi là Solidity và cùng với đó là nhu cầu thực thi mã này.

16
`


×