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

Nghiên cứu và ứng dụng công nghệ blockchain trong việc quản lý hoạt động chuyển vùng viễn thông quốc tế

87 1 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

Thông tin cơ bản

Tiêu đề Nghiên Cứu Và Ứng Dụng Công Nghệ Blockchain Trong Việc Quản Lý Hoạt Động Chuyển Vùng Viễn Thông Quốc Tế
Tác giả Lê Thanh Hiệu
Người hướng dẫn TS. Huỳnh Bá Diệu
Trường học Đại học Duy Tân
Chuyên ngành Khoa học máy tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 87
Dung lượng 3,67 MB

Nội dung

Nghiên cứu và ứng dụng công nghệ blockchain trong việc quản lý hoạt động chuyển vùng viễn thông quốc tế 1. Lý do chọn đề tài: Chuyển vùng viễn thông (roaming) là dịch vụ cho phép các thuê bao di động nghe gọi, nhắn tin và sử dụng data tại các vùng địa lý nằm ngoài khả năng đáp ứng của nhà mạng thường trú và trong khu vực đáp ứng của các nhà mạng khác có ký kết thỏa thuận chuyển vùng với các nhà mạng thường trú. Chuyển vùng quốc tế giúp cho thuê bao di động giữ được số điện thoại của mình khi đi ra nước ngoài và duy trì việc khai thác các dịch vụ thoại và data thông qua mạng di động của nước sở tại. Cùng với các lợi ích to lớn trên, hoạt động chuyển vùng quốc tế luôn đối mặt với các hành vi tấn công gian lận để chiếm đoạt cước phí. Tổ chức CFCA đã thực hiện các cuộc khảo sát và nghiên cứu hai năm một lần, lần gần đây nhất là vào năm 2021, cho thấy rằng thiệt hại gian lận toàn cầu khoảng 39,89 tỷ đô la Mỹ, tương đương với 2.22% doanh thu viễn thông toàn cầu ước tính trong năm 2021, tăng 28% so với năm 2019 13. Vài năm gần đây, công nghệ blockchain 3.0 đã được giới thiệu và ứng dụng rộng rãi ra nhiều lĩnh vực trong đời sống chứ không chỉ trong lĩnh vực tài chính (tiền kỹ thuật số). Blockchain mở ra cơ hội cho nhiều ngành nghề khác, trong đó có ngành viễn thông. Việc áp dụng blockchain trong ngành viễn thông giúp nâng cao hiệu quả quản lý, khai thác mạng lưới kinh doanh, giao dịch các loại tài sản số như các dịch vụ nội dung, quản lý định danh, hợp đồng thông minh. Đặc biệt, blockchain có vai trò rất quan trọng trong lĩnh vực an toàn thông tin, ngăn chặn gian lận viễn thông. Một số nền tảng blockchain đã được xây dựng phát triển hỗ trợ cho việc ứng dụng blockchain. Hyperledger là một dự án mã nguồn mở của Linux Foundation, đã được nhiều doanh nghiệp ICT ứng dụng trong việc khởi tạo và quản lý blockchain của doanh nghiệp. Hãng IBM có đề xuất giải pháp chống gian lận trong hoạt động chuyển vùng viễn thông thông qua các hợp đồng thông minh (smart contract). Để làm rõ hơn những điểm mà Blockchain có thể áp dụng được, tác giả đã chọn đề tài “Nghiên cứu và ứng dụng Blockchain trong việc quản lý hoạt động chuyển vùng viễn thông quốc tế” cho luận văn của mình. 2. Mục đích nghiên cứu: Mục đích nghiên cứu của đề tài là nghiên cứu tổng quan về công nghệ blockchain, nghiên cứu về nguyên tắc hoạt động, ứng dụng của blockchain đối với các hoạt động trong đời sống đặc biệt là các ứng dụng thiết thực cho mạng viễn thông. Nghiên cứu một mô hình, hệ thống Blockchain có khả năng ứng dụng vào hoạt động chuyển vùng quốc tế để giải quyết các hạn chế của các quy trình hiện có. Từ đó xây dựng kịch bản mô phỏng của hệ thống đề xuất nhằm xử lý bài toán chống gian lận trong hoạt động chuyển vùng quốc tế. 3. Nội dung nghiên cứu: Nghiên cứu tổng quan về công nghệ blockchain, cấu trúc blockchain, một số đặc điểm, phân loại blockchain. Nghiên cứu về các cơ chế đồng thuận của blockchain. Nghiên cứu nền tảng blockchain Hyperledger Fabric, các cơ chế hoạt động, các ưu điểm của Hyperledger Fabric. Nghiên cứu về hoạt động chuyển vùng viễn thông quốc tế, các vấn đề gian lận. Nghiên cứu và xây dựng mô hình hoạt động chuyển vùng quốc tế dựa trên công nghệ blockchain. 5. Phương pháp nghiên cứu: Tham khảo các công trình nghiên cứu, bài báo, tài liệu chuyên ngành, từ đó đưa ra các kiến thức cơ bản về blockchain. Sử dụng các kiến thức nghiên cứu được để đề xuất mô hình hình ứng dụng. Cài đặt và thử nghiệm thông qua các thực nghiệm để làm rõ các vấn đề cần đạt được trong luận văn. 6. Ý nghĩa khoa học và thực tiễn: Về mặt khoa học, luận văn đã cung cấp các kiến thức cơ bản về blockchain: cấu trúc mạng, block, giao dịch, sổ cái, phân loại các hệ thống blockchain, đi sâu vào phân tích nền tảng Hyperledger Fabric Về mặt thực tiễn, đề tài có đưa ra các hướng ứng dụng blockchain trong việc quản lý hoạt động chuyển vùng viễn thông quốc tế. Việc áp dụng blockchain vào quá trình chuyển vùng quốc tế góp phần giải quyết bài toán chống gian lận cước, tối ưu chi phí hoạt động của các nhà cung cấp dịch vụ và lợi ích cho người dùng. 7. Nội dung chính của luận văn Chương 1. Trong chương này sẽ trình bày các kiến thức cơ bản về blockchain như cấu trúc block, đặc điểm, phân loại blockchain và các cơ chế đồng thuận của blockchain. Nghiên cứu nên tảng blockchain Hyperleger Fabric, các ưu điểm và mô hình ứng dụng. Chương 2. Chương này, luận văn tập trung phân tích quy trình hoạt động chuyển vùng viễn thông quốc tế, các hình thức gian lận trong hoạt động chuyển vùng quốc tế, từ đó xác định các vấn đề cần giải quyết, đồng thời đề xuất mô hình ứng dụng để giải quyết các vấn đề đặt ra. Chương 3. Cuối cùng, chương 3 sẽ trình bày việc triển khai mô hình ứng dụng blockchain trong hoạt động chuyển vùng quốc tế, đưa ra đánh giá kết quả thực nghiệm.

Trang 1

LÊ THANH HIỆU

NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN TRONG VIỆC QUẢN LÝ HOẠT ĐỘNG CHUYỂN VÙNG VIỄN THÔNG QUỐC TẾ

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

ĐÀ NẴNG, Năm 2022

Trang 2

LÊ THANH HIỆU

NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN TRONG VIỆC QUẢN LÝ HOẠT ĐỘNG CHUYỂN VÙNG VIỄN THÔNG QUỐC TẾ

Chuyên ngành: Khoa học máy tính

Mã số: 8480101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS Huỳnh Bá Diệu

ĐÀ NẴNG, NĂM 2022

Trang 3

