Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
2,88 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN MƠN HỌC ĐỒÁN1 TÌM HIỂU VỀ HYPERLEDGER FABRIC VÀ XÂY DỰNG ỨNG DỤNG MINH HOẠ Giảng viên hướng dẫn: ThS Nguyễn Công Hoan Sinh viên thực hiện: Dương Cơng Vũ TPHCM, 11/2021 195211 Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ Mục Lục I GIỚI THIỆU CHUNG Thông tin nhóm Tổng quan đề tài: 2.1 Giới thiệu đề tài 2.2 Phạm vi nghiên cứu 2.3 Nội dung nghiên cứu 2.4 Kết hướng tới Công cụ sử dụng II CÔNG NGHỆ BLOCKCHAIN Blockchain gì? Lợi ích sử dụng Blockchain Những bất cập mạng blockchain HYPERLEDGER FABRIC: III Giới thiệu Hyperledger Foundation Tổng quan Hyperledger Fabric 10 Cộng đồng sử dụng 11 Tính bật 11 5.1 Mạng blockchain phân quyền 11 5.2 Cơ chế đồng thuận linh hoạt 12 5.3 Tính module hoá 12 Kiến trúc môi trường cài đặt 13 Khái niệm bản: 14 IV 7.1 Identity 14 7.2 Membership Service Provider (MSP) 16 7.3 Policies 17 7.4 Peers 18 7.5 Ledger 19 7.6 Ordering Service 22 7.7 Smart Contract & Chaincode 23 7.8 Chaincode lifecycle 24 MINIFABRIC 26 Giới thiệu Minifabric 26 Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ Các câu lệnh 27 2.1 Tải mã nguồn từ Github cài đặt 27 2.2 Khởi chạy 28 2.3 Tắt mạng 29 2.4 Cài đặt chaincode 29 2.5 Sử dụng chaincode 30 2.6 Truy vấn khối 31 2.7 Sửa đổi channel 32 2.8 Thêm tổ chức vào mạng 32 2.9 Truy vấn tình trạng mạng 32 2.10 Khởi chạy Hyperledger Explorer 33 Các cài đặt 34 V XÂY DỰNG ỨNG DỤNG MINH HOẠ 37 Giới thiệu ứng dụng minh hoạ 37 Kiến trúc hệ thống 39 Dữ liệu sổ 40 Các bước tiến hành 41 VI 4.1 Thiết lập cấu hình cho mạng, channel chaincode 41 4.2 Lập trình chaincode 42 4.3 Khởi chạy mạng 46 4.4 Sử dụng chaincode 50 4.5 Lập trình ứng dụng 52 TỔNG KẾT 55 Kết đạt 55 Mục tiêu hướng tới 55 TÀI LIỆU THAM KHẢO 56 Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ I GIỚI THIỆU CHUNG Thơng tin nhóm Nhóm gồm thành viên: - Thành viên MSSV Lớp Email : Dương Công Vũ : 19521110 : PMCL2019.1 : 19521110@gm.uit.edu.vn Tổng quan đề tài: 2.1 Giới thiệu đề tài Hệ sinh thái Hyperledger đặc biệt Hyperledger Fabric nhận quan tâm nhiều nhà phát triển blockchain toàn giới Với mã nguồn mở, khả linh hoạt trọng cài dặt vận hành, Hyperledger Fabric công cụ triển khai mạng blockchain có phân quyền ưa chuộng Cùng với xu phát triển giới, tập đoàn, chỉnh phủ quan nỗ lực áp dụng công nghệ blockchain vào giải vấn đề hành Với Hyperledger Fabric, nhà phát triển dễ dàng tiếp cận với cơng nghệ blockchain xây dựng ứng dụng liên quan tới công nghệ 2.2 Phạm vi nghiên cứu Bài nghiên cứu tập trung vào thành phần, khái niệm Hyperledger Fabric chức năng, nhiệm vụ thành phần phương pháp áp dụng công nghệ vào xây dựng mạng blockchain 2.3 Nội dung nghiên cứu Nghiên cứu bao gồm khái niệm blockchain, giới thiệu dự án Hyperledger Hyperledger Fabric thành phần Ngoài đề cập tới Minifabric, công cụ giúp vận hành triển khai mạng Fabric cách nhanh chóng ứng dụng Minifabric để xây dựng mạng blockchain đơn giản 2.4 Kết hướng tới Kiến thức công nghệ blockchain Hiểu kiến trúc Hyperledger Fabric Sử dụng câu lệnh Minifabric Xây dựng thành công mạng blockchain với Minifabric Công cụ sử dụng Hyperledger Fabric framework Minifabric Docker IDE Visual code Ngơn ngữ lập trình chaincode NodeJs Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ II CÔNG NGHỆ BLOCKCHAIN Blockchain gì? Từ lâu khái nhiệm blockchain trở thành thuật ngữ quen thuộc ngành công nghệ thông tin lĩnh vực khác đời sống Các cơng ty, tập đồn chí phủ nỗ lực áp dụng cơng nghệ blockchain vào lĩnh vực để tận dụng hiệu suất cơng việc Tuy có nhiều khái niệm phức tạp, nhìn chung blockchain hệ thống lưu trữ liệu phân tán Dữ liệu lưu trữ nhiều nơi máy tính tham gia vào mạng blockchain (gọi node) gọi sổ Mỗi node giữ phiên sổ phiên đồng giữ tính thống liệu Sổ nơi lưu trữ liệu hay lịch sử giao dịch thực mạng blockchain Các giao dịch đóng gói mã hố chiều để tạo thành khối (block) liệu block thay đổi trực tiếp mà phải tạo thêm block để thay đổi liệu Các block liên kết với thông qua việc block sau giữ giá trị mã hoá block trước tạo thành sợi xích vững chãi khó để phá vỡ thay đổi block cần phải thay đổi block sau liên kết với Blockchain nơi lưu trữ thơng tin an tồn thay đổi thơng tin node, ta cần phải chiếm quyền điều khiển phần lớn node khác mạng lưới để thay đổi liệu sổ Bên cạnh lợi ích sổ phân tán, blockchain cung cấp hợp đồng thơng minh Đây loại chương trình chạy mạng blockchain để thao tác với liệu sổ Các hợp Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ đồng thơng minh đóng vai trò giống hợp đồng nhằm thực giao dịch tự động an tồn thơng qua chế đồng thuận Cơ chế giúp giữ cho liệu mạng blockchain thống đồng cách cần lượng lớn node tham gia đồng thuận giao dịch giao dịch hợp lệ Lợi ích sử dụng Blockchain Điểm mạnh lớn blockchain cơng nghệ lưu trữ liệu đại Khác với phương thức lưu trữ trước sở liệu tập trung, sổ sách, giấy tờ, blockchain đem đến cho cách thức lưu trữ an tồn, minh bạch Sẽ khơng cịn tình trạng giả mạo thơng tin giao dịch giao dịch mạng blockchain minh bạch kiểm chứng hay khơng cịn tình trạng lợi dụng thông tin không đồng để trục lợi dự liệu blockchain ln đồng Do tính ngang hàng thành phần mạng blockchain nên bỏ qua bên trung gian không cần thiết nhằm tiết kiệm chi phí thời gian Trước đây, thực giao dịch thường cần bên thứ đứng làm chứng, điều khiến giao dịch trở nên phức tạp tốn nhiều thời gian, chi phí Với việc áp dụng cơng nghệ blockchain, bên liên quan trực tiếp Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ giao dịch với từ tối ưu chi phí Vd: nhà nơng trực tiếp bn bán với khách hàng mà khơng cần thơng qua thương lái Từ đó, nhiều mơ hình kinh doanh tinh gọn cịn thành phần Những bất cập mạng blockchain Lợi ích blockchain rõ ràng bên cạnh cịn tồn số hạn chế khiến việc áp dụng blockchain vào thực tế cịn nhiều khó khăn Hệ thống phức tạp: Để cài đặt mạng blockchain cần đội ngũ lớn kĩ sư chuyên gia blockchain cơng nghệ khó tiếp cận đặc thù Ngồi mạng blockchain cịn có quy định hệ thống riêng biệt, khó để đưa quy trình chuẩn Kích thước mạng lưới: Một mạng blockchain để hoạt động hiệu cần lượng lớn node tham gia vào trì hoạt động Việc vơ hình chung khiến việc triển khai ứng dụng blockchain trở nên khó khăn khơng đủ tài nguyên nội mở mạng blockchain cơng cộng để node bên ngồi tham gia số liệu bảo mật, lưu hành phạm vi quan Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ Tính bảo mật pháp lý: Việc có q node mạng blockchain gây nên vấn đề bảo mật hệ thống bị cơng dễ dàng thông qua chiếm quyền điều khiển vài node Bên cạnh đó, chưa có quy định rõ ràng việc quản lí thực giao dịch mạng blockchain nên nhiều doanh nghiệp chưa thể triển khai tảng blockchain III HYPERLEDGER FABRIC: Giới thiệu Hyperledger Foundation “Hyperledger Foundation tổ chức phi lợi nhuận cung cấp tài nguyên nguồn lực cần thiết để đảm phát triển hệ sinh thái xung quanh dự án blockchain mã nguồn mở” Là dự án Linux Foundation, bắt đầu phát triển cuối năm 2015, tới nay, dự án Hyperledger nhận them hậu thuẫn từ ông lớn làng công nghệ IBM, Intel, SAP Ariba nhằm hỗ trợ phát triển hệ thống sổ phân tán ứng dụng liên quan dựa công nghệ blockchain Mục tiêu dự án phát triển công nghệ sổ phân tán dựa công nghệ blockchain nhằm hỗ trợ vào lĩnh vực đời sống tài chính, cơng nghệ, logistics,… Dự án phát đưa tiêu chuẩn thiết kế tạo module nhằm vận hành mạng blockchain cách dễ dàng nhanh chóng Ngồi cịn cung cấp cơng cụ kiểm sốt, quản lí vận hành mạng lưới blockchain, module dự án phát triển độc lập dễ dàng kết hợp với qua tiêu chuẩn có sẵn Qua năm phát triển, với đóng góp cộng đồng cơng ty hàng đầu công nghệ, Hyperledger Foundation cho mắt framework công cụ hỗ trợ trọng xây dựng vận hành mạng lưới blockchain bao gồm: framework lớn mắt: - Hyperledger Fabric Hyperledger Iroha Hyperledger Sawtooth Hyperledger Besu công cụ hỗ trợ: Hyperledger Caliper: Công cụ đo lường mạng blockchain Hyperledger Cello: Bộ công cụ phát triển blockchain Hyperledger Composer: Bộ công cụ xây dựng mạng blockchain cho môi trường doanh nghiệp Hyperledger Explorer: Ứng dụng web giúp giám sát mạng blockchain Hyperledger Quilt: Công cụ vận hành hệ thống blockchain Hyperledger Ursa: Thư viện mã hố Tìm hiểu Hyperledger Fabric xây dựng ứng dụng minh hoạ Ngoài ra, đội ngũ phát triển nhiều dự án khác, tất dự án Hyperledger mã nguồn mở sẵn sàng nhận đóng góp cộng đồng Thơng tin dự án xem trang chủ dự án Tổng quan Hyperledger Fabric Được phát triển thức IBM Digital Asset, Hyperledger Fabric tảng blockchain sử dụng rộng rãi doanh nghiệp lớn Hyperledger Fabric thiết kế tảng để từ phát triển ứng dụng, giải pháp theo hướng module hoá Tất thành phần gồm sổ cái, hợp đồng thơng minh, node dễ dàng kết hợp với để tạo nên mạng blockchain Hyperledger Fabric công nghệ sổ phân tán blockchain sử dụng rộng rãi Là dự án thành lập Linux Foundation (một tổ chức có nhiều năm phát triển dự án mã nguồn mở), Hyperledger Fabric hứa hẹn phát triển mạnh mẽ Hiện có 35 tổ chức 200 nhà phát triển đóng góp vào mã nguồn Hyperledger Fabric Sự linh hoạt dễ sử dụng hầu hết công nghệ blockchain Ethereum, NEO, … giúp công nghệ sử dụng nhiều lĩnh vực khác nông nghiệp, vận tải, giáo dục, hành chính, bảo hiểm, y tế… phát hành nhạc kỹ thuật số Tuy vậy, Hyperledger công nghệ cấp độ doanh nghiệp, nghĩa cần đội ngũ phát triển giỏi dày dặn kinh nghiệm thiết kế mạng blockchain hồn chỉnh Lịch sử hình thành phát triển Được mắt từ năm 2015 alpha release (1.0) vào năm 2016, Hyperledger fabric xem dự án cốt lõi dự án Hyperledger Phiên thời điểm viết báo cáo v2.3.3 mắt ngày 2/9/2021 Github dự án tiếp nhận 13.900 commit từ 200 nhà phát triển