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

Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên nền tảng 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 (1.71 MB, 88 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 blockchaỉn-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 HOÀ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 Son
TS. Nguyễn An Khuô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


Chuyên 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 quý 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
quý 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

1


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, ngoà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 ngoà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 hoàn toà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 xoá 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.
Đe 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

11


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 tat

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 đủ. Neu 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

MUC LUC
••


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ề blockchaỉn ..................................................................... 5

2.1.2.

Cách thực vận hành của nền tảng blockchaỉn ..................................... 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 blockchaỉn ............................................. 13

2.2.3.

Tính minh bạch và không bị phávỡ của nền tảng blockchaỉn ............ 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ệ thong.............................................................................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ệ thong..............................................................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.

Tong quan hệ thong.............................................................................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 s mart B allot.............................................................28


3.3.1.

Tong quan hệ thong.............................................................................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 blockchaỉn ..................................................42

4.2.3.

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

4.2.4.

Các API giao tiếp với blockchaỉn........................................................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ệ thong ...........................................................55

4.3.3.

Giao diện quản trị hệ thong blockchaỉn ..............................................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ểnkhaihệ thống privateblockchain ..........................................................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ệ thong ...................................................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ượngthread của CPU.......................80

5.4.

Đo thời gian gửi đánh giá dựa vào so 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êucầ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


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

DANH MUC HÌNH



Hình 2.1: Mô tả khái quả về so cái kỹ thuật so .......................................................... 7
Hình 2.2: Thông điệp giao dịch trong hệ thong Bitcoin ............................................... 8
Hình 2.3: Mã hoá giao dịch chữ ký so đơn giản hóa ................................................. 9
Hình 2.4: So cái Bỉtcoỉn .............................................................................................. 10
Hình 2.5: cấu trúc yê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: Tong quan hệ thong Lina, review ............................................................... 17
Hình 3.2: Sơ đo tương tác đánh giá Lina.review........................................................ 18
Hình 3.3: Khái quát về hệ thong 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: To 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 thong 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: Phan 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 Ket 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: Ket quả http response trả về thông tin từ choi đăng nhập ....................... 60
Hình 4.30: Ket quả http response trả về thông tin từ choi đă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ệ thong blockchaỉn ................................................... 61
Hình 4.33: Block đầu tiên của node private blockchaỉn............................................. 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 blockchaỉn .................................... 66
Hình 4.37: Ket 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: Ket 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: Ket 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 ỉ................................ 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 ỉ................................................... 72
Hình 5.13: Kết quả khởi động node ỉ .......................................................................... 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 ỉ ........................................................................... 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 blockchaỉn 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 noi giữa các node ............................................................... 79
Hình 5.25: Thực nghiệm kiểm tra tính dự phòng hệ thong ......................................... 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 so node trên hệ thong ....................... 81

Hình 5.28: Sự tương quan giữa so node và tính tin cậy hệ thong .............................. 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

MUC LUC BẢNG
••

Bảng 4.1: Bảng lưu trữ thông tin người dung hệ thong ............................................. 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 lim trữ thông tin về loại nhà hàng .................................................... 41
Bảng 4.5: Bảng lim 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ệ thong ....................................................... 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ệ thong ................. 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


MUC LUC CÔNG THỨC
••

Biểu thức 3.1: Công thức tính R token của hệ thong 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,
ngoà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 tim 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, hon 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, ngoà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, thuê 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ể toà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ị.
Đe 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
Nen 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 ngoà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 toà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 tuợng sử dụng hệ thống là nguòi tiêu dùng, thông qua hệ thống nguò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ự on đị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 soá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 toà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
Nen 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.I.2.I. 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 blockchaỉn

LEDGER
Account owner

Value

Mary

4

John

56

Sandra

83

Lisa
David

16
187


Brian

23

...

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 toà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 toán. Mỗi máy tính đại diện cho một nút của mạng blockchaỉn 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 bitcoỉn 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

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ệ thong 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
toàn và độ tin cậy.
Đe 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


×