ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA HỌC VIÊN PHẠM THÀNH CÔNG (1770317) ĐỀ TÀI GIÁM SÁT VÀ TỰ ĐỘNG HOÁ CÁC HỢP ĐỒNG NGHIỆP VỤ TRONG MỘT HOẶC VÀI LĨNH VỰC HẸP ỨNG DỤNG BLOCKCHAIN Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.01 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 07 năm 2020 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA HỌC VIÊN PHẠM THÀNH CÔNG (1770317) ĐỀ TÀI GIÁM SÁT VÀ TỰ ĐỘNG HOÁ CÁC HỢP ĐỒNG NGHIỆP VỤ TRONG MỘT HOẶC VÀI LĨNH VỰC HẸP ỨNG DỤNG BLOCKCHAIN Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.01 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 07 năm 2020 CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG HỒ CHÍ MINH Cán bộ hướng dẫn khoa học: TS. Lê Lam Sơn Cán bộ chấm nhận xét 1: TS.
Nguyễn Văn Vũ Hỏi: Nêu rõ đóng góp chính của tác giả? Trả lời: Có định nghĩa và sửa đổi tất cả các bước Cán bộ chấm nhận xét 2: TS. Nguyễn An Khương Hỏi: Phân tích ưu/nhược của ngôn ngữ mô hình hoá? Trả lời: Cho phép cập nhật tri trức/rule mới mà không cần quay lại từ đầu 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 29 tháng 08 năm 2020. Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1.
Chủ tịch: PGS.TS Trần Minh Quang 2. Lê Hồng Trang 3. Phản biện 1: TS. Phản biện 2: TS.
Nguyễn An Khương 5. Uỷ viên: TS. Đặng Trần Trí Xác nhận của Chủ tịch Hội đồng đánh giá luận văn 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 TRƯỞNG KHOA PGS.TS Trần Minh Quang ĐẠ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: Phạm Thành Công.
Ngày, tháng, năm sinh: 24/01/1994 .Nơi sinh: Quảng Ngãi. Chuyên ngành: Khoa Học Máy Tính. TÊN ĐỀ TÀI: Giám sát và tự động hoá các hợp đồng nghiệp vụ trong một hoặc vài lĩnh vực hẹp ứng dụng Blockchain. NHIỆM VỤ VÀ NỘI DUNG: Hoàn thành nội dung luận văn thạc sĩ đã báo cáo trong đề cương.
NGÀY GIAO NHIỆM VỤ : 24/02/2020. NGÀY HOÀN THÀNH NHIỆM VỤ: 21/06/2020. CÁN BỘ HƯỚNG DẪN: TS. CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) (Họ tên và chữ ký) TRƯỞNG KHOA (Họ tên và chữ ký) LỜI CÁM ƠN Đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến TS.
Lê Lam Sơn, giảng viên hướng dẫn luận văn và cũng là người thầy gắn bó với tôi trong suốt thời gian tham gia chương trình cao học vừa qua. Mặc dù giai đoạn vừa rồi chịu ảnh hưởng rất lớn của dịch COVID-19, làm ảnh hưởng và gián đoạn đến lịch trình của cả hai bên nhưng thầy vẫn rất tận tình chỉ dẫn, định hướng nghiên cứu và tạo điều kiện để tôi thực hiện luận văn. Chính nhờ những kiến thức thầy truyền đạt cùng với sự quan tâm, những góp ý khoa học của thầy đã giúp tôi hoàn thành luận văn này một cách tốt nhất. Xin chân thành cảm ơn các thầy cô của trường đại học Bách Khoa TP.
Hồ Chí Minh, đặc biệt là các thầy cô khoa Khoa Học và Kỹ Thuật Máy Tính đã tận tình dạy bảo và hướng dẫn trong quá trình đào tạo sau đại học. Tôi cũng xin cảm ơn các tác giả của những công trình nghiên cứu mà tôi tham khảo đã sẵn lòng hỗ trợ, chia sẻ, giải đáp thắc mắc, cùng tôi giải quyết những khó khăn gặp phải trong suốt quá trình thực hiện luận văn. Cuối cùng, tôi xin cảm ơn gia đình, bạn bè, những người luôn đứng bên cạnh động viên, luôn sát cánh cùng tôi trong suốt thời gian qua. Xin chân thành cảm ơn.
TÓM TẮT LUẬN VĂN Trong bối cảnh các loại hình dịch vụ phát triển mạnh mẽ như ngày nay, việc quản lý, tổ chức các hợp đồng nghiệp vụ trở nên phức tạp và yêu cầu nhiều nỗ lực, chi phí về con người và thời gian. Bên cạnh đó, các công nghệ mới ra đời, như Blockchain hay smart contract, dần được tiếp cận và nghiên cứu để đưa vào giải quyết các bài toán của doanh nghiệp, công ty phát triển dịch vụ. Qua đó, đề tài đưa ra phương pháp tự động hoá các hợp đồng nghiệp vụ truyền thống trên cơ sở mô hình hoá các dạng hợp đồng, sử dụng ontologies để mô tả các ràng buộc, và hiện thực công cụ để sinh mã smart contract hoàn chỉnh có thể triển khai ngay trên Hyperledger Fabric blockchain mà không cần bất cứ can thiệp thủ công nào. Đề tài còn thể hiện tính ứng dụng của phương pháp nghiên cứu trên ví dụ thực tế của một dạng hợp đồng dịch vụ cho thuê xe.
Báo cáo này được tổ chức như sau: Phần 1 sẽ giới thiệu khái quát vấn đề, các giá trị đề tài mang lại và các công trình nghiên cứu liên quan. Phần 2 sẽ mô tả mục tiêu nghiên cứu của đề tài, cũng như giới hạn mà phương pháp nghiên cứu triển khai. Kế đến, phần 3 sẽ trình bày các kiến thức nền tảng cần thiết trong đề tài. Phần 4 giới thiệu chi tiết nội dung triển khai phương pháp thực hiện qua từng bước, áp dụng trên mẫu ví dụ chung về hợp đồng dịch vụ cho thuê xe.
Tiếp theo, phần 5 sẽ trình bày các kết quả thực nghiệm và đánh giá về tính khả thi, ưu điểm cũng như nhược điểm đang mắc phải của phương pháp. Cuối cùng, phần 6 & 7 lần lượt trình bày về hướng phát triển mở rộng, kết luận chung và các tài liệu liên quan mà đề tài đã tham khảo. Từ khóa: business contract, smart contract, automation, hyperledger fabric chaincode, ontology, OWL, SWRL. ABSTRACT The services keep growing up fast, so does business contract construction & man- agement cost.
It does require a lot of effort regarding human resources & time. Besides that, state-of-the-art techniques such as Blockchain or Smart contract are in their adoption phase and their applications are applied in solving the enterprise and service provider’s problems. Thus, this study will present an approach to automate the business contract based on contract modeling. It takes advantage of ontologies to represent the business con- straints, provide a practical example to generate a fully-functional smart contract that can deploy onto Hyperledger Fabric blockchain without additional manual effort.
This study will demonstrate a sample business contract represented a car-sharing service. This study will comprise of those following sections: Section 1 will give a first look at the given problem, any values implied by this study, and its related works. The scope and objective of this study will be listed on section 2. Section 3 will represent the fundamental required for this study.
Section 4 will deep dive into the detail of the im- plementation, which is based on the example of a car-sharing service contract. Section 5 will provide experimental results and evaluate its capabilities, given the advantages as well as disadvantages derived by this approach. Lastly, section 6 & 7 will present the possible improvements, sum up the study and its references respectively. Keywords: business contract, smart contract, automation, hyperledger fabric chain- code, ontology, OWL, SWRL.
LỜI CAM ĐOAN CỦA TÁC GIẢ Tôi xin cam đoan rằng ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ trong luận văn, các nội dung trình bày trong luận văn này là do chính tác giả thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy bằng cấp ở một trường khác. Hồ Chí Minh, 07/2020 Mục lục 1 Giới thiệu đề tài 1 1.2 Ý nghĩa khoa học & thực tiễn .1 Giá trị khoa học .2 Giá trị thực tiễn .3 Các công trình liên quan .1 Service-level agreement .2 Imperative & declarative smart contract .3 Auto-Generation of Smart Contracts from Domain-Specific On- tologies and Semantic Rules .4 Overview of Blockchain Technology .5 A Semantic Contract Model and Knowledge-driven Process for Supporting Controllability in Service-oriented Approaches. 6 2 Mục tiêu, giới hạn & đối tượng nghiên cứu 7 2.1 Mục tiêu nghiên cứu .2 Giới hạn & đối tượng nghiên cứu. 9 3 Kiến thức nền 11 3.2 Semantic Web Rule Language (SWRL) .3 Ngữ pháp LL.
21 4 Phương pháp nghiên cứu 28 4.1 Định nghĩa ontology cho miền tri thức .2 Định nghĩa các luật ngữ nghĩa .3 Hiện thực bộ duyệt ngữ pháp LL1 .4 Duyệt luật bằng bộ duyệt LL(1) và sinh ra các ràng buộc .5 Tạo mẫu cho smart contract .6 Cập nhật smart contract bằng các ràng buộc thông qua AST. 36 5 Kết quả thực nghiệm & đánh giá 39 5.1 Kiểm tra tính đúng đắn của smart contract hoàn chỉnh .1 Khi các ràng buộc của hợp đồng hay các tập luật thay đổi .2 Giới hạn về tập luật OWL .3 Tỉ lệ tự động sinh mã. 42 6 Hướng phát triển & kết luận 43 7 Tài liệu tham khảo 44 1 1 Giới thiệu đề tài 1.1 Giới thiệu Trong các lĩnh vực, ngành kinh doanh dịch vụ như du lịch, nhà hàng, ăn uống,. các nhà cung cấp dịch vụ thường phải xây dựng các thoả thuận, điều khoản dịch vụ (service-level agreement, viết tắt là SLA).
Các SLA thường phản ánh sự thoả thuận giữa bên cung cấp và khách hàng, cũng như các hình thức thưởng/phạt nếu vi phạm hợp đồng dựa trên nhiều yếu tố như phản hồi của khách hàng, độ tin tưởng, sự hài lòng, khả năng thanh toán,. Các SLA thể hiện mối quan tâm, cầu nối giữa những người mang lại dịch vụ cho khách hàng, qua đó thể hiện chất lượng cũng như độ tin cậy của dịch vụ đối với người dùng cuối. Việc giám sát các SLA một cách thủ công mang lại những khó khăn về mặt quản lý cũng như còn duy trì tính chủ quan trong quá trình giám sát truyền thống. Vượt qua các rào cản trên, việc tự động hoá các SLA sẽ là một bước đột phá trong quy trình vận hành và giám sát các hợp đồng nghiệp vụ.
Với bối cảnh đó, đề tài đề xuất bài toán giải quyết việc tự động hoá các hợp đồng nghiệp vụ. Business contract automation. Tự động hoá các hợp đồng nghiệp vụ là một chương trình được thiết kế để quản lý các thoả thuận pháp lý, lưu trữ các hồ sơ, hợp đồng nghiệp vụ và phát triển các tài liệu, triển khai các điều khoản đã thoả thuận từ trước. Việc này mang lại nhiều lợi thế giúp quá trình vận hành doanh nghiệp, triển khai các mô hình kinh doanh nhanh hơn, tốt hơn và an toàn hơn [2].
Blockchain lần đầu được giới thiệu vào năm 2008 và hiện thực vào năm 2009 [3]. Nó được xem là sổ cái công cộng, nơi lưu trữ toàn bộ các giao dịch dưới danh sách các khối liên kết với nhau.