Lời đầu tiên, tôi xin được gửi lời cảm ơn sâu sắc tới TS Huỳnh Bá Diệu,giảng viên Viện Đào tạo Quốc tế - Đại học Duy Tân đã tận tình giúp đỡ, hướng dẫn

và truyền đạt những kinh nghiệm quý báu cho tôi trong suốt quá trình nghiên cứu vàhoàn thành luận văn này

Tôi cũng xin trân trọng cảm ơn Ban giám hiệu và các Thầy Cô giảng viênTrường Đại học Duy Tân đã giảng dạy, truyền đạt cho tôi những kiến thức trongsuốt thời gian học tập tại trường Những kiến thức này không chỉ làm tôi nâng cao

kỹ năng bản thân mà còn giúp ích cho tôi trong công việc hiện tại và về sau

Tôi cũng xin cảm ơn đến bạn bè, đồng nghiệp và đặc biệt là gia đình vànhững người thân đã ủng hộ, động viên tôi trong suốt thời gian vừa qua

Mặc dù đã hết sức nỗ lực, song do thời gian và kinh nghiệm nghiên cứu khoahọc còn hạn chế nên không thể tránh khỏi những thiếu sót Rất mong nhận được sựgóp ý của quý Thầy Cô và bạn bè đồng nghiệp để đề tài nghiên cứu hoàn thiện hơn

Đà Nẵng, ngày 20 tháng 02 năm 2022

Tác giả luận văn

Lê Thanh Hiệu

Trang 4

Tôi xin cam đoan các nội dung trong luận văn với đề tài “Nghiên cứu và ứng dụng công nghệ Blockchain trong việc quản lý hoạt động chuyển vùng viễn thông quốc tế” là công trình nghiên cứu của bản thân dưới sự hướng dẫn của

thầy TS Huỳnh Bá Diệu Mọi tham khảo từ các tài liệu, công trình nghiên cứu liênquan trong nước và quốc tế đều được trích dẫn rõ ràng trong luận văn Tôi xin chịutrách nhiệm về lời cam đoan này

Tác giả luận văn

Lê Thanh Hiệu

Trang 5

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC iii

DANH MỤC TỪ VIẾT TẮT vi

DANH MỤC CÁC BẢNG BIỂU ix

DANH MỤC CÁC SƠ ĐỒ, HÌNH VẼ x

MỞ ĐẦU 1

1 Lý do chọn đề tài: 1

2 Mục đích nghiên cứu: 2

3 Nội dung nghiên cứu: 2

5 Phương pháp nghiên cứu: 2

6 Ý nghĩa khoa học và thực tiễn: 2

7 Nội dung chính của luận văn 3

Chương 1 TỔNG QUAN VỀ BLOCKCHAIN VÀ NỀN TẢNG HYPERLEDGER FABRIC 4

1.1 TỔNG QUAN VỀ BLOCKCHAIN 4

1.2 CẤU TRÚC BLOCKCHAIN 5

1.3 ĐẶC ĐIỂM VÀ PHÂN LOẠI BLOCKCHAIN 6

1.3.1 Một số đặc điểm 6

1.3.2 Phân loại các hệ thống blockchain 7

1.4 CÁC CƠ CHẾ ĐỒNG THUẬN CỦA BLOCKCHAIN 8

1.4.1 Proof of Work (PoW) 9

1.4.2 Proof of Stake (PoS) 9

1.4.3 Delegated Proof of Stake (DPoS) 10

1.4.4 Practical Byzantine Fault Tolerance (PBFT) 10

1.5 NỀN TẢNG BLOCKCHAIN HYPERLEDGER FABRIC 11

1.5.1 Giới thiệu về Hyperledger Fabric 11

Trang 6

1.5.3 Xử lý lưu lượng mạng, khám phá và vận hành dịch vụ 22

1.5.4 Các ưu điểm của Hyperledger Fabric 25

1.6 ỨNG DỤNG CỦA BLOCKCHAIN 26

1.6.1 Lĩnh vực giáo dục 26

1.6.2 Lĩnh vực chính phủ điện tử 27

1.6.3 Lĩnh vực tài chính, ngân hàng 27

1.6.4 Lĩnh vực Y tế 28

1.6.5 Lĩnh vược công nghiệp viễn thông 28

1.7 KẾT LUẬN CHƯƠNG 1 29

Chương 2 ỨNG DỤNG KHAI THÁC DỊCH VỤ CHUYỂN VÙNG QUỐC TẾ TRÊN NỀN TẢNG HYPERLEDGER FABRIC 30

2.1 CHUYỂN VÙNG QUỐC TẾ VÀ CÁC VẤN ĐỀ GIAN LẬN 30

2.1.1 Tổng quan về hoạt động chuyển vùng trong mạng thông tin di động 30

2.1.2 Đối soát, tính cước dịch vụ chuyển vùng 31

2.1.3 Các kiểu gian lận trong hoạt động chuyển vùng 33

2.1.4 Hiện trạng chống gian lận chuyển vùng 35

2.2 ĐỀ XUẤT ỨNG DỤNG BLOCKCHAIN TRONG VIỆC CHỐNG GIAN LẬN CHUYỂN VÙNG 36

2.2.1 Triển khai thỏa thuận chuyển vùng bằng hợp đồng thông minh 36

2.2.2 Nhận dạng thuê bao bằng public key 37

2.3 GIỚI THIỆU GIẢI PHÁP MÃ NGUỒN MỞ CỦA HÃNG IBM 37

2.4 KẾT LUẬN CHƯƠNG 2 39

Chương 3 TRIỂN KHAI THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 40

3.1 CÀI ĐẶT HỆ THỐNG BLOCKCHAIN KHAI THÁC DỊCH VỤ CHUYỂN VÙNG……… 40

3.1.1 Mô hình triển khai cài đặt 40

3.1.2 Biểu đồ use-case 43

3.1.3 Biểu đồ lớp 43

Trang 7

3.2.1 Bước 1 khởi tạo các nhà cung cấp dịch vụ CSP 45

3.2.2 Bước 2 khởi tạo SIM thuê bao của mỗi CSP 47

3.2.3 Bước 3 khai báo chuyển vùng cho thuê bao vừa khởi tạo 49

3.2.4 Bước 4 kiểm tra cuộc gọi và cước của thuê bao 50

3.2.5 Bước 5 thử nghiệm hành vi gian lận chuyển vùng 52

3.2.6 Đánh giá kết quả chạy thử chương trình 53

3.3 KẾT LUẬN CHƯƠNG 3 53

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54 TÀI LIỆU THAM KHẢO

Trang 8

DANH MỤC TỪ VIẾT TẮT

Chữ viết tắt Chữ viết đầy đủ

Hệ thống chịu lỗi Byzantine

Trạm thu phát sóng di động

Nhà cung cấp chứng thực số

Bản ghi chi tiết cuộc gọi

CFCA Communications Fraud Control Association

Hiệp hội kiểm soát gian lận truyền thông

Khả năng chịu lỗi của sự cố

CIBER Cellular Intercarrier Billing Exchange Roamer

Bản ghi Roamer trao đổi thanh toán qua nhà cung cấp dịch vụ di động

Giao diện dòng lệnh

Hệ thống cấu hình chaincode

Nhà cung cấp dịch vụ viễn thông

Cơ quan trung gian thanh toán bù trừ

Bằng chứng cổ phần được ủy quyền

Nút định tuyến GPRS

GSMA

Global System for Mobile Communications Association

Hiệp hội Hệ thống Thông tin Di động Toàn cầu

