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.. Xây dựng hệ th
Trang 1ĐẠ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
Trang 2CÔ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
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ĩ)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
NHIỆM VỤ LUẬN VĂN THẠC SĨ
• • • •
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
TS Nguyễn An Khương
Tp HCM, ngày 03 tháng 06 năm 2019
TS Lê Lam Sơn
TS Nguyễn An Khương
Trang 4Xâ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
Trang 5Xâ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
Trang 6Xâ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
Trang 7Xâ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
Trang 8Xâ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
Trang 9Xâ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 Các module chương trình 38
Trang 10Xâ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
Trang 11Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
Trang 12Xâ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
Trang 13Xâ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
Trang 14Xâ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
Trang 15Xâ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
Trang 16Xâ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
Trang 17Xâ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
Trang 18Xâ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
Trang 19Xâ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
Trang 20Xâ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
Trang 21Xâ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
Trang 22Xâ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à
Trang 23Xâ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ố
Trang 24Xây dựng hệ thống h§ trợ đánh giá nhà hàng dựa trên blockchaỉn
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
Trang 25Xâ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
Trang 26Xây dựng hệ thống h§ trợ đánh giá nhà hàng dựa trên blockchaỉn
phương pháp mật mã đặc biệt, sử dụng một cặp ỉdiốa riêng biệt khác nhan: một khoá riêng tư (private) và một khóa công khai (public)
Nếu một thông điệp được mã hoá bằng khốa công khai cụ thể, chỉ chủ nhân của khóa riêng tư đã ghép nối mới cố thề giải mã và đọc tin nhắn Mặt khác, nếu chúng ta
mã hóa tín nhắn bằng khóa cá nhân, chỉ cố thể sử dụng khóa công khai được ghép nối
để giải mã nó Để rõ hơn vấn đề này, hình 2.3 minh họa trường hợp David muốn gửi bitcoin, David cần phát một tin nhắn được mã hóa bằng khoá riêng của mình, vì vậy duy nhất chỉ cố David mói cố thể sừ dụng bỉtcoỉn mà anh ta sở hữu
Transaction request message David's private key igitaliy signed transaction David $ public key
David —*■ Sandra 5 BTC
Digitally signed transaction
i
Broadcast to the Bitcoirr nệtwọn
Authentic transaction request message
I
jated the ledger and pass on the message
Hình 2,3: Mã hoá giao dịch chữ kỷ sấ đơn giản hóa
Trang 27Xây dựng hệ thống h§ trợ đánh giá nhà hàng dựa trên blockchaỉn
dụ mô tả về bản sao sổ cái Hệ thống blockchain không theo dõi các số dư tài khoản, nố chỉ ghi lại từng giao dịch được yêu cầu sổ sách trên thục tế không theo dõỉ số dư, nó
chỉ theo dỗỉ mọỉ giao dịch được phát đi trong mạng Bỉtcoin Để biết số dư trong ví,
chúng ta càn phải phân tích và xác minh tất cả các giao dịch đã từng diễn ra trên toàn
bộ mạng kết nối với ví của mình Xác mình số dư này được thực hiện nhờ liên kết đến các giao dịch trước đó, chúng ta hãy tham khảo một ví dụ về trường hợp Mary càn gửi
10 biteoin cho John, Mary phải tạo yêu càu giao dịch bao gồm các liên kết tới các giao dịch đến trước đó có tổng số dư bằng hoặc vượt quá 10 biteoin Các liên kết này được gọỉ là đầu vào, các nút trong mạng sẽ xác mình rằng tổng số tiền của các giao dịch này bằng hoặc vượt quá 10 bitcoin và các đàu vào này chưa được chi tiêu, để hiểu rõ chúng
ta hãy tham khảo hình 2.5 mổ tả đầu vào và đầu ra của giao dịch Trên thực tế, mỗi lần tham chiếu các đầu vào trong một giao dịch được xem là
Trang 28Xây dựng hệ thống h§ trợ đánh giá nhà hàng dựa trên blockchaỉn
không hợp lệ trong hất kỳ giao dịch nào trong tương lai, tất cả được thực hiện tự động trong ví của Mary và kiểm tra lại bởi các nút mạng Bitcoin, Mary chỉ gửi một giao dịch
10 BTC đến ví của John sử dụng khóa công khai của John
Mary John 10 BTC
Inputs
Previous output Amount n278cojcU 3.451 nSndSMJ 6.334 cn3792m.J 0,14 u4her63n 1 2.193
Outputs
Redeemed input Amount
|3s8b30tJ 2.118 ks2f9ms7 j3 10
From address Sandra's address Brians address Lisa's address David's address
To address Mary's address John's address
fuw93v2,,.c3 a56fb$uc $8 Ifue82mc,.,id
"?Gcii transaction Í9CỊÍIÕSỈ structure
Hình 2.5: cấu trúc yêu cầu giao dịch bitcoin Mã nguồn để thực hiện
giao dịch trên mạng Bitcoin là mã nguồn mở, điều này có nghĩa là bất cứ aỉ cũng có thể tham gỉa vào hệ thống và cố thể thực hiện giao dịch
Hệ thống Ethereum [7] là một nền tảng điện toán phân tán khối chuỗi chạy trên công nghệ blockchaỉn, tương tự như Bitcoin, thông qua việc sử dụng chức năng hợp đồng thông minh (smart contract) Tiền kỹ thuật số Ethereum cố thề thực hiện các giao dịch, hợp đồng mạng ngang hàng thông qua đơn vị tiền kỹ thuật sổ là ETH Không
Trang 29Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
tập trung chạy các hợp đồng thông minh, các ứng dụng chạy chính xác như được lập trình mà không có bất kỳ khả năng gian lận hoặc can thiệp của bên thứ ba nào
2.2 Những đặc điểm chính của blockchain
2.2.1 Một cơ sở dữ liệu phân tán
Hình 2.8: Mô hình phân tán
Tham khảo hình 2.6, hình 2.7 mô tả hệ thống tập trung và hình 2.8 mổ tả hệ thống phân tán, các hệ thống này gồm nhiều node mạng liên kết lại với nhau Một node được phân ra hai loại:
- Người dùng nạp danh (node màu đỏ) Mỗi người có một bản sao của sổ cái và độc lập với xác nhận giao dịch
- Người dùng có định danh (node màu xanh) Yêu cầu phải có bản sao sổ cái và tham gia và xác nhận giao dịch
Một bảng tính được nhân đôi hàng ngàn lần thông qua mạng lưới máy tính, mạng lưới này được thiết kế để cập nhật thường xuyên bảng tính đó Thông tin được tố chức
Trang 30Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
trên một blockchain tồn tại dưói dạng cơ sở dữ liệu được chia sẻ và hòa hợp liên tục Đây là cách để sử dụng mạng với những lợi ích rõ ràng Cơ sở dữ liệu blockchain không được lưu trữ ở duy nhất một vị trí nào, nghĩa là các bản ghi được lưu trữ một cách công khai, dễ kiểm chứng Không có một phiên bản tập trung nào của cơ sở dữ liệu này tồn tại, nên rất khó nếu không nói là không thể bị tấn công được Blockchain được lưu trữ bởi hàng triệu máy tính cùng lúc, dữ liệu của nó có thể truy cập bỏi bất cứ ai trên Internet
2.2.2 Tính bền vững của nền tảng blockchain
Nen tảng blockchain lưu trữ những khối thông tin giống nhau trên mạng lưới và blockchain không bị kiểm soát bỏi bất kỳ một thực thể nào Bitcoin được phát hành vào năm 2008, kể từ đó, blockchain Bitcoin được vận hành mà không có sự gián đoạn đáng Đen nay, không có bất kỳ vấn đề nào liên quan đến Bitcoin là do tấn công
2.2.3 Tính minh bạch và không bị phá vỡ của nền tảng blockchain
Mạng lưới blockchain duy trì và thống nhất bởi một khái niệm gọi là cơ chế đồng thuận (consensus mechanism) Đe rõ hơn vấn đề này tôi sẽ lấy ví dụ về hệ thống Bitcoin,
hệ thống này tự động kiểm tra 10 phút một lần, trong khoảng thời gian này mạng lưới
sẽ điều hòa mọi giao dịch xảy ra và tạo ra một khối mới Bất kỳ một cá nhân hay tổ chức đều có thể tham gia vào mạng lưói, cùng tham gia vào quá trình gửi thông tin giao dịch và xác nhận giao dịch, vì thế dữ liệu đưa vào mạng lưới được công khai và có tính minh bạch Khi thay đối bất kỳ thông tin nào trên blockchain, có nghĩa là thay đổi dữ liệu của một hay nhiều khối của hệ thống, để làm được điều này thì cần sử dụng một lượng lớn máy tính để có thể thực hiện xóa bỏ các khối hiện hành thay thế bằng các khối mong muốn, điều này là không thể thực hiện được
Một mạng lưới các nút tính toán tạo thành blockchain Nút ở đây là máy tính được kết nối với mạng blockchain, sử dụng client để thực hiện nhiệm vụ xác nhận và chuyển tiếp các giao dịch Nút sẽ nhận được một bản sao của blockchain, được tải tự động khi tham gia mạng lưới blockchain Mỗi nút là một là quản trị viên của mạng blockchain
và tự động tham gia vào mạng, động lực cho việc tham gia này chính là cơ hội giành được bitcoin Nút còn được gọi là đào bitcoin, nhưng thuật ngữ này có
Trang 31Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
chút gây nhầm lẫn cho ngưòi không am hiểu blockchain Trong thực tế, mỗi người đang cạnh tranh để giành bitcoin bằng cách giải quyết những câu đố
2.2.4 Tăng cường bảo mật
Nhờ lưu trữ dữ liệu trên mạng của mình, blockchain loại bỏ những rủi ro đi kèm với dữ liệu được tổ chức tập trung Mạng của nó không có những điểm dễ bị tổn thương Trong khi đó, vấn đề bảo mật trên Internet thì ngày càng trở nên phức tạp Chúng ta đều dựa vào hệ thống xác thực bằng tên người dùng và mật khẩu để bảo vệ danh tính và tài sản của mình trên mạng, nhưng hệ thống này vẫn có nhiều khả năng bị phá vỡ Phương pháp bảo mật của blockchain sử dụng công nghệ mã hóa vói cặp khóa public và private Khóa public là địa chỉ của ngưòi dùng trên blockchain Bitcoin gửi qua mạng sẽ được ghi nhận thuộc về địa chỉ đó Khóa private giống như mật khẩu, cho phép chủ sở hữu truy cập vào Bitcoin hoặc các tài sản kỹ thuật số khác
2.2.5 Họp đồng thông minh
Họp đồng thông minh có thể được lập trĩnh để thực hiện những chức năng đơn giản Ví dụ, một giao dịch phát sinh có thể được thanh toán khi công cụ tài chính đáp ứng một số tiêu chuẩn, với việc sử dụng công nghệ blockchain, Bitcoin cho phép thanh toán tự động, không cần sự tham gia của con người hay bên trung gian làm chứng
2.3 ứng dụng của blockchain
2.3.1 Lĩnh vực y tế
Ket quả bệnh án của bệnh nhân sẽ được lưu trữ dựa trên nền tảng blockchain sẽ giúp người bệnh bảo mật toàn bộ thông tin bệnh án Trong trường họp bệnh nhân chuyển bệnh viện khác, thì thông tin của họ dễ dàng được bệnh viện mới có thể truy xuất dễ dàng
2.3.2 Quản trị
Bằng cách tạo ra những kết quả minh bạch và có thể truy cập công khai, công nghệ
cơ sở dữ liệu phân tán có thể mang lại sự minh bạch đầy đủ cho cuộc bầu cử hay bất cứ hình thức thăm dò nào khác Những họp đồng thông minh dựa trên Ethereum sẽ giúp
tự động hóa toàn bộ quá trình, ứng dụng như Smart Ballot, cho
Trang 32Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
phép bình chọn trên blockchain, nhờ đó giúp quá trình bình chọn trở nên minh bạch, kiểm chứng được, không bị thay đổi, gian lận
2.3.3 Kiểm tra chuỗi cung ứng
Điển hình thành tựu mà blockchain mang lại đó là quản lý thông tin chuỗi cung ứng Người tiêu dùng dễ dàng tra cứu thông tin nguồn gốc xuất xứ của sản phẩm được chào bán IBM đã phát triển hệ thống Food Trust [9] có thể kiểm tra nguồn gốc xuất xứ của những mặt hàng tiêu dùng thông qua chuỗi cung ứng Sử dụng Ethereum blockchain, hệ thống kiểm tra chất lượng đảm bảo rằng nguồn thực phẩm được bán trong các siêu thị có nguồn gốc rõ ràng, khai thác và bảo quản đúng cách
Nhà bán lẻ hàng đầu thế giới Walmart là một trong những doanh nghiệp tiên phong trong việc áp dụng nền tảng blockchain để quản lý theo dõi các mặt hàng đang bán, đặc biệt mặt hàng thực phẩm tươi sống
2.3.4 Tài chính
Chúng ta thường nghe thuật ngữ tiền kỹ thuật số Đứng sau thành công đồng tiền
kỹ thuật số là nền tảng blockchain Các giao dịch sử dụng nền tảng blockchain sẽ không
bị bên thứ ba kiểm soát Thay vào dùng tiền mặt hoặc chuyển khoản bằng tiền tệ thông thường, người gửi yêu cầu xác thực cho giao dịch bằng loại tiền kỹ thuật số để thanh toán cho dịch vụ và hàng hóa Một khi giao dịch được xác thực thành công, nội dung được lưu minh bạch vào trong những khối
2.3.5 Đánh giá sản phẩm, dịch vụ
Như đã đề cập như phần giới thiệu Đánh giá trực tuyến là cách phổ biến để người tiêu dùng tìm hiểu thêm về hàng hóa hoặc dịch vụ họ mua từ doanh nghiệp Là chủ sở hữu doanh nghiệp, họ có trách nhiệm không đưa các đánh giá giả mạo hoặc gây nhầm lẫn về sản phấm, dịch vụ trên các trang web đánh giá trực tuyến Việc áp dụng blockchain như một phương pháp hữu hiệu nhất để đảm bảo các tiêu chí của một bài đánh giá sản phấm, dịch vụ Thông qua blockchain, các thông tin về bài đánh giá được lưu trữ bền vững như cách vận hành của Bitcoin như đã nêu ở trên
Trang 33Xâ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
2.4.1 Tốn điện năng
Do dữ liệu được lưu trữ phi tập trung, nên blockchain nên đã tạo ra một số lượng lớn những sự dư thừa dữ liệu Mỗi lần giao dịch được thực hiện, nó được xác nhận nhiều lần vì có nhiều nút trên mạng Quy trình này sử dụng rất nhiều điện Các private blockchain có thể không bị ảnh hưởng nhiều vì có thể giói hạn số lượng nút Tuy nhiên, nếu là ngân hàng, phải xử lý hàng nghìn giao dịch mỗi phút trên toàn cầu, thì đây sẽ là vấn đề lớn
2.4.2 Tốn không gian lưu trữ
Đe vận hành một nút trên blockchain, ví dụ Bitcoin, chúng ta phải tải xuống 60GB
dữ liệu Trong tương lai sẽ có nhiều blockchain với dung lượng lưu trữ lên hàng Terabyte Khi đó, chỉ có các cụm máy chủ mới có thể vận hành toàn bộ các nút Điều này sẽ tạo ra một mạng lưới tập trung, vốn được coi là một sự phân quyền
2.4.3 Tính không thể bị phá vỡ cũng là nhược điểm
Giả sử chúng ta có một chiếc ví điện tử, nhưng bị mất mã chứng thực để mở ví đó Không có liên kết để reset mật khẩu, không có hệ thống tập trung, hotline hỗ trợ Chúng
ta mất toàn bộ số tiền trong ví mà không thể thu hồi Một khi dùng blockchain để xác thực giao dịch, chúng ta phải chắc chắn muốn giao dịch diễn ra Vì giao dịch một khi được thực hiện sẽ không thể đảo ngược hay làm lại
Trang 34Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
CHƯƠNG 3: CÁC HỆ THỐNG LIÊN QUAN
Trong chương này, tôi sẽ trình bày về tổng quan hệ thống, giải pháp và nêu ra các
ưu điểm, nhược điểm của ba hệ thống liên quan, các hệ thống này đều sử dụng nền tảng blockchain để lưu trữ đánh giá người tiêu dùng
3.1 Hệ thống Lina.review 3.1.1 Tổng quan hệ thống
Lina.review [10] là hệ thống được giói thiệu vào Tháng 1 năm 2018 Hệ thống Lina.review có thể cung cấp các dịch vụ quản lý đánh giá người dùng, quản lý chuỗi cung ứng, quản lý hồ sơ sức khỏe, chính phủ điện tử Trong đề tài, này tôi chỉ khảo sát tính năng quản lý các đánh giá của Lina.review Mô hình tổng quan hệ thống đánh giá của Lina.review được mô tả trong hình 3.1
Hình 3.1: Tống quan hệ thống Lina, review
Trang 35Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
3.1.2 Giải pháp của Lina.review
Bằng cách sử dụng công nghệ blockchain, Lina.review giải quyết các vấn đề liên quan đến tính minh bạch và bất biến của điểm số, cũng như phát triển cơ chế để giúp ngưòi dùng và chuyên gia kiếm lợi nhuận dựa trên phát triển hệ thống và chất lượng đánh giá của họ (thông qua họp đồng thông minh)
Hình 3.2: Sơ đồ tương tác đảnh giả Lina.review Trên đây là một ví
dụ cụ thể về việc yêu cầu tạo một chiến dịch quảng cáo từ thương gia, và quy trình chia doanh thu quảng cáo trên hệ thống, các hoạt động được mô tả trong hĩnh 3.2 như sau:
- Hoạt động 1 Người bán lẻ đặt yêu cầu đánh giá sản phấm mới hoặc giá thầu chiến
dịch quảng cáo trên trang web Lina.review bằng cách cung cấp chi tiết chiến
Trang 36Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
dịch (liên kết, mục tiêu chuyển đổi ) Ví dụ: 1000 lần nhấp chuột với mức giá 1000 LINA (1 LINA cho mỗi nhấp chuột)
- Hoạt động 2 Người bán lẻ nạp 1000 LINA cho họp đồng thông minh để đặt giá thầu, 1000 LINA này sau đó sẽ bị khóa và sẽ chờ phê duyệt
- Hoạt động 3 Nhân viên Lina.review xem xét và phê duyệt giá thầu Trong trường họp bị từ chối, số tiền đặt cọc sẽ được hoàn lại cho người bán lẻ
- Hoạt động 4 Khi giá thầu được chấp thuận, dịch vụ Lina.review sẽ được thông báo để thực hiện đấu giá
- Hoạt động 5 Giá thầu được thực hiện trên trang web Lina.review dựa trên các thông số chiến dịch
- Hoạt động 6 Bất cứ khi nào người dùng click vào liên kết quảng cáo, nhấp chuột sẽ được ghi lại vào private blockchain của - Lina Core
- Hoạt động 7 Bất cứ khi nào người dùng gửi bài đánh giá, chi tiết đánh giá sẽ được ghi lại trên Private Blockchian - Lina Core Lưu ý rằng đánh giá có thể phải được nhân viên Lina.review phê duyệt hoặc phiếu bầu từ các chuyên gia
- Hoạt động 8 Dịch vụ Lina.review sẽ định kỳ kiểm tra các giao dịch trên private blockchain - Lina Core và cấu hình giá thầu để xác định xem chiến dịch có được thực thi đầy đủ hoặc hết hạn hay không
- Hoạt động 9 Khi đấu giá được thực hiện đầy đủ hoặc hết hạn, họp đồng thông minh LINA sẽ được gọi vói thông tin thống kê để tính phí và phân phối chia sẻ doanh thu cho người dùng và chủ token LINA Trong trường họp đấu thầu được thực hiện một phần, số tiền còn lại (nếu có) sẽ được hoàn lại cho người bán
3.1.3 Các thành phần của hệ thống
Đối vói thương gia(Merchant) Thương gia nghĩa là những bên có dịch vụ, sản
phẩm được đánh giá Đe tham gia hệ thống, người bán phải đăng ký với Lina.review về lĩnh vực kinh doanh của họ và có thể phải trả phí đăng ký hoặc các phí niêm yết sản phấm (nếu có, tùy theo cấu hình)
Đối với ngưòi dùng thường (Common User) Người dùng thường là người sử
dụng hệ thống Lina.review để tìm kiếm thông tin về sản phấm và đánh giá của sản
Trang 37Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
phẩm cũng như viết đánh giá và cho điểm của riêng họ Loại người dùng thông thường
sẽ không nhận được doanh thu cho những đánh giá của họ
Đối với nhà quảng cáo (Advertiser) Nhà quảng cáo là doanh nghiệp hoặc cá
nhân muốn quảng cáo trên Lina.review hoặc các hệ thống đánh giá khác chạy trên nền tảng blockchain Lina Đương nhiên, một merchant có thể là advertiser và các nhà quảng cáo độc lập được coi là một Merchant đặc biệt trên Lina.review Vì vậy, nhà quảng cáo cũng có thể được gọi là merchant Doanh thu từ quảng cáo sẽ được phân
bổ cho những người tham gia hệ thống theo cấu hình của từng hệ thống trên nền tảng Lina Phí quản lý và điều hành của Lina.review là 10%
Đối với chuyên gia (Helper) Chuyên gia là những người có trĩnh độ và sẽ thực
hiện đánh giá sản phẩm và dịch vụ trên hệ thống
Điều kiện để trở thành chuyên gia Đăng ký vói Lina.review bằng cách đính kèm
các giai đoạn sau của hệ thống, khi Lina.review phát triển, sự chấp thuận để trở thành chuyên gia sẽ rất nghiêm ngặt do đánh giá theo định hướng người dùng của hệ thống Ngoài ra để trở thành chuyên gia, người dùng cần gửi nhiều đánh giá chất lượng, được chấp nhận rộng rãi Sau khi đạt đến cấp độ cụ thể, người đánh giá sẽ được thăng cấp lên chuyên gia Lưu ý rằng tùy thuộc vào kích thước của hệ thống mà ngưỡng này cũng sẽ tăng theo
Chuyên gia sẽ được nhận một phần đáng kể doanh thu quảng cáo hoặc phí đăng
ký (tối đa 50%) tùy thuộc vào lĩnh vực của họ Thông số nói trên chỉ được áp dụng cho Lina.review và các hệ thống đánh giá dựa trên khối Lina khác có thể cấu hình chính sách khuyến khích và chia sẻ doanh thu của chính họ Chuyên gia có trách nhiệm hàng tháng gửi một số lượng đánh giá nhất định với chất lượng có thể chấp nhận được (dựa trên các yếu tố như số lượng người thích/đồng ý) Trong trường hợp chuyên gia không đáp ứng các điều kiện này trong hai tháng liên tiếp (có thể cấu hình được), người trợ giúp sẽ được giảm hạng xuống người dùng thông thường
Đối với người xây dựng hệ thống (System Builder) Cá nhân hoặc công ty có
nhu cầu xây dựng một hệ thống đánh giá trên nền tảng blockchain của Lina có thể dễ dàng thực hiện việc này Việc tham gia miễn phí nhưng Lina Platform sẽ tính phí dựa Chương 3: Các hệ thống liên quan
Trang 38Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
trên các hoạt động trên hệ thống Khi các hệ thống tư nhân này đi vào hoạt động, 10% doanh thu của hệ thống sẽ chuyển cho Lina
Lina SDK Lina Software Development Kit là một bộ các công cụ hỗ trợ cho việc
phát triển hệ thống đánh giá Các cá nhân hoặc công ty có mục đích xây dựng riêng cho mình một hệ thống đánh giá trên nền tảng Lina cung cấp Việc xây dựng một nền tảng riêng thì hoàn toàn miễn phí Tuy nhiên để hệ thống hoạt động thì chủ sở hữu hệ thống được xây dựng dựa vào Lina SDK phải trả phí các dịch vụ như quảng cáo và đánh giá Các phí này được Lina thu để duy trì cho hệ sinh thái Lina
Lina Core Blockchain Lina Core là thành phần cốt lõi của nền tảng Lina Lina
Core thúc đẩy họp đồng thông minh trên blockchain để xây dựng một mạng lưới đáng tin cậy của người dùng và giải quyết các vấn đề liên quan đến tính minh bạch, bất biến của điểm đánh giá
Lina Token Lina Token là token chính của nền tảng Lina Token này sẽ dựa trên
Ethereum, một nền tảng phân cấp dựa trên blockchain cho các ứng dụng chạy chính xác như được lập trình mà không có bất kỳ cơ hội gian lận, kiểm duyệt hoặc can thiệp của bên thứ ba bởi được mã hóa một cách an toàn
Lina Brigde Lina Brigde là một dịch vụ cầu nối giữa mạng blockchain Lina Core
giao dịch thanh toán và tương tác với họp đồng thông minh LINA Token trên mạng Public Ethereum Các token giữa private blockchain và Ethereum có thể được hoán đổi cho nhau Như vậy, số dư của họp đồng thông minh ETH (LINA Token) có thể bằng với token bên trong private blockchain Các cơ chế trong các họp đồng thông minh cần được thực hiện để đảm bảo tính nhất quán của tài khoản trong ví của người dùng giữa nền tảng public và private blockchain
3.1.4 Ưu điểm và nhược
điểm Ưu điểm:
Ket quả đánh giá hoàn toàn do người dùng đánh giá
- Hệ thống lưu trữ dữ liệu phi tập trung, vì vậy không thể làm giả hay chối bỏ
- Người dùng có thể nhận token Lina tùy theo cấu hình của các thương gia
Trang 39Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
- Đưa ra tiêu chí thẩm định và có ban kiểm soát giúp phân loại có thể từ chối các yêu cầu của thương gia
- Cho phép khách hàng tạo ra hệ thống đánh giá dựa trên bộ phát triển ứng dụng của Lina.review
họ chỉ còn biết tin vào kinh nghiệm bản thân, gia đĩnh và cộng đồng
- 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ọ
Đe tài 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 lỗ hổng bảo mật, 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 hệ thống ngăn chặn các đánh giá giả mạo
3.2 Hệ thống đánh giá Revain
3.2.1 Tổng quan hệ thống
Revain [11] là một nền tảng đánh giá không thiên vị được xây dựng trên công nghệ blockchain, cụ thể đó là nền tảng Ethereum, nhằm khắc phục các nhược điểm
Trang 40Xây dựng hệ thống hỗ trợ đánh giá nhà hàng dựa trên blockchain
phương pháp đánh giá truyền thống được nêu trong báo cáo ở chương 1 tại mục 1.1 Tổng quan hệ thống được mô tả trong hình 3.3
Hình 3.3: Khái quát về hệ thống Revain
3.2.2 Giải pháp của Revain
Sử dụng công nghệ blockchain, Revain đã tạo ra một hệ sinh thái nơi người dùng được khuyến khích đánh giá bằng cách thưởng các token có tên là RVN Ngoài ra còn
có một token thứ hai được gọi là “R” Hai token có cơ chế chuyển đối phi tuyến Một đồng tiền (R) sẽ được sử dụng trong thời gian Revain crowdsale, trong khi đồng tiền thứ hai RVN, được sử dụng như một đồng tiền ổn định trong nền tảng để đảm bảo giá trị cố định Công thức tính giá trị token R được nêu trong biểu thức 3.1
R value (in BTC) _
1 R token = - — - RVN tokens
0.0001
Biếu thức 3.1: Công thức tính R token của hệ thống Revaỉn
RVN-token chỉ có giá trị trong hệ thống Revain và không thể được sử dụng bên ngoài hệ sinh thái Revain RVN-token sau đó có thể được giao dịch cho R-tokens, từ