1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giám sát và tự động hóa 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

56 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 1 Cover

  • 4 LLKH

Nội dung

ĐẠ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.48.01.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.48.01.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 hướng dẫn khoa học: TS Lê Lam Sơn Cán chấm nhận xét 1: TS Nguyễn Văn Vũ Hỏi: Nêu rõ đóng góp tác giả? Trả lời: Có định nghĩa sửa đổi tất bước Cán chấm nhận xét 2: TS Nguyễn An Khương Hỏi: Phân tích ưu/nhược ngơn ngữ mơ hình hố? Trả lời: Cho phép cập nhật tri trức/rule mà không cần quay lại từ đầu Luận văn thạc sĩ bảo vệ 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: Chủ tịch: PGS.TS Trần Minh Quang Thư ký: TS Lê Hồng Trang Phản biện 1: TS Nguyễn Văn Vũ Phản biện 2: TS Nguyễn An Khương Uỷ viên: TS Đặng Trần Trí Xác nhận Chủ tịch Hội đồng đánh giá luận văn Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa CHỦ TỊCH HỘI ĐỒNG PGS.TS Trần Minh Quang TRƯỞNG KHOA ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - 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 MSHV:1770317 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 Mã số : 60.48.01.01 I TÊN ĐỀ TÀI: Giám sát tự động hoá hợp đồng nghiệp vụ vài lĩnh vực hẹp ứng dụng Blockchain II 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 đề cương III NGÀY GIAO NHIỆM VỤ : 24/02/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 21/06/2020 V CÁN BỘ HƯỚNG DẪN: TS Lê Lam Sơn Tp HCM, ngày 26 tháng 07 năm 2020 CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) TRƯỞNG KHOA (Họ tên chữ ký) LỜI CÁM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành đến TS Lê Lam Sơn, giảng viên hướng dẫn luận văn người thầy gắn bó với tơi 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 chịu ảnh hưởng lớn dịch COVID-19, làm ảnh hưởng gián đoạn đến lịch trình hai bên thầy tận tình dẫn, định hướng nghiên cứu tạo điều kiện để tơi thực luận văn Chính nhờ kiến thức thầy truyền đạt với quan tâm, góp ý khoa học thầy giúp tơi hồn thành luận văn cách tốt Xin chân thành cảm ơn thầy cô trường đại học Bách Khoa TP Hồ Chí Minh, đặc biệt thầy khoa Khoa Học Kỹ Thuật Máy Tính tận tình dạy bảo hướng dẫn trình đào tạo sau đại học Tơi xin cảm ơn tác giả 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, giải khó khăn gặp phải suốt q trình thực luận văn Cuối cùng, tơi xin cảm ơn gia đình, bạn bè, người đứng bên cạnh động viên, sát cánh 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 loại hình dịch vụ phát triển mạnh mẽ ngày nay, việc quản lý, tổ chức hợp đồng nghiệp vụ trở nên phức tạp yêu cầu nhiều nỗ lực, chi phí người thời gian Bên cạnh đó, cơng nghệ đời, Blockchain hay smart contract, dần tiếp cận nghiên cứu để đưa vào giải tốn doanh nghiệp, cơng ty phát triển dịch vụ Qua đó, đề tài đưa phương pháp tự động hoá hợp đồng nghiệp vụ truyền thống sở mơ hình hố dạng hợp đồng, sử dụng ontologies để mô tả ràng buộc, thực cơng cụ để sinh mã smart contract hồn chỉnh triển khai Hyperledger Fabric blockchain mà không cần can thiệp thủ công Đề tài cịn thể tính ứng dụng phương pháp nghiên cứu ví dụ thực tế dạng hợp đồng dịch vụ cho thuê xe Báo cáo tổ chức sau: Phần giới thiệu khái quát vấn đề, giá trị đề tài mang lại cơng trình nghiên cứu liên quan Phần mô tả mục tiêu nghiên cứu đề tài, giới hạn mà phương pháp nghiên cứu triển khai Kế đến, phần trình bày kiến thức tảng cần thiết đề tài Phần giới thiệu chi tiết nội dung triển khai phương pháp thực qua bước, áp dụng mẫu ví dụ chung hợp đồng dịch vụ cho thuê xe Tiếp theo, phần trình bày kết thực nghiệm đánh giá tính khả thi, ưu điểm nhược điểm mắc phải phương pháp Cuối cùng, phần & trình bày hướng phát triển mở rộng, kết luận chung 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 & management 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 constraints, 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 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 Section will represent the fundamental required for this study Section will deep dive into the detail of the implementation, which is based on the example of a car-sharing service contract Section will provide experimental results and evaluate its capabilities, given the advantages as well as disadvantages derived by this approach Lastly, section & will present the possible improvements, sum up the study and its references respectively Keywords: business contract, smart contract, automation, hyperledger fabric chaincode, ontology, OWL, SWRL LỜI CAM ĐOAN CỦA TÁC GIẢ Tôi xin cam đoan ngoại trừ kết tham khảo từ cơng trình khác ghi rõ luận văn, nội dung trình bày luận văn tác giả thực chưa có phần nội dung luận văn nộp để lấy cấp trường khác TP Hồ Chí Minh, 07/2020 Mục lục Giới thiệu đề tài 1.1 Giới thiệu 1.2 Ý nghĩa khoa học & thực tiễn 1.2.1 Giá trị khoa học 1.2.2 Giá trị thực tiễn 1.3 Các cơng trình liên quan 1.3.1 Service-level agreement 1.3.2 Imperative & declarative smart contract 1.3.3 Auto-Generation of Smart Contracts from Domain-Specific Ontologies and Semantic Rules 1.3.4 Overview of Blockchain Technology 1.3.5 A Semantic Contract Model and Knowledge-driven Process for Supporting Controllability in Service-oriented Approaches 1 2 3 Mục tiêu, giới hạn & đối tượng nghiên cứu 2.1 Mục tiêu nghiên cứu 2.2 Giới hạn & đối tượng nghiên cứu 7 Kiến thức 3.1 Ontology 3.2 Semantic Web Rule 3.3 Ngữ pháp LL 3.4 Blockchain 3.5 Hyperledger Fabric 3.6 Smart contract 11 11 13 16 18 19 21 Phương pháp nghiên cứu 4.1 Định nghĩa ontology cho miền tri thức 4.2 Định nghĩa luật ngữ nghĩa 4.3 Hiện thực duyệt ngữ pháp LL1 4.4 Duyệt luật duyệt LL(1) sinh ràng buộc 4.5 Tạo mẫu cho smart contract 4.6 Cập nhật smart contract ràng buộc thông qua AST 28 28 29 30 34 36 36 Kết thực nghiệm & đánh giá 5.1 Kiểm tra tính đắn smart contract hồn chỉnh 5.2 Đánh giá 5.2.1 Khi ràng buộc hợp đồng hay tập luật thay đổi 5.2.2 Giới hạn tập luật OWL 5.2.3 Tỉ lệ tự động sinh mã 39 39 40 41 41 42 Language (SWRL) Hướng phát triển & kết luận 43 Tài liệu tham khảo 44 1 1.1 Giới thiệu đề tài Giới thiệu Trong lĩnh vực, ngành kinh doanh dịch vụ du lịch, nhà hàng, ăn uống, nhà cung cấp dịch vụ thường phải xây dựng thoả thuận, điều khoản dịch vụ (service-level agreement, viết tắt SLA) Các SLA thường phản ánh thoả thuận bên cung cấp khách hàng, hình thức thưởng/phạt vi phạm hợp đồng dựa nhiều yếu tố phản hồi khách hàng, độ tin tưởng, hài lòng, khả toán, Các SLA thể mối quan tâm, cầu nối người mang lại dịch vụ cho khách hàng, qua thể chất lượng độ tin cậy dịch vụ người dùng cuối Việc giám sát SLA cách thủ công mang lại khó khăn mặt quản lý cịn trì tính chủ quan q trình giám sát truyền thống Vượt qua rào cản trên, việc tự động hoá SLA bước đột phá quy trình vận hành giám sát hợp đồng nghiệp vụ Với bối cảnh đó, đề tài đề xuất toán giải việc tự động hoá hợp đồng nghiệp vụ Business contract automation Tự động hố hợp đồng nghiệp vụ chương trình thiết kế để quản lý thoả thuận pháp lý, lưu trữ hồ sơ, hợp đồng nghiệp vụ phát triển tài liệu, triển khai điều khoản thoả thuận từ trước Việc mang lại nhiều lợi giúp trình vận hành doanh nghiệp, triển khai mơ hình kinh doanh nhanh hơn, tốt an toàn [2] Blockchain lần đầu giới thiệu vào năm 2008 thực vào năm 2009 [3] Nó xem sổ cơng cộng, nơi lưu trữ toàn giao dịch danh sách khối liên kết với Khả ghi nhận giao dịch theo cách an toàn khả xác nhận giúp cho Blockchain khơng bị giới hạn tính ứng dụng lĩnh vực tài hay lĩnh vực hẹp khác Ngày nay, việc áp dụng Blockchain mở rộng sang lĩnh vực giám sát & tự động hố Hơn nữa, q trình thực thi điều khoản quy tắc phạt/thưởng theo SLA cách thủ công dễ dẫn tới tranh chấp mang tính chủ quan khơng đáng có Bởi vậy, việc áp dụng Blockchain vào ngữ cảnh xem phương thức đáng tin cậy an toàn nhờ vào chế đồng thuận Smart contract giúp trình thực thi luật thưởng/phạt cách tự động giúp giảm thiểu thời gian khả xảy tranh chấp Kết hợp tự động hoá hợp đồng nghiệp vụ ưu điểm mà smart contract mang lại, đề tài đề xuất phương pháp tự sinh mã smart contract dựa tập hợp luật định nghĩa sẵn miền tri thức đại diện cho lĩnh vực, nghiệp vụ cụ thể 4.3 Hiện thực duyệt ngữ pháp LL1 33 • INT: Giá trị integer • CIRCUMFLEX_ACCENT, QUESTION_MARK, LEFT_PARENTHESIS, RIGHT_PARENTHESIS, COMMA, COLON: Lần lượt ký tự ’∧’, ’ ?’, ’(’, ’)’, ’,’ ’:’ • HAS, SWRLB, GREATER_THAN, LESS_THAN, EQUAL: Lần lượt từ khoá định sẵn ’has’, ’swrlb’, ’greaterThan’, ’lessThan’ ’equal’ • ILLEGAL, EOF, WS: Các ký tự đặc biệt không phù hợp, kết thúc chuỗi, khoảng trắng Sau chuỗi ban đầu phân tách thành LexToken, qua phân tích cú pháp tập hợp Token có cấu trúc sau - lấy ví dụ cho chuỗi: P erson(?person) ∧ hasAge(?person, ?age) ∧ swrlb : greaterT han(?age, 18) Kết quả: 10 11 12 13 14 15 16 17 18 19 20 Tokens : [ ] Token { { LexToken : IDENT , Literal : " Person " , Kind : String } , { LexToken : LEFT_PARENTHESIS , Literal : "(" , Kind : LeftParenthesis } , { LexToken : QUESTION_MARK , Literal : "?" , Kind : QuestionMark } , { LexToken : IDENT , Literal : " person " , Kind : String } , { LexToken : RIGHT_PARENTHESIS , Literal : ") " , Kind : RightParenthesis } , { LexToken : HAS , Literal : " has " , Kind : Has } , { LexToken : IDENT , Literal : " Age " , Kind : String } , { LexToken : LEFT_PARENTHESIS , Literal : "(" , Kind : LeftParenthesis } , { LexToken : QUESTION_MARK , Literal : "?" , Kind : QuestionMark } , { LexToken : IDENT , Literal : " person " , Kind : String } , { LexToken : COMMA , Literal : " , " , Kind : Comma } , { LexToken : QUESTION_MARK , Literal : "?" , Kind : QuestionMark } , { LexToken : IDENT , Literal : " age " , Kind : String } , { LexToken : RIGHT_PARENTHESIS , Literal : ") " , Kind : RightParenthesis } , { LexToken : SWRLB , Literal : " swrlb " , Kind : Swrlb } , { LexToken : COLON , Literal : " : " , Kind : Colon } , { LexToken : GREATER_THAN , Literal : " greaterThan " , Kind : GreaterThan } , { LexToken : LEFT_PARENTHESIS , Literal : "(" , Kind : LeftParenthesis } , { LexToken : QUESTION_MARK , Literal : "?" , Kind : QuestionMark } , 4.4 Duyệt luật duyệt LL(1) sinh ràng buộc { LexToken : IDENT , Literal : " age " , Kind : String } , { LexToken : COMMA , Literal : " , " , Kind : Comma } , { LexToken : INT , Literal : " " , Kind : Int } , { LexToken : RIGHT_PARENTHESIS , Literal : ") " , Kind : RightParenthesis } , { LexToken : EOF , Literal : " $ " , Kind : Eof } , 21 22 23 24 25 26 34 } Bước cuối xây dựng thành phần cần thiết để duyệt ngữ pháp LL1 mô tả phần 3.3 Hình 13: Xác định tập Nullable, First, Follow 4.4 Duyệt luật duyệt LL(1) sinh ràng buộc Sử dụng Transition table sinh từ bước trên, song song với thực Stack để xử lý chuỗi đầu vào Bộ duyệt thay ký tự X vị trí top Stack thay luật sinh Transition table, gặp ký tự kết thúc $ Áp dụng cho luật sau: 4.4 Duyệt luật duyệt LL(1) sinh ràng buộc 35 Hình 14: Xác định Transition table P erson(?person) ∧ hasAge(?person, ?age) ∧ swrlb : greaterT han(?age, 18) Ở bước này, có kết hình 15 Kết trực quan ứng dụng Đại học Princeton Hình 15: Trực quan hoá kết bước xây dựng duyệt LL1 Kết mong muốn xác định giá trị ngữ nghĩa CP, V O Nhắc lại, CP tên thuộc tính lớp, V giá trị (nguyên, chuỗi) thuộc LL(1) Parser Generator - https://www.cs.princeton.edu/courses/archive/spring20/ cos320/LL1/ 4.5 Tạo mẫu cho smart contract 36 tính O tốn hạng hỗ trợ tập swrlb Trích xuất thông tin từ kết bước cuối duyệt ta có: [ { " Property " : " age " , " Operator " : " equal " , " Value " : " " } , { " Property " : " driverLicense " , " Operator " : " equal " , " Value " : " valid " } , { " Property " : " creditCard " , " Operator " : " equal " , " Value " : " MasterCard " } ] 4.5 Tạo mẫu cho smart contract Hyperledger Fabric smart contract chaincode thực ngơn ngữ Go, sử dụng Go để thực bước nên Go ngơn ngữ đề tài sử dụng để thực Ở bước này, đề tài dùng Go để thực mẫu smart contract dựng lên tính dựa theo ontologies luật xác định Mẫu smart contract xem khung sườn cho phiên cuối cùng, phiên để triển khai lên blockchain Các giao thức định nghĩa nên ràng buộc tính luận lý, cịn ontology định nghĩa lớp, thuộc tính giá trị liên quan quan hệ chúng Qua đó, tạo cấu trúc liệu tương đương với lớp chứa thuộc tính liên quan Ví dụ, để tạo mẫu smart contract cho ví dụ trên, định nghĩa hàm Create, với ràng buộc định nghĩa sẵn ageConstraint, driverLicenseConstraint, creditCardConstraint nhận giá trị rỗng hình 16 Hàm nhận vào tham số để kiểm tra tính hợp lệ ràng buộc trên, kèm theo thông tin cần thiết để tạo hợp đồng cho thuê xe đầy đủ 4.6 Cập nhật smart contract ràng buộc thơng qua AST Để tạo smart contract hồn thiện, đề tài sử dụng tính Go cho phép xây dựng Abstract Syntax Tree (AST) từ mã nguồn mẫu contract bước Hiện thực đoạn mã để xuất thao tác AST Đoạn mã tiến hành duyệt với hàm Inspect để tìm tên biến ràng buộc (left-hand side) giá trị tương ứng (right-hand side) Sau đó, duyệt giá trị CP, V, O bước 4.4 thay giá trị cho biến giá trị, biến ràng buộc Như vậy, giá trị AST 17 cập nhật theo kết đầu duyệt LL(1) phản ánh ràng buộc từ luật SWRL Sau trình cập nhật kết thúc, tiến hành ghi AST vào file Go, phiên hoàn thiện smart contract (Hình 18) Với phiên này, triển khai trực https://golang.org/pkg/go/ast/ 4.6 Cập nhật smart contract ràng buộc thông qua AST 37 Hình 16: Hàm mẫu smart contract cho việc tạo hợp đồng thuê xe Hình 17: AST node cho ageConstraint tiếp lên Fabric blockchain để bắt đầu trình khởi tạo thực thi Giới hạn đề tài không trình bày chi tiết trình triển khai này, chi tiết tham khảo trang 4.6 Cập nhật smart contract ràng buộc thông qua AST 38 chủ Hyperledger Fabric Hình 18: Đoạn mã cập nhật mẫu smart contract ban đầu sau AST cập nhật giá trị https://hyperledger-fabric.readthedocs.io/en/release-1.4/tutorial/commercial_ paper.html 39 Kết thực nghiệm & đánh giá 5.1 Kiểm tra tính đắn smart contract hồn chỉnh Dựa tập luật ví dụ mẫu smart contract xây dựng, qua bước xử lý đề tài đưa ra, có phiên smart contract cuối triển khai Fabric blockchain Để đánh giá tính đắn smart contract này, đề tài mô mạng lưới Fabric blockchain cục bộ, chạy máy tính có cấu hình chi tiết bảng Tiêu chí Hệ điều hành Bộ xử lý RAM Bộ nhớ Đặc tả MacOS Catalina Version 10.15.6 2.2 GHz Quad-Core Intel Core i7 16 GB 256GB Bảng 3: Thơng số máy tính triển khai mơi trường kiểm thử smart contract Fabric blockchain Sau triển khai smart contract Fabric blockchain, thử gọi hàm khởi tạo hợp đồng cho thuê xe với điều kiện thoả mãn không thoả mãn tập luật ban đầu Trường hợp giá trị đầu vào hợp lệ Với giá trị đầu vào sau: [ { " age " : " " } , { " driverLicense " : " valid " } , { " creditCard " : " MasterCard " } ] Gọi hàm khởi tạo Create đoạn mã tương tác với Fabric blockchain Câu lệnh thử tạo hợp đồng thuê xe với mã xe CR545341 với thông tin #!/ bin / bash peer chaincode invoke -c ’{ " function " : " create " , " Args " : [ " CR 5 " , " CongPT " , " " , " MasterCard " , " valid " ] } ’ Kết quả: 2 -0 -2 3 : : + [ chaincodeCmd ] chaincodeInvokeOrQuery - > INFO 0 Chaincode invoke successful result : status : 0 5.2 Đánh giá 40 Sau đó, gọi hàm lấy thông tin xe với mã CR545341 #!/ bin / bash peer chaincode query -C mychannel -n fabcar -c ’{ " Args " : [ " queryCar " , " CR 5 " ] } ’ Thông tin hợp đồng cập nhật với thông tin người thuê xe với tiêu chí đáp ứng yêu cầu tập luật ban đầu đặt { " ownerName " : " Jin Soo " , " carId " : " CR 5 " , " carModel " : " Tucson " , " rentalName " : " CongPT " , " rentalAge " : , " rentalCreditCard " : " MasterCard " } Trường hợp giá trị đầu vào không hợp lệ Với giá trị đầu vào sau: [ { " age " : " " } , { " driverLicense " : " invalid " } , { " creditCard " : " InvalidCard " } ] Gọi hàm khởi tạo Create đoạn mã tương tác với Fabric blockchain Câu lệnh thử tạo hợp đồng thuê xe với mã xe CR545341 với thông tin #!/ bin / bash peer chaincode invoke -c ’{ " function " : " create " , " Args " : [ " CR 5 " , " CongPT " , " " , " InvalidCard " , " invalid " ] } ’ Kết quả: #!/ bin / bash Error : endorsement failure during invoke response : status : 500 message : " Not eligible to create carRental rental contract " Như vậy, ràng buộc đặt tuân thủ thời điểm tạo hợp đồng thuê xe theo tập luật ban đầu đặt 5.2 Đánh giá Đề tài tập trung vào phương pháp thực tự sinh mã nên đánh giá yếu tố so sánh tự động & thủ công, khả hạn chế mà phương pháp thực mang lại 5.2 Đánh giá 5.2.1 41 Khi ràng buộc hợp đồng hay tập luật thay đổi Phương pháp truyền thống Để thực smart contract chạy tốt tảng blockchain (ở Fabric) chi phí thời gian công sức không nhỏ Điều lớn yêu cầu ban đầu công ty, doanh nghiệp hay tổ chức hoạt động lĩnh vực có thay đổi (và điều tất yếu thường xuyên xảy ra) Khi đó, gần phải thực lại toàn smart contract có cập nhật mạng lưới blockchain Có cơng cụ, ví dụ Fabric Deployer , giúp giảm thiểu chi phí cập nhật triển khai lại smart contract Tuy nhiên, yêu cầu nghiệp vụ thay đổi, nội dung smart contract bắt buộc thay đổi theo, việc phải can thiệp thủ công điều tránh khỏi Phương pháp tự động hố Khi có u cầu hợp đồng, nghiệp vụ thay đổi, hay thứ tự tập luật thay đổi, có trường hợp xảy ra: Thay đổi giá trị ràng buộc Trong giới hạn đề tài đặt ra, việc thay đổi yếu tố xử lý, nên có yêu cầu xảy ra, chương trình cập nhật lại smart contract dựa ràng buộc & tập luật Không cần can thiệp thủ công vào smart contract cuối để triển khai Thay đổi luồng luận lý ràng buộc Trong giới hạn đề tài, việc thay đổi luồng luận lý hợp đồng bắt buộc nội dung mẫu smart contract phải thay đổi theo Điều hạn chế đề tài Vì phương pháp thực yêu cầu mẫu với luồng luận lý cố định, có giá trị ràng buộc thay đổi 5.2.2 Giới hạn tập luật OWL Trong giới hạn đề tài, ngữ pháp thuộc loại hasAttribute, hasClassValue, hasLiteralValue định nghĩa mơ hình hố hợp đồng dịch vụ 1.3.5 thực Do đó, tập luật OWL thuộc loại ngữ pháp này, tuỳ biến luật hỗ trợ tương thích với phương pháp thực Hay nói cách khác, khơng có giới hạn tập luật OWL cần định nghĩa theo phương pháp đề tài đưa Lấy ví dụ dịch vụ chia sẻ/cho thuê khách sạn, homestay có ràng buộc để chủ nhà/chủ khách sạn đăng ký nhà/khách sạn với dịch vụ Trong lớp bất động sản cho thuê định nghĩa Property(?p) Các ràng buộc chuyển sang ngữ pháp OWL để tích hợp vào chương trình sau: - Số lượng phịng tối thiểu 5: hasRoom(?p, ?num) ∧ swrlb : greaterT hanOrEqual(?num, 5) - Bắt buộc phải có máy điều hồ: hasConditioner(?p, ?num) ∧ swrlb : greaterT han(?num, 0) Fabric Deployer - https://www.fabricdeployer.com/ 5.2 Đánh giá 42 - Có dịch vụ dọn dẹp ngày: hasDailyService(?p, ?service) ∧ swrlb : equal(?service, ”f loor_cleaning”) - Cấm hút thuộc: hasP rohibitedActivity(?p, ?activity) ∧ swrlb : equal(?activity, ”smoking”) Với ngữ pháp trên, hoàn toàn khả thi tái sử dụng chương trình mẫu smart contract để sinh smart contract cuối cùng, thoả mãn yêu cầu chủ dịch vụ đưa Và sẵn sàng đưa smart contract để tích hợp vào Fabric blockchain, triển khai sử dụng cho dịch vụ Lấy ví dụ khác điều khoản áp dụng chương trình nhận voucher khuyến dịch vụ vận chuyển/giao đồ ăn G khách hàng Có thể định nghĩa lớp khách hàng thành viên Member(?m) Khi ràng buộc chuyển sang ngữ pháp OWL sau: - Số lượng đơn hàng thành viên phải đạt 10: hasN umOrder(?m, ?num) ∧ swrlb : greaterT han(?num, 10) - Các quán ăn định hỗ trợ voucher: hasF oodBrand(?m, ?brand) ∧ swrlb : equal(?brand, ”Lotteria”) ∧ swrlb : equal(?brand, ”T heAlley”) - Tổng giá trị đơn hàng đặt phải đạt triệu đồng: hasM imimumExpense(?m, ?total_expense) ∧ swrlb : greaterT hanOrEqual(?total_expense, ”1, 000, 000”) 5.2.3 Tỉ lệ tự động sinh mã Nếu lấy tiêu chí số dịng mã (LoC ) smart contract cuối để đưa tỉ lệ tự động hố so với thủ cơng, dựa ví dụ hợp đồng cho thuê xe từ đầu báo cáo, tỉ lệ 27/110, tương đương khoảng 25% số dòng mã tự động sinh Tuy nhiên, nên nhắc lại smart contract mẫu phải tự định nghĩa tái sử dụng lại trường hợp giá trị ràng buộc hay tập luật thay đổi, mà không cần điều chỉnh thủ công để sinh smart contract hồn chỉnh Do đó, khả tái sử dụng smart contract mẫu ưu điểm phương pháp 43 Hướng phát triển & kết luận Với tính ứng dụng ngày tăng cao công nghệ blockchain nhiều lĩnh vực khác nhau, smart contract trở thành giải pháp đầy hứa hẹn để đảm bảo tính minh bạch việc thực thi logic nghiệp vụ, đảm bảo tính tồn vẹn liệu, tăng tính tương tác bên liên quan Tuy nhiện, việc thực smart contract yêu cầu đầu tư thời gian kinh nghiệm chuyên mơn Đồng thời, tính năng, cấu trúc smart contract sử dụng nhiều trường hợp khác lĩnh vực Dựa vấn đề trên, đề tài đưa phương pháp thực công cụ cho phép tự động sinh smart contract dựa sở tri thức lĩnh vực cụ thể Xậy dựng ontologies luật ngữ nghĩa thể tri thức ràng buộc; tận dụng chế duyệt thao tác AST để cập nhật tương ứng dựa yêu cầu đặt Việc định nghĩa mẫu smart contract giúp giảm thời gian thực tăng khả tái sử dụng, cần thay đổi chi tiết ràng buộc, smart contract hoàn thiện sinh với yêu cầu tương ứng thể ràng buộc dựa mẫu smart contract triển khai mạng lưới blockchain Hyperledger Fabric mà không cần can thiệp thủ công Phương pháp thể tính ứng dụng dịch vụ cho thuê xe với điều kiện tuổi tác, trạng thái lái xe, loại thẻ toán phép tạo hợp đồng cho thuê Phương pháp nghiên cứu sử dụng ngôn ngữ Golang q trình thực triển khai ngơn ngữ lập trình khác Hay smart contract triển khai giới hạn private blockchain, cụ thể Hyperledger Fabric, mở rộng sang tảng blockchain khác Etherum với ngôn ngữ Solidity, NEO với JavaScript hay EOS với C++ Các giới hạn tập luật mơ hình khái qt hợp đồng dịch vụ mở rộng sang Role khác uses, owns, requests, cách mở rộng cấu trúc ngữ pháp LL mà đề tài đề xuất; cải thiện duyệt LL để chương trình đọc hiểu ràng buộc mới; phát triển cập nhật AST để tương thích với mẫu smart contract khác hỗ trợ loại luật nêu Q trình tự động hố hợp đồng nghiệp vụ bao gồm nhiều bước, chia thành nhiều thành phần khác để ứng dụng tính tự động hố Hướng tiếp cận đề tài yêu cầu đầu vào phải ontology luật ngữ nghĩa dựng sẵn dựa miền tri thức định Trong tương lại, đề tài đề xuất tự sinh luật cần thiết dựa kỹ thuật phân tích ngơn ngữ tự nhiên Hay smart contract phải triển khai mạng blockchain dựng sẵn, đề tài đề xuất trình tự động triển khai mạng lưới blockchain dựa file cấu hình cho trước Hai đề xuất cách giúp cho trình tự động hoá hợp đồng nghiệp vụ ứng dụng blockchain giảm thiểu chi phí thời gian, giảm bớt độ phức tạp trình áp dụng giải pháp liên quan đến blockchain Qua đó, đóng góp chung cho việc khuyến khích áp dụng cơng nghệ blockchain vào lĩnh vực thiết thực hữu ích 44 Tài liệu tham khảo [1] David Z Morris, Tesla Could Deliver ‘Full Self-Driving’ Within Weeks November 20, 2019 [2] Steve Wilson, business.com writer, How Contract Automation Is Changing the Business World Dec 20, 2017 [3] Wikipedia contributors (2019, December 11) Blockchain In Wikipedia, The Free Encyclopedia Retrieved 17:59, December 12, 2019, from https://en.wikipedia org/w/index.php?title=Blockchain&oldid=930295903 [4] Trung-Viet Nguyen, Khuong Nguyen-An, Lam Son Le, Bo Dao - Leveraging Blockchain in Monitoring SLA-oriented Tourism Service Provisioning, Faculty of Computer Science & Engineering, HCMC University of Technology (VNU-HCM), Vietnam [5] Governatori, G., Idelberger, F., Milosevic, Z et al Artif Intell Law (2018) 26: 377 On legal contracts, imperative and declarative smart contracts, and blockchain systems https://doi.org/10.1007/s10506-018-9223-3 ă [6] Tan KL (2009) Distributed Database Systems In: LIU L., OZSU M.T (eds) Encyclopedia of Database Systems Springer, Boston, MA https://doi.org/10.1007/ 978-0-387-39940-9 [7] Choudhury, Olivia & Rudolph, Nolan & Sylla, Issa & Fairoza, Noor & Das, Amar (2018) Auto-Generation of Smart Contracts from Domain-Specific Ontologies and Semantic Rules 10.1109/Cybermatics_2018.2018.00183 [8] Thomas R Gruber A Translation Approach to Portable Ontology Specifications.Knowledge Acquisition, 5(2):199-220, 1993 [9] D L McGuinness, F Van Harmelen et al., “OWL web ontology language overview,” W3C recommendation, vol 10, no 10, p 2004, 2004 [10] I Horrocks, P F Patel-Schneider, H Boley, S Tabet, B Grosof, M Dean et al., “SWRL: A semantic web rule language combining OWL and RuleML,” W3C Member submission, vol 21, p 79, 2004 [11] Kim, Jaehyun & Lee, Yangsun (2018) A Study on Abstract Syntax Tree for Development of a JavaScript Compiler International Journal of Grid and Distributed Computing 11 37-48 10.14257/ijgdc.2018.11.6.04 [12] Zheng, Zibin & Xie, Shaoan & Dai, Hong-Ning & Chen, Xiangping & Wang, Huaimin (2017) An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends 10.1109/BigDataCongress.2017.85 [13] Jaramillo, Gloria A Semantic Contract Model and Knowledge-driven Process for Supporting Controllability in Service-oriented Approaches Diss Université de Pau et des Pays de l’Adour, 2016 45 [14] Wikipedia contributors (2019, November 27) History of the web browser In Wikipedia, The Free Encyclopedia Retrieved 17:58, December 12, 2019, from https://en.wikipedia.org/w/index.php?title=History_of_the_web_ browser&oldid=928183584 [15] Blockchain and smart contract automation: How smart contracts automate digital business?, https://declara.com/content/YamDM4e5 [16] OWL Web Ontology Language - Use Cases and Requirements, W3C Recommendation 10 February 2004, https://www.w3.org/TR/webont-req/#onto-def [17] OWL Web Ontology Language - Overview, W3C Recommendation 10 February 2004, https://www.w3.org/TR/2004/REC-owl-features-20040210/#s1 [18] SWRL: A Semantic Web Rule Language Combining OWL and RuleML, W3C Member Submission 21 May 2004, https://www.w3.org/Submission/SWRL/#1 [19] Wikipedia contributors (2020, July 5) LL grammar In Wikipedia, The Free Encyclopedia Retrieved 17:15, July 24, 2020, from https://en.wikipedia.org/w/ index.php?title=LL_grammar&oldid=966152948 [20] "SWRL: A Semantic Web Rule Language Combining OWL and RuleML" www.w3.org Retrieved 21 December 2017 https://www.w3.org/Submission/ SWRL/ [21] "The SWRLAPI: A Development Environment for Working with SWRL Rules" M.J O’Connor, R.D Shankar, C Nyulas, A.K Das, M.A Musen OWL: Experiences and Directions (OWLED), 4th International Workshop, Washington, D.C., U.S.A, 2008 [22] The innovator’s Guide to picking the right Blockchain, Ben Wald and Bill Brock [23] In Search of an Understandable Consensus Algorithm (Extended Version), Diego Ongaro and John Ousterhout, Stanford University, https://raft.github.io/ raft.pdf [24] Hyperledger Architecture, Volume - Introduction to Hyperledger Business Blockchain Design Philosophy and Consensus, Hyperledger, https: //www.hyperledger.org/wp-content/uploads/2017/08/Hyperledger_Arch_ WG_Paper_1_Consensus.pdf [25] Nick Szabo - Smart Contracts: Building Blocks for Digital Markets, http:// www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/ LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html [26] Wikipedia contributors (2019, September 5) LL grammar In Wikipedia, The Free Encyclopedia Retrieved 18:13, December 10, 2019, from https://en.wikipedia org/w/index.php?title=LL_grammar&oldid=914163888 7/29/2020 grad.hcmut.edu.vn/hv/hv_print_llkh.php?hisid= ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc TÓM TẮT LÝ LỊCH KHOA HỌC Bản thân Họ tên khai sinh: Phạm Thành Công Phái: Nam Sinh ngày: 24/01/1994 Nơi sinh: Quảng Ngãi Dân tộc: Kinh Tôn giáo: Không Địa thường trú: Tịnh Châu, TP.Quảng Ngãi Địa liên lạc: E13 Cư Xá Phú Thọ Hồ, P.10, Q.Tân Bình, TP.HCM Điện thoại: 0384745456 Email: cse.thanhcong@gmail.com Nghề nghiệp, nơi làm việc: Kỹ Sư Phần Mềm, Công Ty Cổ Phần Công Nghệ & Ứng Dụng DSV Ngày vào Đoàn TNCS-HCM: Ngày vào Đảng CSVN: Diện sách: Q trình đào tạo a ĐẠI HỌC Tốt nghiệp Trường/Viện: Trường ĐH Bách Khoa - ĐHQG TP.HCM Ngành học: Khoa Học Máy Tính Loại hình đào tạo: Chính quy Thời gian đào tạo từ năm: 2012 đến năm: 2017 Xếp loại tốt nghiệp: Giỏi b SAU ĐẠI HỌC Thực tập khoa học, kỹ thuật từ đến Tại Trường, Viện, Nước: Nội dung thực tập: Học cao học/làm NCS từ năm: đến năm: Chuyên ngành: Ngày nơi bảo vệ luận văn thạc sĩ: , Quá trình học tập làm việc thân (từ học đại học đến nay): Từ Ngày Đến Ngày Học làm việc 06/01/2016 06/09/2016 Nhân viên lập trình grad.hcmut.edu.vn/hv/hv_print_llkh.php?hisid= Ở đâu Thành tích học tập Cơng ty TNHH Solazu 1/2 7/29/2020 grad.hcmut.edu.vn/hv/hv_print_llkh.php?hisid= Từ Ngày Đến Ngày 13/04/2017 Học làm việc Nhân viên phát triển phần mềm Thành tích học tập Ở đâu Cơng ty cổ phần công nghệ ứng dụng DSV Kết hoạt động khoa học, kỹ thuật Giải thưởng khoa học cấp - Giải Nhì thi Hackathon tổ chức công ty atWare trường ĐH Bách Khoa TP.HCM - Giải Ba thi IT Startup Contest tổ chức Đại Học Handong trường Đại Học Bách Khoa TP.HCM Khả chuyên môn, nguyện vọng hoạt động khoa học, kỹ thuật - Thành thạo cơng nghệ tảng Web, App, có chun môn kinh nghiệm năm tảng, công nghệ (NodeJS, AngularJS, ReactJS, Golang, Kubernetes, ) Lời cam đoan Tôi xin cam đoan nội dung khai thật xin chịu trách nhiệm trước pháp luật nội dung lý lịch khoa học thân Xác nhận Ngày 29 tháng 07 năm 2020 Người khai ký tên Phạm Thành Công grad.hcmut.edu.vn/hv/hv_print_llkh.php?hisid= 2/2 ... 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.48.01.01... 60.48.01.01 I TÊN ĐỀ TÀI: Giám sát tự động hoá hợp đồng nghiệp vụ vài lĩnh vực hẹp ứng dụng Blockchain II NHIỆM VỤ VÀ NỘI DUNG: Hoàn thành nội... trình vận hành giám sát hợp đồng nghiệp vụ Với bối cảnh đó, đề tài đề xuất tốn giải việc tự động hoá hợp đồng nghiệp vụ Business contract automation Tự động hoá hợp đồng nghiệp vụ chương trình thiết

Ngày đăng: 03/03/2021, 19:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w