Sổ đăng ký địa chỉ nhà riêng

Trang 9

HPMN Home Public Mobile Network

Nhà mạng di động thường trú

Báo cáo sử dụng cao

Mô đun bảo mật phần cứng

ICT Information & Communication Technology

Công nghệ thông tin và truyền thông

IMSI International Mobile Subscriber Identity

Nhận dạng thuê bao di động quốc tế

IRSF International Revenue Share Fraud

Gian lận chia sẻ doanh thu quốc tế

Hệ thống vòng đời chaincode

Trung tâm chuyển mạch di động

MSISDN

Mobile Station International Subscriber Directory Number

Số danh bạ thuê bao quốc tế của trạm di động

Nhà cung cấp dịch vụ thành viên

NRTRDE Near Real Time Roaming Data Exchange

Trao đổi dữ liệu chuyển vùng thời gian thực

PBFT Practical Byzantine Fault Tolerance

Khả năng chịu lỗi Byzantine thực tế

Bằng chứng của cổ phần

Bằng chứng của công việc

Hệ thống truy vấn chaincode

Bộ công cụ phát triển phần mềm

SIM Subscriber Identification Module

Mô đun nhận dạng thuê bao

Trang 10

Thủ tục chuyển tài khoản

Nhà mạng di động tạm trú

Hệ thống xác nhận chaincode

Trang 11

DANH MỤC CÁC BẢNG BIỂU

Bảng 1.1 Bảng so sánh các hệ thống blockchain 8Bảng 1.2 Bảng so sánh các cơ chế đồng thuận của blockchain 11

Trang 12

DANH MỤC CÁC SƠ ĐỒ, HÌNH VẼ

Hình 1.1 Các thế hệ công nghệ blockchain 5

Hình 1.2 Cấu trúc blockchain 5

Hình 1.3 Phân loại blockchain 7

Hình 1.4 Blockchain công nhận nhánh dài hơn 9

Hình 1.5 Thành phần và kiến trúc của Hyperledger Fabric 11

Hình 1.6 Mạng Fabric đơn giản với 2 tổ chức 13

Hình 1.7 Phân biệt nút bảo chứng (endorsing peer) và nút cam kết (commiting peer) 14

Hình 1.8 Các thành phần bên trong sổ cái của một nút peer 15

Hình 1.9 Mạng Fabric với các chaincode và sổ cái 16

Hình 1.10 Một mạng Hyperledger Fabric phức tạp với nhiều kênh 17

Hình 1.11 Lưu đồ thực hiện một giao dịch trong mạng Hyperledger Fabric 18

Hình 1.12 Dịch vụ sắp xếp trong Hyperledger Fabric 19

Hình 1.13 Mạng Hyperledger Fabric môi trường production 21

Hình 1.14 Cơ chế phân phối block dùng các leader peer 22

Hình 1.15 Khám phá các nút peer với hỗ trợ của Anchor Peer 24

Hình 1.16 Các ứng dụng của block chain 26

Hình 2.1 Ví dụ cuộc gọi thoại khi chuyển vùng 30

Hình 2.2 Ví dụ cuộc gọi dữ liệu khi chuyển vùng 31

Hình 2.3 Luồng xử lý thông tin cước cuộc gọi đến thuê bao roaming 32

Hình 2.4 Minh họa sử dụng hợp đồng chuyển vùng thông minh 36

Hình 2.5 Mô hình giải pháp của IBM 38

Hình 3.1 Mô hình cài đặt mạng Hyperledger Fabric 40

Hình 3.2 Sử dụng công cụ Hyperledger Explorer để giám sát các chuỗi blockchain 41

Hình 3.3 Danh sách các block trong chuỗi blockchain 42

Hình 3.4 Biểu đồ use case 43

Hình 3.5 Biểu đồ lớp 44

Hình 3.6 Chạy script tạo 3 nhà mạng đồng thời 46

Trang 13

Hình 3.7 Block thứ 5 được thêm vào chuỗi chứa 03 giao dịch tạo CSP 46

Hình 3.8 Chạy script client kích hoạt tạo SIM thuê bao 47

Hình 3.9 Ba block mới khởi tạo được giám sát trên công cụ Hyperledger Explorer47 Hình 3.10 Thông tin chi tiết giao dịch tạo SIM_01 thuê bao mạng Vinaphone 48

Hình 3.11 World-state của blockchain xem trên công cụ Fauxton 49

Hình 3.12 Thuê bao SIM_01 di chuyển ra nước ngoài 49

Hình 3.13 Dữ liệu thuê bao SIM_01 trong sổ cái 50

Hình 3.14 Thuê bao SIM_01 thực hiện cuộc gọi đi 50

Hình 3.15 Thuê bao SIM_01 kết thúc cuộc gọi 51

Hình 3.16 Cuộc gọi của SIM_01 được tính cước ngay sau khi kết thúc 51

Hình 3.17 Cảnh báo gian lận chuyển vùng 52

Hình 3.18 Thông tin SIM_01 được cảnh báo gian lận trên world-state 53

Trang 14

MỞ ĐẦU

1 Lý do chọn đề tài:

Chuyển vùng viễn thông (roaming) là dịch vụ cho phép các thuê bao di độngnghe gọi, nhắn tin và sử dụng data tại các vùng địa lý nằm ngoài khả năng đáp ứngcủa nhà mạng thường trú và trong khu vực đáp ứng của các nhà mạng khác có kýkết thỏa thuận chuyển vùng với các nhà mạng thường trú Chuyển vùng quốc tếgiúp cho thuê bao di động giữ được số điện thoại của mình khi đi ra nước ngoài vàduy trì việc khai thác các dịch vụ thoại và data thông qua mạng di động của nước sởtại Cùng với các lợi ích to lớn trên, hoạt động chuyển vùng quốc tế luôn đối mặtvới các hành vi tấn công gian lận để chiếm đoạt cước phí Tổ chức CFCA đã thựchiện các cuộc khảo sát và nghiên cứu hai năm một lần, lần gần đây nhất là vào năm

2021, cho thấy rằng thiệt hại gian lận toàn cầu khoảng 39,89 tỷ đô la Mỹ, tươngđương với 2.22% doanh thu viễn thông toàn cầu ước tính trong năm 2021, tăng 28%

so với năm 2019 [13]

Vài năm gần đây, công nghệ blockchain 3.0 đã được giới thiệu và ứng dụngrộng rãi ra nhiều lĩnh vực trong đời sống chứ không chỉ trong lĩnh vực tài chính(tiền kỹ thuật số) Blockchain mở ra cơ hội cho nhiều ngành nghề khác, trong đó cóngành viễn thông Việc áp dụng blockchain trong ngành viễn thông giúp nâng caohiệu quả quản lý, khai thác mạng lưới kinh doanh, giao dịch các loại tài sản số nhưcác dịch vụ nội dung, quản lý định danh, hợp đồng thông minh Đặc biệt,blockchain có vai trò rất quan trọng trong lĩnh vực an toàn thông tin, ngăn chặn gianlận viễn thông Một số nền tảng blockchain đã được xây dựng phát triển hỗ trợ choviệc ứng dụng blockchain Hyperledger là một dự án mã nguồn mở của LinuxFoundation, đã được nhiều doanh nghiệp ICT ứng dụng trong việc khởi tạo và quản

lý blockchain của doanh nghiệp Hãng IBM có đề xuất giải pháp chống gian lận

Trang 15

