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

XÂY DỰNG hệ THỐNG hỗ TRỢ ĐÁNH GIÁ NHÀ HÀNG dựa TRÊN BLOCKCHAIN (2)

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.04 MB, 106 trang )

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

TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------------------------------

NGƠ ĐÌNH DŨNG

XÂY DỰNG HỆ THỐNG HỖ TRỢ ĐÁNH GIÁ
NHÀ HÀNG DỰA TRÊN BLOCKCHAIN
A blockchain-based reputation system for HCMC restaurants with
respect to quality of service
Ngành: Khoa học Máy tính
Mã ngành: 60480101

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 06 năm 2019


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hướng dẫn khoa học: TS. Lê Lam Sơn
TS. Nguyễn An Khương
Cán bộ chấm nhận xét 1: PGS.TS. Vũ Thanh Nguyên

Cán bộ chấm nhận xét 2: TS. Trần Minh Quang

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.
HCM ngày 03 tháng 07 năm 2019.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:


(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. PGS.TS. Đặng Trần Khánh
2. TS. Lê Hồng Trang
3. PGS.TS. Vũ Thanh Nguyên
4. TS. Trần Minh Quang
5. PGS.TS Nguyễn Thanh Bình
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa.
CHỦ TỊCH HỘI ĐỒNG

PGS.TS. Đặng Trần Khánh

TRƯỞNG KHOA KH&KTMT


ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Ngơ Đình Dũng

MSHV:1570203

Ngày, tháng, năm sinh: 10/04/1983

Nơi sinh: Khánh Hịa


Chun ngành: Khoa học Máy tính

Mã số: 604801

I. TÊN ĐỀ TÀI: Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên nền tảng
blockchain.
II. NHIỆM VỤ VÀ NỘI DUNG: Thiết kế và triển khai thử nghiệm hệ thống hỗ
trợ đánh giá từ người tiêu dùng đối với nhà hàng dựa trên nền tảng blockchain.
III. NGÀY GIAO NHIỆM VỤ: 25/03/2019
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 03/06/2019
V. CÁN BỘ HƯỚNG DẪN:

TS. Lê Lam Sơn
TS. Nguyễn An Khương

Tp. HCM, ngày 03 tháng 06 năm 2019

CÁN BỘ HƯỚNG DẪN
TS. Lê Lam Sơn

TS. Nguyễn An Khương

TRƯỞNG KHOA KH&KTMT


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

LỜI CÁM ƠN
Kể từ khi bắt đầu học chương trình cao học ngành Khoa học Máy tính tại Trường
Đại học Bách Khoa Tp.HCM, cho đến thời điểm hiện tại, tơi đã củng cố được nhiều

kiến thức bổ ích hỗ trợ cho công việc. Đặc biệt được tiếp cận và cập nhật được rất
nhiều kiến thức mới trong nhiều lĩnh vực của ngành học.
Kết quả này, ngoài nỗ lực của bản thân, còn nhờ vào sự hỗ trợ rất lớn của các
bạn học cùng khóa, sự đồng hành, ủng hộ, động viên của gia đình và sự tận tâm, tận
tình của q thầy, cơ. Đặc biệt, được sự dìu dắt, hướng dẫn của thầy TS Lê Lam Sơn
và TS Nguyễn An Khương, tơi đã có điều kiện để thực hiện luận văn. Nhờ hai thầy,
tôi đã tiếp thu được nhiều kiến thức chuyên môn, niềm đam mê với lĩnh vực nghiên
cứu về blockchain và các ứng dụng dựa trên nền tảng này, cũng như các phương pháp
giải quyết vấn đề trong các lĩnh vực có liên quan.
Mặc dù vậy, do thời gian tiếp cận các vấn đề trong luận văn tương đối ngắn,
kiến thức thực nghiệm còn hạn chế, nên có thể cịn nhiều sai sót trong báo cáo, rất
mong q thầy cơ đóng góp ý kiến, hướng dẫn để tơi có thể tích lũy thêm nhiều kinh
nghiệm và kiến thức.
Một lần nữa, xin chân thành cám ơn quý thầy, cô và đặc biệt thầy TS. Lê Lam
Sơn và thầy TS. Nguyễn An Khương.
Tp.HCM, ngày 03 tháng 06 năm 2019

Ngơ Đình Dũng

Lời cảm ơn

i


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

TĨM TẮT
Các cổng thơng tin trực tuyến ngày nay được xem như một phần không thể thiếu
trong xã hội hiện đại. Sự bùng nổ và phổ biến của thương mại điện tử kéo theo nhiều
hình thức kinh doanh, quảng cáo. Mỗi sản phẩm, dịch vụ được mô tả bằng các hình

ảnh, bài viết, ngồi ra sản phẩm thường được trích dẫn thêm các bình luận và chấm
điểm của người tiêu dùng. Đối với dịch vụ ăn uống nhà hàng cũng khơng nằm ngồi
xu thế đó, các đánh giá phản hồi từ cộng đồng đã ảnh hưởng rất nhiều đến quyết định
lựa chọn của người tiêu dùng, tuy nhiên thơng tin đánh giá phản hồi của cộng đồng
có thực sự đáng tin cậy hay không, câu trả lời là khơng hồn tồn tin cậy. Trong một
số trường hợp, các nhà quản lí có thể sửa đổi hoặc xố bỏ các bình luận tiêu cực, gây
bất lợi cho nhà hàng; hoặc, có thể tự viết các đánh giá giả mạo, mang ý nghĩa tích cực
nhằm mục đích lấy lịng tin từ khách hàng.
Đề tài luận văn này đề xuất xây dựng một mơ hình quản lý thơng tin đánh giá
của người tiêu dùng một cách tin cậy và trung thực, dựa trên nền tảng blockchain.
Với mơ hình này, các thơng tin được lưu trữ trên các bộ lưu trữ phi tập trung, thông
qua các ứng dụng phi tập trung, trên nền tảng công nghệ blockchain. Việc này nhằm
loại bỏ phương pháp lưu trữ và xác thực thông tin một cách tập trung.

Tóm tắt

ii


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

ABSTRACT
Online portals today are an import part of society. The development and strong
popularity of e-commerce has entailed many forms of business and advertising. In
addition to images and articles related to products and services, consumers' reviews
and ratings are often included. For restaurant catering service is also not out of that
trend, feedback assessments from the community have greatly influenced the decision
of consumers choice. However, is this information reliable? The answer is not
completely reliable. In the worst-case scenario, managers can remove users’s,
modifying existing reviews and arbitrarily add fake reviews of bogus consumers.

This thesis proposed an approach are completely reliable and trustworthy about
consumer information management based on the blockchain platform. This approach
eliminates storage, authenticates centralized information when using blockchain
technology, decentralized application, and distributed storage.

Tóm tắt

iii


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả báo cáo trong luận văn này và chương trình là sản
phẩm do cơng sức lao động của chính tơi thực hiện, khơng có sự sao chép từ những
cơng trình nào khác, ngoại trừ những kết quả từ các công trình khác đã ghi rõ trong
luận văn. Tất cả các kiến thức tôi học hỏi được từ những tài liệu tham khảo đều được
trích dẫn nguồn đầy đủ. Nếu có bất cứ sai phạm nào so với lời cam đoan, tơi xin chịu
các hình thức xử lý theo quy định.

Lời cam đoan

iv


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

MỤC LỤC
Chương 1: GIỚI THIỆU ĐỀ TÀI............................................................................ 1
1.1.


Giới thiệu vấn đề ......................................................................................... 1

1.2.

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

1.3.

Nhiệm vụ nghiên cứu .................................................................................. 2

1.4.

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

1.5.

Tóm lượt kết quả đạt được .......................................................................... 3

1.6.

Cấu trúc luận văn ........................................................................................ 3

Chương 2: CƠ SỞ LÝ THUYẾT ............................................................................. 5
2.1.

Tổng quan nền tảng blockchain .................................................................. 5

2.1.1.


Định nghĩa về blockchain ................................................................... 5

2.1.2.

Cách thực vận hành của nền tảng blockchain .................................... 6

2.2.

Những đặc điểm chính của blockchain ..................................................... 12

2.2.1.

Một cơ sở dữ liệu phân tán ............................................................... 12

2.2.2.

Tính bền vững của nền tảng blockchain ........................................... 13

2.2.3.

Tính minh bạch và khơng bị phá vỡ của nền tảng blockchain.......... 13

2.2.4.

Tăng cường bảo mật ......................................................................... 14

2.2.5.

Hợp đồng thông minh........................................................................ 14


2.3.

Ứng dụng của blockchain.......................................................................... 14

2.3.1.

Lĩnh vực y tế ...................................................................................... 14

2.3.2.

Quản trị ............................................................................................. 14

2.3.3.

Kiểm tra chuỗi cung ứng ................................................................... 15

2.3.4.

Tài chính............................................................................................ 15

2.3.5.

Đánh giá sản phẩm, dịch vụ.............................................................. 15

Mục lục

v


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain


2.4.

Những bất lợi khi sử dụng blockchain ...................................................... 16

2.4.1.

Tốn điện năng .................................................................................... 16

2.4.2.

Tốn không gian lưu trữ ..................................................................... 16

2.4.3.

Tính khơng thể bị phá vỡ cũng là nhược điểm .................................. 16

Chương 3: CÁC HỆ THỐNG LIÊN QUAN ........................................................ 17
3.1.

Hệ thống Lina.review ................................................................................ 17

3.1.1.

Tổng quan hệ thống........................................................................... 17

3.1.2.

Giải pháp của Lina.review ................................................................ 18


3.1.3.

Các thành phần của hệ thống ........................................................... 19

3.1.4.

Ưu điểm và nhược điểm .................................................................... 21

3.2.

Hệ thống đánh giá Revain ......................................................................... 22

3.2.1.

Tổng quan hệ thống........................................................................... 22

3.2.2.

Giải pháp của Revain ........................................................................ 23

3.2.3.

Ưu điểm và nhược điểm .................................................................... 27

3.3.

Ứng dụng bình chọn Smart Ballot ............................................................ 28

3.3.1.


Tổng quan hệ thống........................................................................... 28

3.3.2.

Giải pháp của Smart Ballot .............................................................. 28

3.3.3.

Ưu điểm và nhược điểm .................................................................... 29

Chương 4: PHÁT TRIỂN HỆ THỐNG ĐÁNH GIÁ DỰA TRÊN
BLOCKCHAIN ....................................................................................................... 30
4.1.

Thiết kế tổng thể........................................................................................ 30

4.1.1.

Kiến trúc hệ thống ............................................................................. 31

4.1.2.

Sơ đồ Use Case ................................................................................. 33

4.1.3.

Biểu đồ Activity Diagram .................................................................. 35

4.2.
Mục lục


Các module chương trình .......................................................................... 38
vi


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

4.2.1.

Module quản lý hóa đơn ................................................................... 38

4.2.2.

Module quản lý thông tin blockchain ................................................ 42

4.2.3.

Smart contract đánh giá .................................................................... 45

4.2.4.

Các API giao tiếp với blockchain ..................................................... 46

4.3.

Giao diện tương tác người dùng................................................................ 50

4.3.1.

Dành cho người tiêu dùng................................................................. 50


4.3.2.

Giao diện người dùng hệ thống ........................................................ 55

4.3.3.

Giao diện quản trị hệ thống blockchain............................................ 61

4.4.

Xây dựng hệ thống private blockchain: .................................................... 62

4.4.1.

Yêu cầu phần cứng ............................................................................ 62

4.4.2.

Tạo node private blockchain: ........................................................... 63

Chương 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ ..................................................... 68
5.1.

Triển khai hệ thống private blockchain..................................................... 68

5.1.1.

Thành phần phần cứng...................................................................... 68


5.1.2.

Công cụ phần mềm ............................................................................ 68

5.1.3.

Khởi tạo khối đầu tiên cho hệ thống ................................................. 69

5.1.4.

Liên kết các node private blockchain với nhau ................................. 75

5.2.

Thực nghiệm kiểm tra tính dự phịng ........................................................ 79

5.3.

Đo thời gian gửi đánh giá dựa vào số lượng thread của CPU .................. 80

5.4.

Đo thời gian gửi đánh giá dựa vào số node trên hệ thống. ....................... 81

5.5.

Đo hiệu năng hệ thống khi xác nhận nhiều yêu cầu đánh giá đồng thời .. 82

Chương 6: KẾT LUẬN ........................................................................................... 84
6.1.


Tổng kết .................................................................................................... 84

6.2.

Những đóng góp đề tài .............................................................................. 84

6.3.

Hướng phát triển tương lai ........................................................................ 84

Mục lục

vii


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

DANH MỤC CÁC TÀI LIỆU THAM KHẢO ..................................................... 85

Mục lục

viii


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

DANH MỤC HÌNH
Hình 2.1: Mơ tả khái quả về sổ cái kỹ thuật số ........................................................... 7
Hình 2.2: Thơng điệp giao dịch trong hệ thống Bitcoin ............................................. 8

Hình 2.3: Mã hố giao dịch chữ ký số đơn giản hóa .................................................. 9
Hình 2.4: Sổ cái Bitcoin ............................................................................................ 10
Hình 2.5: Cấu trúc u cầu giao dịch bitcoin ........................................................... 11
Hình 2.6: Mơ hình tập node trung Hình 2.7: Mơ hình phi tập trung ..................... 12
Hình 2.8: Mơ hình phân tán ...................................................................................... 12
Hình 3.1: Tổng quan hệ thống Lina.review .............................................................. 17
Hình 3.2: Sơ đồ tương tác đánh giá Lina.review ...................................................... 18
Hình 3.3: Khái qt về hệ thống Revain ................................................................... 23
Hình 3.4: Mơ hình bộ lọc tự động Revain ................................................................. 24
Hình 3.5: Mơ hình bộ lọc thủ cơng Revain ............................................................... 25
Hình 3.6: Mơ hình Review Snapshot Storage của Revain ........................................ 26
Hình 3.7: Tổng quan hệ ứng dụng Smart Ballot ....................................................... 28
Hình 4.1: Cách lưu trữ thơng tin đánh giá tập trung ............................................... 30
Hình 4.2: Cách lưu trữ thông tin đánh giá phân tán ................................................ 31
Hình 4.3: Kiến trúc hệ thống..................................................................................... 31
Hình 4.4: Tổng quát hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain ........ 32
Hình 4.5: Sơ đồ Use Case hệ thống .......................................................................... 33
Hình 4.6: Biểu đồ hoạt động gửi đánh giá................................................................ 35
Hình 4.7: Biểu đồ hoạt động xem đánh giá nhà hàng .............................................. 37
Hình 4.8: Tổ chức dữ liệu module quản lý hóa đơn ................................................. 38
Hình 4.9: Tổ chức dữ liệu module quản lý thơng tin blockchain.............................. 42

Mục lục hình

ix


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

Hình 4.10: Giao diện trang xem các đánh giá .......................................................... 51

Hình 4.11: Điểu khiển chọn nhà hàng ...................................................................... 51
Hình 4.12: Thơng tin điểm xếp hàng trung bình ....................................................... 52
Hình 4.13: Thơng tin thống kê điểm số đánh giá chi tiết .......................................... 52
Hình 4.14: Hiển thị thơng tin nội dung bình luận ..................................................... 52
Hình 4.15: Trang biên soạn gửi đánh giá ................................................................. 53
Hình 4.16: Trang tìm kiếm hóa đơn .......................................................................... 54
Hình 4.17: Trang nhập hóa đơn ............................................................................... 55
Hình 4.18: Trang nhập tập tin chứa hóa đơn ........................................................... 55
Hình 4.19: Template cho mục body http request nhập hóa đơn qua gọi hàm API ... 56
Hình 4.20: Nội dung của http response nhập hóa đơn thành cơng bằng gọi hàm API
................................................................................................................................... 57
Hình 4.21: Phần header của http request nhập hóa đơn qua gọi hàm API.............. 57
Hình 4.22: Nội dung body của http request nhập hóa đơn qua gọi hàm API .......... 58
Hình 4.23: Http response trả về khi nhập hóa đơn qua gọi hàm API khơng thành
cơng ........................................................................................................................... 58
Hình 4.24: Header của http request chứa mã JWT không hợp lệ ............................ 58
Hình 4.25: Body của http response trả về khi nhập hóa đơn qua gọi hàm API khơng
thành cơng ................................................................................................................. 59
Hình 4.26: Http request khi xác thực JWT qua gọi hàm API ................................... 59
Hình 4.27 Kết quả http response sẽ trả về thơng tin người dùng ............................. 59
Hình 4.28: Http response sẽ trả về thơng tin người dùng ......................................... 60
Hình 4.29: Kết quả http response trả về thông tin từ chối đăng nhập ..................... 60
Hình 4.30: Kết quả http response trả về thơng tin từ chối đăng nhập ..................... 60
Hình 4.31: Giao diện cập nhật thông tin nhà hàng .................................................. 61

Mục lục hình

x



Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

Hình 4.32: Giao diện quản trị hệ thống blockchain ................................................. 61
Hình 4.33: Block đầu tiên của node private blockchain ........................................... 63
Hình 4.34: Tạo tập tin để khởi tạo khối đầu tiên ...................................................... 64
Hình 4.35: Cú pháp lệnh gọi khởi tạo node private blockchain ............................... 65
Hình 4.36: Hình chụp thơng tin tên node private blockchain ................................... 66
Hình 4.37: Kết quả thực nghiệm liên kết giữa 2 node .............................................. 67
Hình 4.38: Hình chụp thực nghiệm node private blockchain đồng bộ ..................... 67
Hình 5.1: Cấu trúc lưu trữ tập tin của một node ...................................................... 69
Hình 5.2: Lệnh tạo tài khoản thực nghiệm cho node 1 ............................................. 69
Hình 5.3: Lệnh tạo tài khoản thực nghiệm cho node 2 ............................................. 69
Hình 5.4: Lệnh tạo tài khoản thực nghiệm cho node 3 ............................................. 70
Hình 5.5: Nội dung tập tin khởi tạo cho các node thực nghiệm ............................... 70
Hình 5.6: Lệnh khởi tạo khối đầu tiên thực nghiệm cho node 1 ............................... 71
Hình 5.7: Kết quả lệnh khởi tạo khối đầu tiên thực nhiệm cho node 1 .................... 71
Hình 5.8: Lệnh khởi tạo khối đầu tiên thực nghiệm cho node 2 ............................... 71
Hình 5.9: Kết quả lệnh khởi tạo khối đầu tiên thực nhiệm cho node 2 .................... 71
Hình 5.10: Lệnh khởi tạo khối đầu tiên thực nghiệm cho node 1 ............................. 72
Hình 5.11: Kết quả lệnh khởi tạo khối đầu tiên thực nhiệm cho node 3 .................. 72
Hình 5.12: Lệnh khởi động thực nghiệm cho node 1 ................................................ 72
Hình 5.13: Kết quả khởi động node 1 ....................................................................... 73
Hình 5.14: Lệnh khởi động thực nghiệm cho node 2 ................................................ 73
Hình 5.15: Kết quả khởi động node 2 ....................................................................... 74
Hình 5.16: Lệnh khởi động thực nghiệm cho node 3 ................................................ 74
Hình 5.17: Kết quả khởi động node 3 ....................................................................... 75
Hình 5.18: Thơng tin tên của node 1 ........................................................................ 76
Mục lục hình

xi



Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

Hình 5.19: Thơng tin tên của node 2 ........................................................................ 76
Hình 5.20: Thơng tin tên của node 3 ........................................................................ 77
Hình 5.21: Template về danh sách node private blockchain tham gia liên kết với
nhau ........................................................................................................................... 77
Hình 5.22: Cấu hình tập tin dùng liên kết 3 node thực nghiệm ................................ 78
Hình 5.23: Vị trí lưu tập tin cấu hình liên kết trong thư mực dữ liệu của từng node
................................................................................................................................... 78
Hình 5.24: Kiểm quả kết nối giữa các node.............................................................. 79
Hình 5.25: Thực nghiệm kiểm tra tính dự phịng hệ thống ....................................... 80
Hình 5.26: Đo thời gian gửi đánh giá dựa vào số lượng thread của CPU .............. 81
Hình 5.27: Đo thời gian gửi đánh giá dựa vào số node trên hệ thống ..................... 81
Hình 5.28: Sự tương quan giữa số node và tính tin cậy hệ thống ............................ 82

Mục lục hình

xii


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

MỤC LỤC BẢNG
Bảng 4.1: Bảng lưu trữ thông tin người dung hệ thống............................................ 39
Bảng 4.2: Bảng lưu trữ thơng tin hóa đơn ................................................................ 40
Bảng 4.3: Bảng lưu trữ thông tin về nhà hàng ......................................................... 41
Bảng 4.4: Bảng lưu trữ thông tin về loại nhà hàng .................................................. 41
Bảng 4.5: Bảng lưu trữ tài khoản blockchain ........................................................... 43

Bảng 4.6: Bảng lưu trữ thông tin blockchain ........................................................... 43
Bảng 4.7: Bảng lưu trữ thông tin smart contract...................................................... 44
Bảng 4.8: Bảng lưu trữ thơng cấu hình hệ thống ..................................................... 44
Bảng 4.9: Mẫu (template) tập tin nhập hóa đơn ....................................................... 56
Bảng 5.1: Thực nghiệm đo thời gian thực gửi đánh giá của các hệ thống ............... 83

Mục lục bảng

xiii


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

MỤC LỤC CƠNG THỨC
Biểu thức 3.1: Cơng thức tính R token của hệ thống Revain .................................... 23
Biểu thức 3.2: Cơng thức tính chi phí review của Revain ........................................ 26

Mục lục công thức

xiv


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1. Giới thiệu vấn đề
Mạng internet ngày nay được xem như một phần không thể thiếu trong xã hội
hiện đại. Sự bùng nổ và phổ biến mạng internet đã hình thành nhiều hình thức kinh
doanh, quảng cáo trực tuyến. Mỗi sản phẩm, dịch vụ được mơ tả bằng các hình ảnh,
bài viết, ngồi ra sản phẩm thường được trích dẫn thêm các bình luận và chấm điểm

của người tiêu dùng. Các thông tin hình ảnh, bài viết đánh giá liên quan về sản phẩm
và dịch vụ sẽ tác động đến quyết định của chúng ta, khi chúng ta đang tìm kiếm thơng
tin về sản phẩm chúng ta đang quan tâm. Theo nghiên cứu do BrightLocal [1] thực
hiện, hơn 84% người tiêu dùng dành sự quan tâm tới các đánh giá trực tuyến ngang
bằng với các lời khuyên và gợi ý từ người thân, ngồi ra thống kê cịn cho thấy có tới
87% lượng người được khảo sát sẽ không lựa chọn sản phẩm và dịch vụ mà họ quân
tâm khi các sản phẩm và dịch vụ đó nhận các đánh giá kém. Trong nhiều trường hợp,
doanh nghiệp thường trả tiền cho nội dung đánh giá tích cực, th người đánh giá hộ
nhằm có được các đánh giá có lợi cho mình.
Xét về phương diện những người quản lí nhà hàng, họ có nhu cầu nhận được
nhiều đánh giá tích cực, bởi vì, nếu số lượng đánh giá tiêu cực là quá lớn, họ khơng
những mất nhiều khách hàng hiện tại, mà cịn ngăn họ thu hút khách hàng mới. Trong
nhiều trường hợp, doanh nghiệp đã trả tiền cho nội dung đánh giá tích cực, thuê người
đánh giá hộ nhằm có được các đánh giá có lợi cho mình. Ngay cả khi bị đánh giá thấp
về chất lượng sản phẩm phục vụ thì họ vẫn có thể thuê chuyên gia thâm nhập hệ thống
để thay đổi kết quả đánh giá. Trong một số trường hợp, doanh nghiệp có thể tồn
quyền quản lý hệ thống thơng tin, tiến hành xóa các đánh giá tiêu cực về sản phẩm
hoặc dịch vụ của họ, điều này làm cho những đánh giá này ít có giá trị hơn đối với
người tiêu dùng. Những vấn đề này gây khó khăn cho việc tạo nền tảng đánh giá tập
trung, cung cấp cho người tiêu dùng thông tin đánh giá đáng tin cậy và không thiên
vị.
Để khắc phục các nhược điểm nêu trên của các hệ thống đánh giá truyền thống
đó là sử dụng cách lưu trữ dữ liệu tập trung, tôi sẽ thiết kế và thử nghiệm một hệ
thống đánh giá sử dụng cách lưu trữ mới, với tiêu đề cho đề tài luận văn thạc sĩ: “Xây
Chương 1: Giới thiệu đề tài

Trang 1


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain


dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain”, hệ thống này sẽ cho
phép người tiêu dùng đánh giá về nhà hàng mà họ đã sử dụng dịch vụ của nhà hàng
đó. Hệ thống sử dụng nền tảng blockchain lưu trữ các đánh giá của người tiêu dùng,
các đánh giá này sẽ khơng bị xóa sửa và chối bỏ khỏi hệ thống.
1.2. Mục đích nghiên cứu
Nền tảng blockchain [2] được giới thiệu vào năm 2008. Tuy nhiên, trong thời
gian gần đây, nền tảng này mới được chú trọng nghiên cứu và áp dụng rộng rãi.
Blockchain được ứng dụng vào rất nhiều lĩnh vực như ngân hàng, bảo hiểm, nông
nghiệp… Lĩnh vực đánh giá nhà hàng cũng khơng nằm ngồi xu thế đó. Đã có một
số hệ thống quản lý đánh giá của người tiêu dùng về sản phẩm và dịch vụ dựa trên
nền tảng blockchain, ví dụ như: Lina.review, Revain, Smart Ballot sẽ được trình bày
chi tiết ở chương 3.
Sự bùng nổ và phổ biến của internet kéo theo nhiều hình thức kinh doanh, quảng
cáo. Đi kèm các hình ảnh, bài viết về sản phẩm, dịch vụ là các bình luận và chấm
điểm của những người đã từng mua và sử dụng sản phẩm, dịch vụ đó. Các thơng tin
hình ảnh, bài viết đánh giá liên quan về sản phẩm và dịch vụ sẽ tác động đến quyết
định của chúng ta. Tuy nhiên vấn đề nằm ở chỗ liệu chúng ta có tin cậy vào những
đánh giá và cho điểm đã được công bố hay không. Nhiều chủ nhà hàng, khách sạn
sẵn sàng dùng tiền mua chuộc hoặc thuê người giúp đánh giá tốt dịch vụ của họ hoặc
là xóa đi và chỉnh sửa những ý kiến của người tiêu dùng về sai phạm an tồn thực
phẩm của họ.
Luận văn có mục đích nêu lên thực trạng quản lý các đánh giá vận hành cơ chế
lưu trữ dữ liệu tập trung, tồn tại các giả mạo. Từ thực trạng đó, tơi đề xuất xây dựng
một hệ thống quản lý đánh giá nhà hàng dựa trên nền tảng blockchain. Các đánh giá
này là không thể bị thay đổi, chối bỏ, đồng thời ngăn chặn các đánh giá giả mạo.
1.3. Nhiệm vụ nghiên cứu
Luận văn nêu lên thực trạng trong lĩnh vực đánh giá theo phương pháp truyền
thống. Tiếp theo sẽ tìm hiểu về cơ sở lý nền tảng Bockchain, va tìm hiểu các hệ thống
đánh giá liên quan. Từ các hệ thống đánh giá và các nghiên cứu có liên quan, học

Chương 1: Giới thiệu đề tài

Trang 2


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

viên cố gắng xây dựng một hệ thống đánh giá dùng nền tảng blockchain có thể áp
dụng cho các doanh nghiệp với chi phí thấp và đơn giản vận hành.
1.4. Phạm vi nghiên cứu
Phạm vi nghiên cứu luận văn tập trung vấn đề đánh giá nhà hàng dựa trên nền
tảng blockchain, đây là hệ thống phi tập trung để đảm tính bảo mật, tính khơng thể
thay đổi nội dung đánh giá, tính khơng thể chối bỏ các đánh giá và đảm bảo tính minh
bạch, cơng khai. Đối tượng sử dụng hệ thống là người tiêu dùng, thông qua hệ thống
người tiêu dùng sẽ đánh giá và nhận xét nhà hàng. Ở cấp độ luận văn thạc sĩ và giới
hạn về thời gian nên đề tài chỉ dùng ở mức thử nghiệm hệ thống đánh giá liên quan
tới một số nhà hàng tại Tp.HCM.
1.5. Tóm lượt kết quả đạt được
Dựa trên các hệ thống đã khảo sát và phân tích, đồng thời trong phạm vi nghiên
cứu, đề tài đã đề ra một mơ hình quản lý đánh giá nhà hàng dựa trên nền tảng
blockchain.
Các tính chất của hệ thống:
- Bằng cách sử dụng smart contract [3] kết hợp private blockchain [4] nên kết quả
đánh giá khơng bị xóa, chỉnh sửa hay chối bỏ ngay cả với ban quản trị hệ thống. Phân
biệt người dùng, chống gian lận một người đánh giá nhiều lần.
- Giao diện đánh giá thông qua ứng dụng web và di động nên thuận tiện người
đánh giá.
- Xây dựng module quản lý thơng tin hóa đơn nhà hàng.
- Xây dựng module kết nối với blockchain. Module này nhằm mục đích phát triển
smart contract và gửi và nhận thông tin giao dịch (transaction) [2] với hệ thống

blockchain.
1.6. Cấu trúc luận văn
Tổ chức phần còn lại của luận văn bao gồm những phần sau đây:
Tại chương 2, tôi sẽ trình bày về những cơ sở lý thuyết mà tôi giới thiệu trong
nghiên cứu này. Chương này sẽ bao gồm các khái niệm về nền tảng blokchain và các
hoạt động nói chúng của nền tảng blockchain, đồng thời nêu ra những đặc điểm chính
Chương 1: Giới thiệu đề tài

Trang 3


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

của blockchain, các ứng dụng của blockchain và nêu ra các lợi thế mà blockchain
mang lại, liệt kê một số điểm bất lợi của blockchain.
Tại chương 3, tôi sẽ trình bày về một số hệ thống hỗ trợ đánh giá người dùng có
sử dụng nền tảng blockchain. Những hệ thống này được trình bày tổng quan mơ hình
hệ thống, các giải pháp được áp dụng. Học viên cũng nêu lên các ưu điểm và nhược
điểm các hệ thống.
Tại chương 4, tơi sẽ trình bày về thiết kế tổng thể của hệ thống mà tôi đề xuất, nêu
rõ các module trong hệ thống, cách thức phát triển và vận hành một hệ thống private
blockchain Ethereum hỗ trợ đánh giá người dùng.
Tại chương 5, tơi sẽ trình bày về các kết quả thực nghiệm, qua đó đánh giá khả
năng dự phịng kháng lỗi, tính sẵn sàng của hệ thống private blockchain nhiều node
được tôi triển khai trong thực tế.
Tại chương 6, tơi sẽ trình bày về một số kết luận, đóng góp của đề tài và cũng như
hướng phát triển trong tương lai.

Chương 1: Giới thiệu đề tài


Trang 4


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Trong chương này, tơi sẽ trình bày về định nghĩa về nền tảng blockchain, các
thành phần chính của hệ thống blockchain, nêu ra những ưu điểm và nhược điểm của
hệ thống. Cũng trong chương này tôi sẽ nêu cách thức vận hành của hệ thống
blockchain, liệt kệ các loại nền tảng blockchain hiện có. Từ cơ sở lý thuyết tìm hiểu
được, tơi sẽ diễn giải vì sao hệ thống đánh giá trong đề tài luận văn nên dùng nền tảng
blockchain để lưu trữu thông tin đánh giá của người tiêu dùng đối với nhà hàng. Sau
đây là sở sở lý thuyết về nên tảng blockchain.
2.1. Tổng quan nền tảng blockchain
2.1.1. Định nghĩa về blockchain
Blockchain [5] theo nghĩa đen là một chuỗi các khối. Khi chúng ta nói các khối
(block) và chuỗi (chain), nền tảng blockchain được hiểu như là một sổ cái kỹ thuật số
được chia sẻ (shared digital ledger) trong mạng. Sổ cái được chia sẻ cho những người
tham gia vào mạng lưới. Điều này cho thấy rằng trong toàn bộ hệ thống khơng phải
chỉ có một vị trí duy nhất, một tài liệu có thể làm căn cứ đáng tin duy nhất, vì những
lần sao chép cùng một phiên bản sổ cái được đặt ở nhiều nơi.
Tất cả các bản sao này được cập nhật khi dữ liệu hoặc giao dịch mới được ghi
vào blockchain thông qua các luật đồng thuận của hệ thống. Người xác thực giao dịch
có trách nhiệm phê duyệt các giao dịch và giám sát mạng bằng cách giải quyết các
công thức tinh vi với sự trợ giúp của máy tính. Nó là một hệ thống ngang hàng, loại
bỏ tất cả mọi khâu trung gian, tăng cường an ninh, minh bạch và sự ổn định cũng như
giảm thiểu chi phí và lỗi do con người gây ra. Sau đây là ba loại blockchain hiện
hành:
Public blockchain. Public blockchain đơn giản như tên gọi cơng khai của nó, nghĩa
là: Bất kỳ ai muốn đọc, viết hoặc tham gia một public blockchain đều có thể được.

Các chuỗi cơng cộng được phân bố, khơng có cá nhân hay tổ chức nào có quyền kiểm
sốt, đảm bảo rằng dữ liệu khơng thể thay đổi khi được xác nhận trên blockchain. Bất
cứ ai, bất cứ nơi nào, có thể sử dụng một public blockchain để giao dịch miễn là
chúng được kết nối với mạng. Một số hệ thống nổi tiếng về public blockchain sẽ là
Chương 2: Cơ sở lý thuyết

Trang 5


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

Bitcoin và Ethereum, với Bitcoin nằm trong ứng dụng blockchain đầu tiên để chứng
minh rằng giá trị có thể được chuyển trên tồn cầu mà khơng có bên thứ ba như ngân
hàng hoặc công ty chuyển tiền.
Private blockchain. Private blockchain tương tự như public blockchain nhưng được
thiết kế có phân quyền và các điều khiển truy cập hạn chế những người có thể tham
gia vào mạng, nghĩa là nó hoạt động giống như một hệ thống cơ sở dữ liệu tập trung
ngày nay. Private blockchain có một hoặc nhiều thực thể kiểm soát mạng, dẫn đến sự
phụ thuộc vào các bên thứ ba để giao dịch.
Lý do hình thành private blockchain. Hiện tại public và private blockchain vẫn cịn
có rất nhiều thách thức về cơng nghệ cần phải được giải quyết, với sự riêng tư và khả
năng mở rộng là quan trọng nhất. Một private blockchain có thể hỗ trợ mã hoá 300
giao dịch mỗi giây trên chuỗi chính và mở rộng lên đến hàng trăm nghìn giao dịch
trên giây khi cấu hình với mơ hình đa chuỗi.
2.1.2. Cách thực vận hành của nền tảng blockchain
Nền tảng blockchain cho phép trao đổi giá trị mà không cần sự tin tưởng hoặc
chứng cứ làm tin. Mục tiêu của phần này là để giải thích cách blockchain hoạt động
một cách khái quát, không thảo luận về các chi tiết kỹ thuật sâu, cung cấp một ý tưởng
chung về logic và cơ chế cơ bản. Ứng dụng được biết đến và thảo luận nhiều nhất về
blockchain chính là Bitcoin [6] và Ethereum [7]. Hai loại tiền tệ số này có thể được

sử dụng để trao đổi sản phẩm và dịch vụ tại một số vùng và lãnh thổ, giống như đồng
đô la Mỹ (USD), Euro (EUR), đồng tiền Việt Nam và các loại tiền tệ quốc gia khác.
Lấy ví dụ về Bitcoin, là một trong những ứng dụng đầu tiên áp dụng cơng nghệ
blockchain để tìm hiểu cách hoạt động của nền tảng này.
2.1.2.1. Hệ thống blockchain Bitcoin
Bitcoin là một đơn vị tiền tệ kỹ thuật số của nền tảng blockchain Bitcoin, đồng
tiền bitcoin có giá trị vì chúng ta đồng ý trao đổi hàng hóa, dịch vụ để đổi lấy một
lượng tiền bitcoin và để theo dõi lượng bitcoin mỗi người trong chúng ta sở hữu,
blockchain sử dụng một sổ cái kỹ thuật số [8] theo dõi tất cả các giao dịch của Bitcoin.
Hình 2.1 minh họa rõ hơn về sổ cái kỹ thuật số.

Chương 2: Cơ sở lý thuyết

Trang 6


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

Hình 2.1: Mơ tả khái quả về sổ cái kỹ thuật số
Sổ cái kỹ thuật số không được lưu trữ trên máy chủ tập trung, giống như trong
ngân hàng hay trong trung tâm dữ liệu. Nó được phân tán trên tồn thế giới thơng qua
mạng máy tính, vừa lưu trữ dữ liệu, vừa thực hiện tính tốn. Mỗi máy tính đại diện
cho một nút của mạng blockchain và có một bản sao của file sổ cái.
Để mơ tả hoạt động giao dịch trên hệ thống Bitcoin, hình 2.2 sau đây mô tả về
trường hợp David muốn gửi bitcoin cho Sandra, anh ta sẽ thực hiện một giao dịch tới
mạng và số lượng bitcoin trong tài khoản của anh ta sẽ giảm xuống 5 đồng bitcoin
(BTC), và số tiền của tài khoản Sandra sẽ tăng 5 BTC.

Chương 2: Cơ sở lý thuyết


Trang 7


Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain

Giao dịch bitcoin khi David gửi 5 BTC cho
Sandra

Thông điệp giao dịch
được lan truyền trong
mạng lưới

Mỗi node nhận được các thông tin giao dịch và cập nhật vào sổ cái của
chính nó. Sau đó truyền thơng tin này cho các node lân cận

Hình 2.2: Thơng điệp giao dịch trong hệ thống Bitcoin
Thực tế, sổ cái của Bitcoin được duy trì bởi một nhóm các máy tính được kết nối,
khơng giống như trong mơ hình được bình thường, được duy trì bởi một thực thể tập
trung như ngân hàng.
Trong hệ thống ngân hàng, chúng ta chỉ biết các giao dịch và số dư tài khoản của
riêng mình, trên blockchain mọi người có thể thấy mọi giao dịch khác của người khác.
Trong khi chúng ta có thể tin tưởng vào ngân hàng của mình, mạng Bitcoin sẽ
được phân phối và nếu có vấn đề gì đó khơng có sự trợ giúp để gọi hoặc bất cứ ai để
kiện.
Hệ thống blockchain được thiết kế theo cách mà không cần sự tin tưởng, độ an
tồn và độ tin cậy.
Để có thể thực hiện các giao dịch trên blockchain, chúng ta cần một ví, một
chương trình cho phép lưu trữ và trao đổi bitcoin. Mỗi chiếc ví được bảo vệ bởi một

Chương 2: Cơ sở lý thuyết


Trang 8


×