Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 84 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
84
Dung lượng
2,45 MB
Nội dung
TR N ă ă Că ĨăN N ă CăS ăP Mă ĨăN N NGUY N TH XUÂN ÁNH NG D NG CÔNG NGH BLOCKCHAIN TRONG VI Că M B OăANăTOĨNă M TÍN CH LU NăVĔNăT CăSƾ H TH NG THƠNG TIN ƠăN ngă- 2020 TR N ă ă Că ĨăN N ă CăS ăP Mă ĨăN N NGUY N TH XUÂN ÁNH NG D NG CÔNG NGH BLOCKCHAIN TRONG VI Că M B OăANăTOĨNă M TÍN CH Chuyên ngƠnh ăH TH NG THÔNG TIN Mƣăs Ng iăh ngă 8480104 nă ho ăh TS NGUY N TR N QU C VINH ƠăN ngă- 2020 V M CăL C L I C Mă N I L ăCAMă OAN II TRANG THÔNG TIN LU NăVĔNăT CăSƾ III M C L C V DANH M C CÁC T VI T T T VII DANH M C CÁC B NG BI U .VIII DANH M C CÁC HÌNH IX M U 1 Lý chọn đề tài Mục tiêu nghiên c u 3 Đối tượng phạm vi nghiên c u Phương pháp nghiên c u Ý nghĩa c a đề tài Bố cục c a luận văn C N ă1 T NG QUAN V CÔNG NGH BLOCKCHAIN 1.1 Giới thiệu công nghệ blockchain 1.2 Mơ hình mạng tập trung, phân tán, ngang hàng 1.3 Cấu trúc c a block blockchain 11 1.3.1 Chi tiết block blockchain 11 1.3.2 Chi tiết giao dịch (transaction) block 14 1.4 Hàm băm, địa ví, chữ ký số blockchain 22 1.4.1 Hàm băm 22 1.4.2 Địa ví ngư i tham gia giao dịch 22 1.4.3 Ký số trong blockchain 23 1.4.4 Xác minh chữ ký số 24 1.5 Các node mạng blockchain 24 1.6 Cơ chế đồng thuận phân tán blockchain 26 1.7 Cách block thêm vào bitcoin 30 1.8 Hợp đồng thông minh blockchain 32 1.9 Quy trình bước c a giao dịch blockchain 32 VI 1.10 Phân loại blockchain 34 1.11 Các ng dụng phổ biến c a công nghệ blockchain 36 C N ă2 L UăTR M TÍN CH TRÊN BLOCKCHAIN 38 2.1 Xác định vấn đề đảm bảo an toàn hệ thống điểm tín 38 2.1.1 Mơ tả hệ thống điểm tín 38 2.1.2 Quy trình lưu điểm tín c a hệ thống tín 38 2.2 Mô bước lưu liệu điểm tỉn lên blockchain 40 2.3 Lựa chọn mơ hình blockchain 41 2.4 Tìm hiểu Hyperledger Fabric 41 2.4.1 Các thành phần c a Fabric 43 2.4.2 Cơ s liệu Ledger 44 2.4.3 Mô tả Transaction hyperledger 45 2.4.4 Hợp đồng thông minh Chaincode 47 2.4.5 Dịch vụ Ordering 47 2.4.6 Tính bất biến c a liệu hyperledger 48 C N ă3 XÂY D NG MƠ HÌNH TH C NGHI M 49 3.1 Mơ hình kiến trúc hệ thống đề xuất 49 3.2 Xác định đối tượng tham gia hệ thống đảm bảo tín 50 3.3 Sơ đồ Usecase tổng quan điểm tín blockchain 50 3.3 Cơ s liệu điểm blockchain hyperledger 50 3.5 Hợp đồng thơng minh điểm tín 52 3.6 Cơ chế đồng thuận hợp đồng thông minh điểm tín 54 3.7 Giao dịch thêm điểm tín 54 3.8 Giao dịch thay đổi điểm tín 57 3.9 Giao dịch xóa điểm 57 3.10 Truy vấn, xác minh điểm tín blockchain hyplerledger fabric 57 3.11 Cài đặt chạy thực nghiệm 58 K T LU N CHUNG 63 TÀI LI U THAM KH O VII DAN ăM CăCỄCăT ăV STT Tênăvi tăt t API Tênăđ yăđ Application Programing TăT T i iăthí h Giao diện lập trình ng dụng Interface BTC Bitcoin Một loại tiền số ECDSA Elliptic Curve Digital Signature Algorithm Thuật toán ký số đư ng cong Elliptic HTTP HyperText Transfer Protocol Giao th c truyền tải siêu văn JSON JavaScript Object Noattion Một kiểu định dạng liệu MD Message Digest Đại diện thông điệp PoW Proof of Work Bằng ch ng công việc UTXO Unspent Transaction Các Output chưa tiêu tiền số Output VIII DAN ăM CăCỄCăB N ăB S hi u Tên b ng Uă Trang Bảng 1.1 Cấu trúc c a block 12 Bảng 1.2 Cấu trúc c a block header 12 Bảng 1.3 Chi tiết giao dịch bitcoin 14 Bảng 1.4 Mô tả trư ng Output c a bitcoin 17 Bảng 1.5 Mô tả trư ng Opcode c a bitcoin 18 58 3.11 CƠiăđặtăvƠă h yăth ănghi m Cài đặt mạng Hyperledger Fabric: Docker https://store.docker.com/editions/community/docker-ce-desktopwindows Go https://golang.org/doc/install?download=go1.11.2.windows-amd64.msi Node.js https://nodejs.org/en/download/ Git https://git-scm.com/download/win Sau cài đặt xong thành cơng mạng hyperledger fabric hình xuất sau: 59 Hình 3.8 Kết cài đặt mạng Fabric Giao d ch nh păđi m (thêmăđi m): Hình 3.9 kết thực việc nhập điểm tín Sau thêm điểm thành cơng vào hệ thống có block tạo Hình 3.10 Hiển thị trạng thái Block thêm vào hệ thống 60 Hình 3.11 Xem điểm tín sở liệu ledger qua trình duyệt web Xemăđi măđi m v a t o: Hình 3.12 Truy vấn điểm tín Blockchain Hyperledger Fabric Tình hu ng can thi păđi m trái phép: Giả sử thực việc thay đổi điểm tín node mà khơng thơng qua tổ ch c cịn lại, sau thực việc cập nhật điểm vào hệ thống 61 Hình 3.13 Điểm tín trước sau đổi node Ta thấy mặt dù điểm node tự ý thay đổi, nhiên điểm node 2, node không thay đổi Thực Transaction thêm điểm vào hệ thống, lúc hệ thống báo lỗi Hình 3.14 Thực transaction thay đổi điểm sau bị can thiệp trái phép Th c hi n khôi ph c d li u sau phát hi n node b s ăđi m trái phép: Như thực việc cập nhật điểm với đầy đ 03 chữ ký bị báo lỗi hệ thống phát liệu node bị can thiệp trái phép Trong trư ng hợp này, muốn khôi phục hệ thống phải xóa node khơi phục liệu ban đầu cho node Hình 3.15 Thực xóa node1 62 Hình 3.16 Khơi phục lại node1 Như liệu node sau khôi phục giống node 2, node K tălu nă h ng: Trong chương luận văn trình việc lưu điểm tín blockchain hyperledger thực tế Giải pháp áp dụng blokchain hoàn toàn phù hợp khắc phục khó khăn trư ng học việc xây dựng hệ thống tin cậy để tra c u, xác minh điểm tín cần Chương trình bày chi tiết cách cài đặt hyperledger fabric mô hình c a blockchain chương 63 K TăLU NăC UN Cá ă tăqu ăthuăđ ătrongălu năvĕn Qua trình nghiên c u blockchain số ng dụng c a công nghệ này, với giúp đỡ tận tình c a thầy bạn bè, luận văn đạt số kết định, đưa nhìn rõ ràng khái niệm blockchain, cài đặt hệ thống blockchain phát triển ng dụng c a ng dụng thực tiễn Về mặt nội dung, luận văn đạt số kết sau đây: Tìm hiểu nghiên c u lý thuyết: • Chi tiết công nghệ blockchain tiềm c a công nghệ • Hàm băm chữ ký số, kỹ thuật sử dụng blockchain • Hyperledger, blockchain mã nguồn m Thực nghiệm: • Xây dựng thành cơng mạng hyperledger fabric • Xây dựng mơ s liệu điểm tín hyperledger fabric nhăh ngănghiênă u Do th i gian chưa có nhiều, bên cạnh kết đạt được, luận văn cịn nhiều hạn chế việc triển khai chương trình thực nghiệm Để mạng blockchain thực hoạt động tốt cần có tham gia c a nhiều nút chương trình mơ có số nút cịn hạn chế Ngoài ra, hệ thống cần thử nghiệm loại chữ ký số khác để so sánh tốc độ thực cải thiện hiệu c a hệ thống Với hạn chế kể trên, luận văn tiếp tục nghiên c u vấn đề sau: • Tiếp tục hoàn thiện mạng blockchain với nhiều nút hoạt động • Thử nghiệm phương pháp ký số khác so sánh tốc độ xử lý, độ an tồn c a thuật tốn để cải thiện hiệu tính bảo mật c a blockchain 64 Ti ngăVi t TĨ ăL UăT AMăK O [1] Đoàn Ngọc Sơn (2017), “Nghiên c u, ng dụng công nghệ blokchain tốn di động”, Đại học Cơng nghệ - Đại học Quốc Gia Hà Nội Ti ngăAnh [2] Patrick D Gallagher, "Digital Signature Standard (DSS)," in FIPS PUB 186-4, pp 26-30, July 2013 [3] Bitcoin project, “Bitcoin – open source P2P money,” 2017 Cá ăngu nătrênă nternet [4] https://vi.wikipedia.org/wiki/Blockchain [5] https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorith m [6] https://en.wikipedia.org/wiki/Smart_contract [7] https://en.bitcoin.it/wiki/Proof_of_work [8] https://en.bitcoin.it/wiki/Difficulty [9] https://hyperledger-fabric.readthedocs.io/ ... thay đổi liệu c a blockchain áp dụng vào việc đảm bảo an tồn điểm tín Với thực trạng đó, luận văn có mục tiêu nghiên c u, ng dụng công nghệ Blockchain việc hỗ trợ xác minh, đảo bảo điểm học tập c... ng dụng công nghệ blockchain việc đảm bảo an tồn điểm tín chỉ? ?? làm luận văn tốt nghiệp thạc sĩ c a M c tiêu nghiên c u - Nghiên c u lý thuyết công nghệ blockchain - Nghiên c u quy trình nhập điểm. .. đảm bảo tín blockchain 49 50 X S hi u Hình 3.3 Tên hình Cơ s liệu điểm tín blockchain hyperledger Trang 51 Hình 3.4 Hợp đồng thơng minh điểm tín 53 Hình 3.5 Luồng xử lý c a Transaction điểm tín