trong hoạt động chuyển vùng viễn thông thông qua các hợp đồng thông minh (smartcontract) Để làm rõ hơn những điểm mà Blockchain có thể áp dụng được, tác giả

đã chọn đề tài “Nghiên cứu và ứng dụng Blockchain trong việc quản lý hoạt độngchuyển vùng viễn thông quốc tế” cho luận văn của mình

2 Mục đích nghiên cứu:

Mục đích nghiên cứu của đề tài là nghiên cứu tổng quan về công nghệblockchain, nghiên cứu về nguyên tắc hoạt động, ứng dụng của blockchain đối vớicác hoạt động trong đời sống đặc biệt là các ứng dụng thiết thực cho mạng viễnthông Nghiên cứu một mô hình, hệ thống Blockchain có khả năng ứng dụng vàohoạt động chuyển vùng quốc tế để giải quyết các hạn chế của các quy trình hiện có

Từ đó xây dựng kịch bản mô phỏng của hệ thống đề xuất nhằm xử lý bài toán chốnggian lận trong hoạt động chuyển vùng quốc tế

3 Nội dung nghiên cứu:

- Nghiên cứu tổng quan về công nghệ blockchain, cấu trúc blockchain, một

số đặc điểm, phân loại blockchain

- Nghiên cứu về các cơ chế đồng thuận của blockchain

- Nghiên cứu nền tảng blockchain Hyperledger Fabric, các cơ chế hoạt động,các ưu điểm của Hyperledger Fabric

- Nghiên cứu về hoạt động chuyển vùng viễn thông quốc tế, các vấn đề gianlận

- Nghiên cứu và xây dựng mô hình hoạt động chuyển vùng quốc tế dựa trêncông nghệ blockchain

Trang 16

5 Phương pháp nghiên cứu:

Tham khảo các công trình nghiên cứu, bài báo, tài liệu chuyên ngành, từ đóđưa ra các kiến thức cơ bản về blockchain Sử dụng các kiến thức nghiên cứu được

để đề xuất mô hình hình ứng dụng Cài đặt và thử nghiệm thông qua các thựcnghiệm để làm rõ các vấn đề cần đạt được trong luận văn

6 Ý nghĩa khoa học và thực tiễn:

Về mặt khoa học, luận văn đã cung cấp các kiến thức cơ bản về blockchain:cấu trúc mạng, block, giao dịch, sổ cái, phân loại các hệ thống blockchain, đi sâuvào phân tích nền tảng Hyperledger Fabric

Về mặt thực tiễn, đề tài có đưa ra các hướng ứng dụng blockchain trong việcquản lý hoạt động chuyển vùng viễn thông quốc tế Việc áp dụng blockchain vàoquá trình chuyển vùng quốc tế góp phần giải quyết bài toán chống gian lận cước, tối

ưu chi phí hoạt động của các nhà cung cấp dịch vụ và lợi ích cho người dùng

7 Nội dung chính của luận văn

Chương 1 Trong chương này sẽ trình bày các kiến thức cơ bản về

blockchain như cấu trúc block, đặc điểm, phân loại blockchain và các cơ chế đồngthuận của blockchain Nghiên cứu nên tảng blockchain Hyperleger Fabric, các ưuđiểm và mô hình ứng dụng

Chương 2 Chương này, luận văn tập trung phân tích quy trình hoạt động

chuyển vùng viễn thông quốc tế, các hình thức gian lận trong hoạt động chuyểnvùng quốc tế, từ đó xác định các vấn đề cần giải quyết, đồng thời đề xuất mô hìnhứng dụng để giải quyết các vấn đề đặt ra

Trang 17

Chương 3 Cuối cùng, chương 3 sẽ trình bày việc triển khai mô hình ứng

dụng blockchain trong hoạt động chuyển vùng quốc tế, đưa ra đánh giá kết quả thựcnghiệm

Trang 18

Chương 1 TỔNG QUAN VỀ BLOCKCHAIN VÀ NỀN TẢNG

HYPERLEDGER FABRIC

1.1 TỔNG QUAN VỀ BLOCKCHAIN

Blockchain lần đầu tiên được phát minh và thiết kế bởi Satoshi Nakamotovào năm 2008 và được hiện thực hóa vào năm sau đó như là một phần cốt lõi củaBitcoin (đồng tiền kỹ thuật số) Qua việc sử dụng mạng lưới ngang hàng và một hệthống dữ liệu phân cấp, Bitcoin blockchain được quản lý tự động Việc phát minh rablockchain cho Bitcoin đã làm cho nó trở thành loại tiền tệ kỹ thuật số đầu tiên giảiquyết được vấn đề double spending (chi tiêu gian lận khi 1 lượng tiền được dùng 2lần) Công nghệ này của Bitcoin đã trở thành nguồn cảm hứng cho một loạt các ứngdụng khác

Blockchain là một công nghệ chuỗi khối, cho phép truyền tải dữ liệu an toàn

dựa trên hệ thống mã hóa vô cùng phức tạp, thường được ví như cuốn sổ cái kếtoán của một công ty, nơi mà tiền được giám sát chặt chẽ và ghi nhận mọi giaodịch trên mạng ngang hàng Blockchain được tạo ra để chống lại sự thay đổi dữ liệutrong hệ thống, không thể làm giả, không thể phá hủy sự liên kết giữa các khốithông tin Công nghệ blockchain không phải là một phát minh mới mà là sự kết hợpgiữa 3 loại công nghệ đã có trước đó

Mật mã học: Để đảm bảo tính minh bạch, toàn vẹn và riêng tư thì công nghệ Blockchain đã sử dụng khóa công khai và hàm hash function (hàm băm).

Mạng ngang hàng (Peer-to-Peer): Mỗi một nút (node) trong mạng được xem như một client và cũng là server để lưu trữ bản sao ứng dụng.

Trang 19

Lý thuyết trò chơi: Tất cả các nút tham gia vào hệ thống đều phải tuân thủ luật chơi đồng thuận (giao thức Proof-of-Work, Proof-of-Stake ) và được thúc đẩy bởi động lực kinh tế.

So với thời điểm ban đầu, công nghệ block chain đã có những thay đổi Hiệnnền tảng công nghệ block chain ở thế hệ 3.0, có nhiều cải tiến hơn so với thế hệ 1.0

Hình 1.1 Các thế hệ công nghệ blockchain

1.2 CẤU TRÚC BLOCKCHAIN

Blockchain là một chuỗi các khối, chứa hoàn chỉnh danh sách các hồ sơgiao dịch như sổ cái công khai thông thường Cấu trúc Chain được tạo thành từ mộtdanh sách các block liên tục tăng trưởng, được liên kết với nhau thành chuỗi [5] Như minh họa ở Hình 1 2, một block bao gồm 2 phần header và body:

Trang 20

Hình 1.2 Cấu trúc blockchain

Phần header của block thông thường sẽ bao gồm:

Previous Block’s Hash: Trường chứa giá trị băm của block liền trước,

nhằm bảo vệ chống thay đổi trong các block đã được chấp nhận trong chuỗi Blockđầu tiên của chuỗi khối được gọi là genesis block và có trường băm này rỗng

Timestamp: Xác định thời gian tạo khối bằng cách đánh dấu thời gian cho

mỗi giao dịch trên blockchain Timestamp chứng minh những gì đã xảy ra trênblockchain và xảy ra khi nào

Merkle Tree’s Root Hash: Trường chứa giá trị băm gốc cây Merkle Cây

Merkle là một cấu trúc dữ liệu mà nút lá là dữ liệu các giao dịch, nút trung gian làgiá trị băm của hai nút kề trên Nó cho phép xác minh nội dung trong một khối dữliệu lớn là nhất quán và toàn vẹn, chống các thay đổi xảy ra trong lúc truyền block

đi qua các môi trường truyền không tin cậy

Phần body của block chủ yếu bao gồm trường Data Length chỉ thị lượng dữliệu chứa trong block và bản thân dữ liệu Kích thước tối đa cho phép của blockphải được định trước khi triển khai blockchain

Mật mã hóa là một phương tiện để đảm bảo các giao dịch được thực hiện

an toàn và có thể kiểm chứng Các thuật toán mã hóa và băm bất đối xứng là nền

Trang 21

tảng của công nghệ blockchain để đảm bảo các yêu cầu bảo mật và yêu cầu xácminh các khối Thuật toán băm được sử dụng để xác thực block kề trước và xâydựng cấu trúc dữ liệu cây Merkle Mã hóa bất đối xứng được sử dụng để mã hóathông tin, chữ ký số.

1.3 ĐẶC ĐIỂM VÀ PHÂN LOẠI BLOCKCHAIN

1.3.1 Một số đặc điểm

Công nghệ blockchain có một số đặc điểm chính như [5].:

Tính bảo mật: Người dùng chỉ có thể chuyển dữ liệu nếu họ sở hữu khóa

riêng Khóa riêng được sử dụng để tạo chữ ký cho mỗi giao dịch blockchain màngười dùng gửi đi Chữ ký này xác nhận rằng giao dịch đã đến từ người dùng vàcũng để giữ cho giao dịch không bị thay đổi bởi bất cứ ai một khi nó đã đượcphát hành

Tính minh bạch: Blockchain đảm bảo tính minh bạch cao của thông tin dữ

liệu thông qua sự kết hợp giữa mã hóa bất đối xứng và hàm băm Các bản ghi trênblockchain có thể được kiểm tra bởi các bên tham gia được xác định trước Ví dụ,trong các blockchain công khai, tất cả mọi người có kết nối Internet đều có quyềntruy cập vào sổ cái và kiểm tra mọi giao dịch

Tính độc lập: Blockchain được duy trì bởi hệ thống các nút của chính nó và

cơ chế bằng chứng dữ liệu của nó được các nút thực hiện thông qua một giao thức

mà không cần can thiệp thủ công

Phi tập trung: Công nghệ blockchain không dựa vào sự tham gia của bên thứ

ba, cũng không có bất kỳ trung tâm điều khiển nào Tất cả người dùng blockchainthông thường đều có thể tham gia xác thực dữ liệu của họ Blockchain tạo thành

Trang 22

một mạng thông qua giao thức P2P Không giống như mạng tập trung, các nút trongmạng P2P vai trò như nhau và không có máy chủ trung tâm

Tính bất biến: Blockchain hoạt động theo nguyên tắc không thoái thác và

không thể đảo ngược giao dịch Mỗi block chứa các thông tin cần thiết được lưu trữcũng như thời gian khởi tạo và được liên kết với các block trước đó Do đó khi mộtblock được ghép vào chuỗi thì thông tin được đảm bảo và không thể thay đổi được.Không ai có thể bí mật thay đổi dữ liệu cũ mà không bị mạng phát hiện, hay nóicách khác là blockchain được thiết kế để ngăn chặn sự thay đổi dữ liệu

1.3.2 Phân loại các hệ thống blockchain

Các hệ thống blockchain hiện tại có thể được phân thành ba loại:

Blockchain công cộng: Bất kỳ ai cũng có quyền đọc và ghi dữ liệu, quá trình

xác thực giao dịch trên hệ thống đòi hỏi rất nhiều node mạng tham gia Vì vậy, hệthống Blockchain này được đánh giá khá an toàn Bitcoin, Ethereum là ví dụ choloại Blockchain này

Hình 1.3 Phân loại blockchain

Blockchain liên kết: một dạng của blockchain công cộng nhưng có thêm một

số tính năng nhất định, kết hợp giữa "niềm tin" khi tham gia vào Public và "niềm tin

Trang 23

tuyệt đối" khi tham gia vào Private Các tổ chức, tập đoàn liên doanh sẽ sử dụngBlockchain cho riêng mình.

Blockchain riêng tư: Người dùng chỉ được quyền đọc dữ liệu, không có

quyền ghi (quyền này thuộc về một tổ chức bên thứ 3 với độ tin cậy tuyệt đối) Bênthứ 3 có toàn quyền quyết định mọi thay đổi trên Blockchain Thời gian xác thựcgiao dịch đối với Private Blockchain khá nhanh (vì chỉ cần một lượng nhỏ thiết bịtham gia vào giao dịch) Ripple là một dạng Private Blockchain, hệ thống này chỉcần 80% các nút hoạt động ổn định là có thể tiến hành giao dịch

So sánh tính chất 3 loại blockchain như ở Bảng 1 1

Bảng 1.1 Bảng so sánh các hệ thống blockchain

Thuộc tính Blockchain

công cộng

Blockchain liên kết

Blockchain riêng tư Tham gia

đồng thuận

Tất cả các “thợmỏ”

Một tập các nútđược chọn Một tổ chức

Cho phép đọc Công khai Có thể công khai

hoặc hạn chế

Có thể công khaihoặc hạn chế

Tính bất biến Gần như không

thể giả mạo Có thể giả mạo Có thể giả mạo

Tập trung Không Một phần Có

Tiến trình

đồng thuận

Không cần cấpquyền Cần cấp quyền Cần cấp quyền

1.4 CÁC CƠ CHẾ ĐỒNG THUẬN CỦA BLOCKCHAIN

Blockchain là một hệ thống phi tập trung, không lệ thuộc vào bên thứ ba đểxác thực giao dịch Do đó mà cần phải có các thuật toán đồng thuận để đảm bảorằng tất cả các giao dịch được diễn ra một cách đáng tin cậy [5] Về cơ bản, cácthuật toán đồng thuận cần thực hiện được hai điều:

Đảm bảo rằng khối tiếp theo trong blockchain là duy nhất và tin cậy;

Trang 24

Giữ cho các tác nhân bên ngoài không thể phá hỏng hệ thống.

Một số cơ chế đồng thuận của Blockchain cụ thể như sau:

1.4.1 Proof of Work (PoW)

Trong thuật toán PoW, các nút mạng sẽ phải tính toán một giá trị băm của

block header Block header chứa một giá trị nonce và thợ mỏ sẽ thay đổi giá trị

nonce để thu được giá trị băm khác nhau sao cho chuỗi giá trị băm phải bắt đầubằng các số 0 liên tiếp đủ số lượng nhất định đã cho [5] Khi một nút tìm ra giá trịnonce đúng yêu cầu, nó sẽ phát block tới các nút khác và tất cả các nút khác phảilẫn nhau xác nhận tính chính xác của giá trị băm Nếu block được xác thực, các nútkhác sẽ nối thêm block mới này vào chuỗi block cục bộ của mình Các nút tính toáncác giá trị băm được gọi là các thợ mỏ

Hình 1.4 Blockchain công nhận nhánh dài hơn Trong mạng phi tập trung, có thể có nhiều nút tìm thấy giá trị nonce gần như

cùng một lúc, kết quả là chuỗi block sẽ bị phân nhánh tạm thời Tuy nhiên, hainhánh cạnh tranh chắc chắn sẽ không cùng một lúc tạo ra block tiếp theo Hình 1 4

Trang 25

giao thức PoW, nhánh nào tạo được block mới tiếp theo dài hơn và thông báo lên hệthống thì nhánh đó sẽ được công nhận.

1.4.2 Proof of Stake (PoS)

Thuật toán PoS xác minh các block không dựa vào năng lực tính toán nhưPoW Ý tưởng đằng sau PoS là việc các bên tham gia sẽ khó có được số lượng tiền

kỹ thuật số đủ lớn so với việc trang bị các máy tính đủ mạnh Người có nhiều tiền

số sẽ ít có khả năng tấn công phá hoại hơn, tức là đáng tin cậy hơn Các bên thamgia xác nhận block sẽ phải khóa một số tiền của họ làm cổ phần Sau đó, họ sẽ bắtđầu xác thực các block, nghĩa là khi phát hiện ra một block mà họ cho rằng có thểđược thêm vào chuỗi, họ sẽ xác thực nó bằng cách đặt cược Nếu block được thêmvào chuỗi, thì người xác nhận sẽ nhận được phần thưởng tương ứng với tiền cượccủa họ So với PoW, PoS có độ trễ thấp và không cần tiêu thụ nhiều tài nguyên vànăng lực tính toán

1.4.3 Delegated Proof of Stake (DPoS)

DPoS tương tự như PoS nhưng đòi hỏi các “cổ đông” phải bỏ phiếu cho các

"đại biểu", những người này sau đó chịu trách nhiệm xác nhận các giao dịch và duytrì chuỗi khối

DPoS có các tính năng "dân chủ" khác nhau được cho là hiệu quả và côngbằng hơn Thay vì phải đặt cọc để xác thực giao dịch, những người nắm giữ token

sẽ tiến hành bỏ phiếu cho một nhóm đại biểu được chọn để thực hiện vai trò xácnhận các giao dịch Quyền biểu quyết của người nắm giữ token nhiều hay ít là dựatrên số lượng token mà người đó có, hay còn gọi là trọng số biểu quyết

1.4.4 Practical Byzantine Fault Tolerance (PBFT)

Trang 26

PBFT cung cấp đồng thuận trong mạng ngay cả khi có các nút độc hại trong

hệ thống Các nút trong hệ thống được sắp xếp theo thứ tự với một nút là nút chính(nút leader) và các nút khác được gọi là nút phụ (hoặc nút backup) Lưu ý là bất kỳnút đủ điều kiện nào trong hệ thống đều có thể trở thành nút chính bằng cáchchuyển từ thứ cấp sang chính (ví dụ khi nút chính bị lỗi) Mục tiêu là tất cả các núttrung thực giúp đạt được sự đồng thuận về trạng thái của hệ thống bằng cách sửdụng quy tắc số đông Một hệ thống chịu lỗi Byzantine thực tế có thể hoạt động vớiđiều kiện số lượng nút độc hại tối đa phải ít hơn 1/3 tổng số tất cả các nút trong hệthống Khi số lượng nút tăng lên, hệ thống trở nên an toàn hơn

Bảng 1.2 Bảng so sánh các cơ chế đồng thuận của blockchain

Tiêu thụ điện Cao Thấp Rất thấp Rất thấp

Số giao dịch

/giây 7 - 30 30 - 173 2.3 - 2500 100 - 2500Phí giao dịch Cao Thấp Thấp Rất thấp

Cấu trúc Phi tập

trung

Phi tậptrung Tập trung

Phi tậptrung

Sử dụng bởi Bitcoin Dash BitShare Stellar

1.5 NỀN TẢNG BLOCKCHAIN HYPERLEDGER FABRIC

1.5.1 Giới thiệu về Hyperledger Fabric

Hyperledger là một dự án mã nguồn mở, cung cấp một hệ sinh thái các giảipháp và người dùng trên nền tảng công nghệ blockchain thuộc tổ chức LinuxFoundation Mục đích của Linux Foundation là tạo ra một cộng đồng các nhà phát

Trang 27

triển làm việc trên các dự án nguồn mở, nhằm duy trì sự phát triển của các dự án,trong đó, mã nguồn dự án luôn được nâng cấp, sửa đổi và phân phối lại.

Hình 1.5 Thành phần và kiến trúc của Hyperledger Fabric

Hyperledger Fabric là kiểu blockchain cần được cấp quyền (permissioned).Các thành viên tham gia mạng Hyperledger Fabric phải đăng ký qua một nhà cungcấp dịch vụ thành viên (MSP - Membership Service Provider) Hyperledger Fabriccũng cung cấp các tùy chọn plugable Dữ liệu sổ cái có thể được lưu ở nhiều địnhdạng, các cơ chế đồng thuận có thể được hoán đổi, và các MSP khác nhau được hỗtrợ

Hyperledger Fabric cung cấp khả năng tạo kênh, cho phép một nhóm ngườitham gia kênh tạo một sổ cái giao dịch riêng biệt và chỉ những người này mới cóbản sao của sổ cái cho kênh đó [1]

Sổ cái chia sẻ: Hyperledger Fabric có phân hệ sổ cái bao gồm hai phần:

world-state và log giao dịch Phần world-state mô tả trạng thái của sổ cái tại thờiđiểm hiện hành, nó chính là database của sổ cái và lưu trữ các bản ghi dưới dạngkey-value (hiện tại cho phép tùy chọn dùng LevelDB hoặc CouchDB) Phần loggiao dịch ghi lại tất cả các giao dịch đưa đến giá trị hiện tại của world-state Loggiao dịch chỉ đơn giản là ghi lại các giá trị trước và sau của database sổ cái, nóchính là chuỗi các block đang được sử dụng bởi kênh

Trang 28

Hợp đồng thông minh (Smart contracts): được viết thành chaincode và

được một ứng dụng bên ngoài blockchain gọi ra khi ứng dụng đó cần tương tác với

sổ cái [1] Trong hầu hết các trường hợp, chaincode chỉ tương tác với thành phầnworld-state database của sổ cái chứ không phải nhật ký giao dịch Chaincode có thểđược xây dựng bằng một số ngôn ngữ khác nhau như Go, Java, Node

Quyền riêng tư: Đối với các mạng public, quyền riêng tư sẽ không phải là

mối quan tâm hàng đầu Tuy nhiên tùy thuộc vào nhu cầu sử dụng mạng, nhữngngười tham gia mạng giữa các doanh nghiệp (B2B - Bussiness to Business) có thểcực kỳ nhạy cảm về lượng thông tin họ chia sẻ Hyperledger Fabric đảm bảo quyềnriêng tư bằng cách sử dụng các kênh là một yêu cầu bắt buộc Bằng cách này,Hyperledger Fabric nhắm vào phân khúc đối tượng sử dụng là các tổ chức, doanhnghiệp

Giao thức đồng thuận: Một trong những điểm khác biệt cực kỳ quan trọng

của Fabric đó là hỗ trợ nhiều giao thức đồng thuận có thể lựa chọn [1] Ví dụ, trongmột số trường hợp cụ thể, giao thức đồng thuận chịu lỗi Byzantine (BTF -Byzantine Fault Tolerant) có thể là không cần thiết do nó tốn tài nguyên và băngthông, khi đó giao thức đồng thuận chịu lỗi sự cố (CFT - Crash Fault Tolerant) làquá đủ cho những trường hợp này Giao thức đồng thuận CFT có thể giúp hệ thốngvẫn đạt được sự đồng thuận một cách chính xác cho dù các thành phần khác có thể

bị sự cố [8]

1.5.2 Cơ chế hoạt động của Hyperledger Fabric

1.5.2.1 Cấu trúc mạng Hyperledger Fabric

Trang 29

Trong Hyperledger Fabric, các tổ chức tham gia và liên lạc với nhau thôngqua channel (kênh) Kênh có thể được coi là một đường hầm để liên lạc bảomật Bất kỳ ai khác không tham gia vào kênh sẽ không có quyền truy cập vào cácgiao dịch hoặc thông tin liên quan của kênh đó [7] Một tổ chức có thể tham giavào nhiều kênh đồng thời

Hình 1.6 Mạng Fabric đơn giản với 2 tổ chức Hình 1 6 mô tả một mạng Fabric đơn giản với hai tổ chức Org1 và Org2 tham

gia vào kênh A (Channel A), các phần tử bao gồm Peer, Orderer, CA và Client có vaitrò như sau:

Peer: là một nút blockchain lưu chứa tất cả các giao dịch trên một kênh nó

tham gia Mỗi nút peer có thể tham gia một hoặc nhiều kênh nếu cần, tuy nhiên việclưu trữ thông tin của các kênh là độc lập nhau Do đó, một tổ chức có thể yên tâm

Trang 30

rằng các thông tin được chia sẻ chỉ bao gồm nội bộ các bên tham gia trên kênh đó

mà thôi

Orderer: là một trong những thành phần quan trọng nhất được sử dụng trong

cơ chế đồng thuận của Fabric Orderer chịu trách nhiệm sắp xếp các giao dịch, tạo

ra block mới chứa các giao dịch và phân phối block đến tất cả các nút Peer trênkênh

CA: là nhà cung cấp chứng chỉ thực hiện quản lý các chứng chỉ số của người

dùng như đăng ký người dùng, ghi danh người dùng, thu hồi người dùng v.v.Hyperledger Fabric là một mạng blockchain có cấp phép (permissioned), có nghĩa

là chỉ những người dùng được phép mới có thể query (truy vấn thông tin) hoặc invoke (tạo giao dịch mới) trên kênh được cấp quyền Hyperledger Fabric sử dụng

chứng chỉ theo chuẩn X.509 để thể hiện các quyền, vai trò và thuộc tính cho mỗingười dùng Nói cách khác, người dùng có thể truy vấn hoặc gọi giao dịch nào trênkênh nào phải dựa trên quyền, vai trò và thuộc tính mà họ sở hữu

Client: được xem như một ứng dụng tương tác với mạng blockchain Fabric.

Nghĩa là Client có thể tương tác với mạng Fabric theo các quyền, vai trò và thuộctính của nó theo như được chỉ định trên chứng chỉ được lấy từ máy chủ CA của tổchức

Trang 31

Hình 1.7 Phân biệt nút bảo chứng (endorsing peer) và nút cam kết

(commiting peer)

Trong Fabric, khái niệm smart-contract được gọi là chaincode Để triển khaimột chaincode, quản trị mạng phải cài đặt chaincode lên một nút peer đích và gọilệnh để một Orderer khởi tạo chaincode đó trên kênh [1] Khi khởi tạo chaincode,

người quản trị phải định nghĩa một chính sách bảo chứng (endorsement policy) cho

chaincode đó Chính sách bảo chứng sẽ định nghĩa những nút peer nào cần phảitham gia chứng nhận kết quả của giao dịch Các nút Peer được định nghĩa trong

chính sách bảo chứng được gọi là nút bảo chứng (endorsing peer hoặc endorser), nó

có cài đặt chaincode và chứa một sổ cái cục bộ Còn các nút cam kết (commiting peer) chỉ chứa sổ cái cục bộ và không nhất thiết phải cài chaincode Hình 1 7 phân

biệt giữa nút bảo chứng và nút cam kết

Trang 32

Hình 1.8 Các thành phần bên trong sổ cái của một nút peer

Hình 1 8 là các thành phần bên trong sổ cái của một nút Peer bao gồmblockchain và World State Blockchain lưu giữ lịch sử của tất cả các giao dịch chomọi chaincode trên một kênh cụ thể World State duy trì trạng thái hiện tại của cácbiến đối với từng mã lệnh cụ thể Hai loại cơ sở dữ liệu được hỗ trợ trong Fabricbao gồm LevelDB và CouchDB LevelDB là cơ sở dữ liệu khóa-giá trị mặc địnhđược xây dựng trên Fabric Peer, trong khi CouchDB là cơ sở dữ liệu dựa trên JSON

hỗ trợ các hoạt động truy vấn phong phú dựa trên các đối tượng JSON Nhà pháttriển chaincode phải chọn sử dụng LevelDB hoặc CouchDB khi phát triểnchaincode

Hình 1 9 là sơ đồ mạng Fabric thể hiện thêm chaincode và sổ cái Các nút

Peer của Org1 và Org2 cùng tham gia vào một kênh Nhiều chaincode khác nhau có

thể cùng được khởi tạo trên một kênh Chaincode cũng có thể được cập nhật đượcnếu cần nâng cấp hoặc vá lỗi

Chúng ta chú ý đến nút Orderer Orderer được cài các system chaincode và

sổ cái system đặc biệt Các chaincode hệ thống thu thập cấu hình mạng, kênh và cấuhình hệ thống bên dưới để vận hành máy ảo Fabric; chúng khác biệt với cácchaincode người dùng (user chaincode) chạy trong các docker container riêng biệt.Trên thực tế, các system chaincode cũng được đăng ký và triển khai trên các nút

Trang 33

peer lúc khởi động, nhưng để đơn giản ta không vẽ trong hình Một số systemchaincode trong Hyperledger Fabric như sau:

• QSCC (Query System Chaincode): dành cho các truy vấn liên quan đến sổcái và Fabric

• CSCC (Configuration System Chaincode): giúp điều phối kiểm soát truy cập

• LSCC (Lifecycle System Chaincode): định nghĩa các quy tắc đối với kênh

• ESCC (Endorsement System Chaincode): dùng để bảo chứng các giao dịch.VSCC (Validation System Chaincode): để kiểm tra hợp lệ các giao dịch

Trang 34

Hình 1.9 Mạng Fabric với các chaincode và sổ cái

Hình 1 10 là một mạng Fabric phức tạp hơn với nhiều kênh Kênh A gồmcác Peer của các tổ chức Org1 và Org2 tham gia, trong khi kênh B gồm các Peercủa Org2 và Org3 Với mỗi kênh riêng biệt, các tổ chức tham gia cùng kênh có thểchia sẻ các giao dịch hoặc thông tin với nhau một cách bí mật

Trang 35

Hình 1.10 Một mạng Hyperledger Fabric phức tạp với nhiều kênh

Một chaincode có thể gọi một chaincode khác trên cùng kênh Ngoài ra, mộtchancode cũng có thể gọi hàm của một chaincode khác trên của kênh khác trong

trường hợp chaincode gọi được thực thi trên cùng một nút bảo chứng (endorsing peer) tham gia vào cả 2 kênh liên quan (ví dụ nút peer của Org2 trên Hình 1 10).

1.5.2.2 Sự đồng thuận trong mạng Hyperledger Fabric

Hyperledger Fabric sử dụng sự đồng thuận dựa trên biểu quyết cấp quyền vớigiả định rằng tất cả các bên tham gia trong mạng đều được tin tưởng một phần Tiếntrình đồng thuận có thể được chia thành ba pha [7] như sau:

Pha 1: Bảo chứng (Endorsement): Bước 1-3 trong Hình 1 11

Pha 2: Sắp xếp (Ordering): Bước 4-5.

Trang 36

Pha 3: Kiểm tra hợp lệ (Validation) và Cam kết (Commitment): Bước 6.

Hình 1.11 Lưu đồ thực hiện một giao dịch trong mạng Hyperledger Fabric

Như trong Hình 1 11 mô tả lưu đồ các bước của một lệnh gọi giao dịchFabric:

Bước 1: Client tạo ra một đề xuất giao dịch (transaction proposal), ký số

vào đề xuất bằng chứng chỉ của User và gửi đề xuất giao dịch đến các nút bảo

chứng (endorsing peer) trên một kênh cụ thể.

Bước 2: Mỗi nút bảo chứng sẽ kiểm tra danh tính và quyền hạn của User trên

payload của đề xuất giao dịch Nếu hợp lệ, nút bảo chứng sẽ mô phỏng giao dịch

(transaction simulation), tạo ra một phản hồi đề xuất (endorsed proposal response)

gồm một tập read-write và ký chứng nhận phản hồi đó

Bước 3: Client nhận về các phản hồi đề xuất được chứng thực từ các nút bảo

chứng và kiểm tra

Trang 37

Bước 4: Client gửi một giao dịch (transaction submission) được đính kèm đề

xuất và các phản hồi đề xuất đã được bảo chứng cho Orderer

Bước 5: Orderer xếp đặt các giao dịch nhận được, tạo ra một block mới chứa

các giao dịch mới đã được sắp xếp và ký vào block bằng chứng chỉ của nó

Bước 6: Orderer quảng bá block được tạo cho tất cả các nút Peer (cả nút bảo

chứng và nút cam kết) trên kênh liên quan Mỗi nút Peer phải đảm bảo rằng mỗigiao dịch trong block đã có đủ chữ ký của các nút bảo chứng cần thiết (cụ thể, đượcxác định từ chính sách bảo chứng của chaincode được gọi) Sau đó, nó kiểm tra

phiên bản (multi-version concurrency control - MVCC) để xác định tính chính xác

của từng giao dịch trong block nhận được Tức là mỗi nút Peer sẽ so sánh read-setcủa mỗi giao dịch với trạng thái dữ liệu hiện hành trong sổ cái của nó (world-state) Nếu qua được việc kiểm tra, giao dịch sẽ được đánh dấu là hợp lệ và world-state của mỗi nút Peer sẽ được cập nhật Ngược lại, giao dịch sẽ bị đánh dấu làkhông hợp lệ và không cập nhật trạng thái dữ liệu hiện hành Cuối cùng, block này

sẽ được thêm vào blockchain cục bộ của mỗi nút Peer, bất chấp giao dịch trong

block có thể hợp lệ hoặc không

Bước 7: Client sẽ nhận bất cứ các sự kiện đã đăng ký từ service EventHub.

1.5.2.3 Dịch vụ sắp xếp (ordering service) trong Hyperleger Fabric

Nút Orderer là một trong những thành phần quan trọng nhất trongHyperledger Fabric Nó hoạt động như một trung tâm phân phối các block giao dịchcho tất cả các nút peer trên một kênh liên quan Vì vậy có thể xem như Orderer làđiểm yếu nhất trong mạng Hyper Fabric Có ba cách xây dựng dịch vụ sắp xếp

là Solo, Kafka và Raft [8]

Trang 38

Hình 1.12 Dịch vụ sắp xếp trong Hyperledger Fabric

Raft (từ phiên bản 1.4.1) - Raft là một dịch vụ sắp xếp chịu lỗi va chạm

(CFT) dựa trên việc triển khai giao thức Raft, việc triển khai Raft rất phù hợp đểđược sử dụng như một nút duy nhất cho cả phát triển và được mở rộng cho nhiềunút trong môi trường production

Kafka (hiện không dùng cho phiên bản 2.x) thường được sử dụng trong môi

trường production Với Kafka, chúng ta có thể thiết lập một cluster Kafka và một nhóm ZooKeeper để cung cấp dịch vụ sắp xếp có khả năng chịu lỗi sự cố CTF.

Mặc dù Kafka có thể cung cấp khả năng đồng thuận chịu lỗi sự cố CFTcho Orderer, tuy nhiên chỉ có một tổ chức kiểm soát toàn bộ dịch vụ sắp xếp (tổchức sáng lập ra mạng) Việc này có thể là vấn đề vì tổ chức đó có thể không đượctin cậy

Solo (hiện không dùng cho phiên bản 2.x) được khuyến nghị chỉ sử dụng

trong môi trường phát triển vì loại dịch vụ này chỉ là một tiến trình đơn phục vụ tất

cả các client; đây sẽ là điểm lỗi đơn nếu dùng trong môi trường triển khai

1.5.2.4 Hyperledger Fabric trong môi trường production

Trang 39

Trong môi trường production, có nhiều thành phần liên quan cộng tác vớinhau Hình 1 .13 tóm tắt mô hình triển khai mạng Fabric trong môi trườngproduction [7] Ứng dụng Client có thể tương tác với mạng blockchain Fabric bằng

2 cách: qua Fabric SDK (bộ công cụ phát triển phần mềm) hoặc Fabric CLI (giaodiện dòng lệnh)

Fabric SDK cung cấp một tập chức năng phong phú thích hợp để dùng trong

môi trường production Thông thường, ứng dụng client (Client#1 trong hình) tương

tác với mạng Fabric bằng cách kết nối đến một server RESTful API sử dụng FabricSDK làm thư viện để giao tiếp với mạng blockchain Fabric SDK hiện hỗtrợ các ngôn ngữ Go, Node.js và Java Ngoài ra, các phiên bản Python

và REST SDK cũng đang được phát triển Fabric CLI thích hợp để sử dụng trong

chế độ phát triển hoặc bảo trì (Client#2 trong Hình 1 13).

Trong Fabric, CA thực hiện các tác vụ cấp chứng chỉ và quản lý ngườidùng Có hai cách để triển khai Fabric CA Cách thứ nhất là thiết lập Fabric CA màkhông có mở rộng LDAP Server Với cấu hình này, Fabric CA sẽ được sử dụng đểđăng ký user, xác thực user và cấp chứng chỉ cho user (user enrollment) Cách thứhai là thiết lập Fabric CA với mở rộng LDAP Server Với cấu hình này, Fabric

CA sẽ chỉ dùng để cấp chứng chỉ user và ủy quyền cho LDAP Server quản lý cáctác vụ đăng ký, xác thực user, thu hồi user v.v Cách thứ hai phù hợp để kếtnối Fabric CA với máy chủ AD, LDAP hoặc Radius hiện có của tổ chức

Trang 40

Hình 1.13 Mạng Hyperledger Fabric môi trường production

LevelDB và CouchDB đều có thể dùng để chạy database chứa state cho sổ cái của nút peer Tuy nhiên CouchDB là tùy chọn tốt hơn cho môitrường production vì nó hỗ trợ nhiều tính năng như truy vấn JSON, lập chỉ mục(index), nhân bản dữ liệu, thuộc tính ACID v.v Trong khi đó, LevelDB chỉ hỗ trợmột số tính năng hạn chế

world-Để hỗ trợ đồng thuận CTF cho dịch vụ sắp xếp của Hyperledger Fabric,trong môi trường production thường mở rộng Orderer bằng một cluster Kafka-broker Để cluster Kafka hoạt động đúng, cần thiết có một cluster ZooKeeper đểphối hợp các tác vụ cục bộ giữa các Kafka-broker

Ngày đăng: 20/02/2024, 10:07

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w