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

Khóa luận tốt nghiệp An toàn thông tin: Phương pháp chia sẻ bảo mật hồ sơ bệnh án điện tử FHIR bằng Blockchain

127 7 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Phương pháp chia sẻ bảo mật hồ sơ bệnh án điện tử FHIR bằng Blockchain
Tác giả Thach Canh Nhut, Phan Dang Truc Quyen
Người hướng dẫn TS. Pham Van Hau
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành An Toàn Thông Tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 127
Dung lượng 41,75 MB

Nội dung

Mục tiêu của đồ án là tìm hiểu phương pháp để xây dựng nên hạ tầngmạng Blockchain triển khai trên nhiều node, hiểu được phương pháp xâydựng hệ thống lưu trữ hồ sơ sức khỏe của bệnh nhân

Trang 1

ĐẠI HỌC QUỐC GIA TP HỖ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

THACH CẢNH NHỰT

PHAN ĐẶNG TRÚC QUYÊN

PHƯƠNG PHÁP CHIA SẺ BẢO MAT HỖ SƠ

BỆNH ÁN ĐIỆN TỬ FHIR BẰNG BLOCKCHAIN

E-HEALTHCARE RECORD SHARING USING FHIR AND BLOCKCHAIN

KỸ SƯ NGÀNH AN TOÀN THÔNG TIN

TP HỒ CHÍ MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

THACH CẢNH NHUT - 16520902

PHAN DANG TRUC QUYEN - 16521013

KHOA LUAN TOT NGHIEP

PHUONG PHAP CHIA SE BAO MAT HO SO

BENH AN DIEN TU FHIR BANG BLOCKCHAIN

E-HEALTHCARE RECORD SHARING USING FHIR AND BLOCKCHAIN

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUGNG DAN

TS PHAM VAN HAU

TP HO CHi MINH, 2021

Trang 3

LOI CAM ON

Trong suốt quá trình nghiên cứu và hoàn thành khóa luận tốt nghiệp, chúng

tôi đã nhận được sự hướng dẫn, giúp đỡ nhiệt tình và các góp ý quý báu

cùng với những lời động viên từ thầy cô, các anh chị tại phòng Thí nghiệm

An toàn thông tin.

Đầu tiên, chúng tôi xin được cảm ơn chân thành đến thầy TS Phạm Văn

Hậu đã tận tình diu dắt, hỗ trợ chúng tôi trong quá trình nghiên cứu và

hoàn thành khóa luận này Thầy luôn nhiệt tình, cung cấp cho chúng tôicác tài liệu liên quan đến đề tài, cũng như định hướng nghiên cứu đề tài.Chúng tôi cũng xin gửi lời cảm ơn đến thầy ThS Phan Thế Duy và cácanh chị tại phòng thí nghiệm An toàn thông tin đã tạo điều kiện thuận lợi,

nhiệt tình góp ý và động viên chúng tôi hoàn thành khóa luận.

Ngoài ra, chúng tôi xin cảm ơn các thầy cô tại Trường Đại học Công nghệ

Thông tin, đặc biệt là các thầy cô khoa Mạng máy tính và Truyền thông

đã giảng dạy, cung cấp các kiến thức nền tảng giúp chúng tôi hoàn thành

khóa luận.

Cuối cùng chúng tôi cảm ơn Trường Đại học Công nghệ thông tin đã tạođiều kiện thuận lợi để chúng tôi hoàn thành khóa luận này

Trang 4

1.5 Đề cương khóa luận

2 TONG QUAN VÀ NEN TANG LÝ THUYET

œ œ œ ¬ ¬ 6ö ca a

Trang 5

MỤC LỤC

2.2.1.1 Khániệm 8

2.2.1.2 Thành phan của mạng Blockchain 9

2.2.1.3 Nguyên lí hoạt động của mạng Blockchain 11

22.1.4 Đặcđiểểm cu 13 2.2.1.5 Cơ chế đồng thuận trong blockchain 14

2.2.2 Hyperledger trên nền tảng Blockchain 15

22/21 Giới thiệu Hyperledger 15

2.2.2.2 Framework của Hyperledger 16

2.2.2.3 Congcu 2 ee ee 18 2.2.2.4 KiếntÚC:z í ý? te ee 19 2.2.2.5 Lợiíchsử dụng Hyperledger 20

2.2.3 HyperledgerFabric 21

2.2.3.1 Khániệm 21

2.2.3.2 Crashfaulttolerance 23

2.2.3.3 Byzantine faulttolerance 23

2.2.3.4 Thành phan của Hyperledger Fabric 23

2.2.3.5 Ordering Service trên Hyperledger Fabric 24

2.2.3.6 Peer trén Hyperledger Fabric 27

2.2.3.7 Quy trình làm việc của Hyperledger Fabric 32

2.24 Chaincode Ặ Ặ Q QQ ee 33 225 FHIR Ặ Q Q Q Q Q eee eee 34 3 THIẾT KẾ HỆ THONG 36 3.1 Ytuéng ee 36 3.2 Hating 2 37

3.2.1 Membership Service Provider 37

3.2.2 Hyperledger Fabric Certificate Authority 39

3.2.2.1 Môhìnhthếtlập 42

Trang 6

MỤC LỤC

3.23 OrderingService Q 42

3.24 SDK Qua 43 3.3 Môhìnhứng dụng ẶcẶSẶẶ ee 47

3.3.1 Mô hình kiến trúc hệ thống - 41

3.3.2 Sơ đồ giao tiếp ứng dụng với mạng Blockchain 49

3.3.3 Quá trình thực hiện giao dịch 50

3.3.4 Quá trình đăng ký người đùng 52

3.3.5 Quá trình thực thi chaincode để cấp quyền bệnhán 53

3.3.6 Quá trình chia sẻ dữ liệu 54

3.3.7 M6hinhuse-case 2 ee 56 3.3.7.1 Sơ đỖ use-Case Q.0 2 56 3.3.7.2 Đặc tả use-case cho từng chức năng 57

4 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THONG 69 41 Xây dựnghệthống cc.ằ 69 4.1.1 Xây dựng mang BlockChain 69

4.1.2 Cài đặt môi trường 70

4.1.2.1 Cấu hình và cài đặt Fabric CA server organization 70 4.1.2.2 Tạo genesis block và file channeltx 75

4.1.2.3 Tạo kênh trên peer và tham gia vào kênh 84

4.1.3 Viét chaincode tương tác với hệ thong §4

4.13.1 Tạobệnhnhân 84

4.1.3.2 Tạo người chuyên môn trong bệnh viện 87

4.1.3.3 Tạo hồ sơ bệnh án điệntử 88

4.2 Thực nghiệm và đánh giá hệthống 90

4.2.1 Thực nghiệm giám sáthệthống 90

4.2.2 Thực nghiệm ứng dụng và đánh giá bảo mật hệ thống 94

4.2.2.1 Các kịch bản thựcnghiệm 94

iv

Trang 7

5.2 Định hướng pháttriển ẶcẶ So 113

53 Kếtluận Q.2 HH ng sa 114

TÀI LIỆU THAM KHẢO 115

Trang 8

Danh sách hình vẽ

21

2.2

2.3

24

2.5

2.6

27

2.8

2.9

2.10

211

3.2

3.3

3.4

3.5

3.6

3.7

3.8

Kiến trúc Hyperledger c 19

Thành phan của HyperledgerFabric 23

Kiến trúc Ordering Service Solo 26

Kiến trúc Ordering Service RafL - 26

Kiến trúc Ordering ServiceKafka 27

Peer nắm giữ sổ cái và smart contract - 28

Các loại peer trong mạng - 29

Leader pect Wa /(xấ"” 30

Anchor peer ee 31 Quy trình làm việc của mang Hyperledger Fabric 32

Dinh dang dữ liệu củaFHIR 35

Sơ đồ hoạt động Membership Service Provider 39

Hyperledger Fabric Certificate Authorty 41

Mô hình thiết lập cơ quan cấp chứng chi (certificate authority) [1] 42

Mô hình sử dung Fabric SDK trên MiddleWare 44

Mô hình sử dung Fabric SDK trên Desktop Application 45

Kiến trúc cơ bản của hệ thống 47

Kiến trúc chỉ tiết của hệthống - 48

So đồ giao tiếp ứng dụng với mạng Blockchain 49

vi

Trang 9

DANH SÁCH HÌNH VẼ

3.9 Các giai đoạn của quá trình giao dịch 50

3.10 Quá trình đăng ký người dùng 52

3.11 Quá trình hoạt thực thi chaincode 53

3.12 Quá trình chia sẻ của dữ liệu 54

3.13 Sơ đồ use-case của hệthống - 56

3.14 Sơ đồ quyền kiểm soát bác sĩ, bệnh nhân, hồ sơ bệnh án 57

3.15 Luồng sự kiện use-case quản lý bác sĩ 58

3.16 Luéng sự kiện use-case quản lý bệnh nhân - 60

3.17 Luồng sự kiện use-case quản lý hồ sơ bệnh án điện tử 61

3.18 Luồng sự kiện use-case đăng nhập vào hệ thống 62

3.19 Luồng sự kiện use-case đăng ký người dùng 63

3.20 Luồng sự kiện use-case sửa thông tin người dùng 64

3.21 Luồng sự kiện use-case xem thông tin người dùng 65

3.22 Luồng sự kiện use-case xem danh sách bệnh nhân đã khám 66

3.23 Luéng sự kiện use-case yêu cầu cấp quyền chỉnh sửa hồ sơ 67

3.24 Luồng sự kiện use-case chỉnh sttahdsd 68

4.1 Dữ liệu cần để tạo genesis block và file channeltx 76

4.2 Hệ thống bệnh viện triển khai trên Kubernetes Rancher 90

4.43 Explorer giám sát bệnh viện ThủĐức 94

44 Đăng ký mới cho bệnhnhân 95

45 Thông báo đăng ký thànhcông 96

4.6 Chứng chỉ của người dùng sau khi đắng ký 96

4.7 Thông tin cá nhân của người dùng 97

4.8 Giao dich đăng ký bệnh nhân trên hệ thống 98

4.9 Truy vấn thông tin của bệnh nhân 98

4.10 Danh sách bệnh nhân được bác sĩ yêu cầu truy cập hồ sơ bệnhán 99

4.11 Bác sĩ chưa được cấp quyền xem thông tin bệnh nhân 99

vii

Trang 10

DANH SÁCH HÌNH VẼ

4.12

4.13

4.14

4.15

4.16

4.17

4.18

4.19

4.20

4.21

Gửi yêu cầu cấp quyển 2 ee 100

Nhập thông tin cấp quyền 100

Danh sách yêu cầu chỉnh sửa hồ sơ - 101

Bệnh nhân chấp nhận yêu cầu của bácsĩ - 101

Bác sĩ thêm hồ sơ bệnh án cho bệnh nhân 102

Danh sách các bệnh án của bệnh nhân 102

Chỉ tiết hồ sơ bệnh án 103

Chia sẻ hồ sơ cho bác sĩ của các bệnh viện khác 104

Thông tin đánh giá hiệu suất trong file report.html 110

Mức độ tiêu tốn tài nguyên của các container 111

viii

Trang 11

DANH MỤC TU VIET TAT

EHR Electronic Health Record

Trang 12

TÓM TẮT

Trong khóa luận tốt nghiệp này, chúng tôi nghiên cứu về cách chia sẻ dữliệu hồ sơ bệnh án của bệnh nhân ung thư một cách an toàn giữa các bêntham gia Hồ sơ bệnh án của bệnh nhân lúc này được lưu trữ trên hệ thống

mạng phân tán Blockchain Chúng tôi tập trung nghiên cứu phương pháp

lưu trữ dif liệu hồ sơ bệnh án trên mạng Hyperledger Fabric và chia sẻ dit

liệu sức khỏe theo tiêu chuẩn FHIR

Mục tiêu của đồ án là tìm hiểu phương pháp để xây dựng nên hạ tầngmạng Blockchain triển khai trên nhiều node, hiểu được phương pháp xâydựng hệ thống lưu trữ hồ sơ sức khỏe của bệnh nhân theo cơ sở hạ tầngmạng Blockchain, từ đó có thể tự cài đặt lại và tạo một hệ thống lưu trữ

hồ sơ bệnh án hoàn chỉnh, cho phép bệnh nhân sở hữu bệnh án được toàn

quyền quyết định với quyền sử dụng hồ sơ của mình Ngoài ra, áp dụng tiêu

chuẩn FHIR cho bài toán chia sẻ dit liệu an toàn cho phép bệnh nhân chia

sẻ bệnh án của mình với người khác an toàn, bảo mật, tránh mat mát thôngtin Để làm được điều này, chúng tôi đã tiến hành tìm hiểu sau hơn vàoHyperledger — một mã nguồn mở của Blockchain, đặc biệt là Hyperledger

Fabric.

Trang 13

1.1 Lí do chọn đề tài

'Việc khám chữa bệnh tại các bệnh viện hiện nay còn nhiều bắt tiện, đó là tình trangviệc làm thủ tục để được khám chữa bệnh khá phức tạp, rườm rà, gây nên tình trạng quátải, đối với những người lần đầu tiên khám chữa bệnh, quá trình thực hiện sẽ tốn khánhiều thời gian Do đó, để cải thiện được vấn đề này, hồ sơ bệnh án điện tử Electronic

Health Record (EHR) được ra đời.

EHR - hồ sơ bệnh án điện tử, giúp lưu trữ dữ liệu, thông tin của bệnh nhân dưới

dạng kỹ thuật số, thay thế cho hồ sơ bệnh án giấy truyền thống Dữ liệu trong hồ sơ

bệnh án điện tử có thể được cập nhật một cách đồng bộ và thường xuyên, tự động hóacác chuẩn đoán của bác sĩ Qua đó, bác sĩ có thể truy xuất thông tin nhanh chóng, giúptiết kiệm thời gian khám chữa bệnh Tuy nhiên, dữ liệu hồ sơ bệnh án điện tử thườngkhông theo một khuôn mẫu nhất định, điều này gây khó khăn trong việc đồng bộ và tựđộng hóa Sự ra đời của FHIR là chìa khóa để giải quyết bài toán trên

Ngoài ra vẫn còn nhiều bất cập trong việc đảm bảo an toàn cho dữ liệu sức khỏe

Trang 14

của bệnh nhân Cụ thể theo Luật Khám bệnh và chữa bệnh thì hồ sơ sức khỏe phải đượcgiữ bí mật Nhưng đối với hồ sơ bệnh án điện tử, không ai có thể đảm bảo được việc

thông tin không bị rò rỉ, không bị xâm nhập hoặc đánh cắp Đó là chưa kể đến việc

dữ liệu có thể bị chia sẻ ra bên ngoài Một hồ sơ bệnh án điện tử sẽ được quản lý bởimột bệnh viện (một tổ chức) Một bệnh nhân có thể khám bệnh ở nhiều bệnh viện khácnhau Điều đó dẫn đến sự cần thiết trong việc chia sẻ dữ liệu giữa tổ chức và tổ chức,

các nhân và tổ chức hoặc cá nhân và cá nhân Sự ra đời của công nghệ blockchain kèm

với những ưu điểm về mặt bảo mật có thể đáp ứng các yêu cau trên

12 Mục dich

* Nghiên cứu phương pháp triển khai một mạng blockchain sử dụng hyperledger

fabric Sau đó thực hiện viết chaincode giúp tương tác với hệ thông blockchain

để tạo và lưu trữ các hồ sơ bệnh án điện tử xuống sổ cái.

* Tạo ứng dụng giao tiếp với chaincode đã viết thông qua Fabric SDK

+ Ap dụng chuẩn FHIR để chia sẻ dữ liệu hồ sơ bệnh án điện tử qua lại giữa các

đối tượng

* Mở rộng hệ thống chạy trên nhiều node bằng cách sử dụng Kubernetes Rancher

* Đánh giá được hiệu năng và độ bảo mật của hệ thống

1.3 Đối tượng

Hồ sơ bệnh án điện tử của bệnh nhân bị ung thư

w

Trang 15

1.4 Phạm vi nghiên cứu

Xây dựng hệ thống lưu trữ bảo mật hồ sơ bệnh án điện tử của bệnh nhân khámchữa bệnh ung thư trên nền tảng công nghệ Blockchain và chia sẻ hồ sơ theo tiêu chuẩnFHIR Hệ thống có thể quản lý truy cập của các người dùng trong hệ thống, quản lýthay đổi hồ sơ bệnh án Cho phép chia sẻ hồ sơ bệnh án giữa các cá nhân, tổ chức trong

hệ thống Người dùng có thể theo dõi và thao tác với hồ sơ bệnh án điện tử thông qua

ứng dụng.

1.5 Dé cương khóa luận

Chương 1: Trình bay lí do lựa chọn dé tài xây dựng hệ thống lưu trữ bảo mật và chia

sẻ hồ sơ bệnh án điện tử theo FHIR bằng Blockchain Mục đích, đối tượng và phạm vinghiên cứu đề tài

Chương 2: Tổng quan và nền tảng lý thuyết Phân tích và đánh giá các nghiên cứuliên quan đến đề tài đã thực hiện, đưa ra các van dé còn tồn tại trong việc xây dựng hệthống, từ đó định hướng nghiên cứu và phát triển đề tài để giải quyết các vấn đề còn tồntại Đưa ra khái niệm cơ bản về các công nghệ sử dụng để xây dựng hệ thống, cách thức

hoạt động, đặc điểm chính, ứng dụng cũng như những lợi ích khi sử dụng công nghệ

tích hợp vào hệ thống Mô tả về Hyperledger Blockchain, giới thiệu về HyperledgerFabric, từ đó đưa ra lí do chọn Hyperledger áp dụng vào hệ thống

Chương 3: Trình bày về thiết kế mô hình mạng Blockchain để xây dựng nên hệ

thống quản lý hồ sơ bệnh án điện tử

Chương 4: Thực nghiệm và đánh giá hệ thống Triển khai hệ thống và đánh giá hiệusuất hoạt động của hệ thống

Trang 16

Chương 5: Kết luận về những gì đã làm được và chưa làm được của khóa luận, đưa

ra những khó khăn trong quá trình thực hiện Định hướng phát triển cho tương lai

Trang 17

Chương 2

TONG QUAN VÀ NEN TANG LÝ

THUYET

2.1 Tổng quan

2.1.1 Các nghiên cứu trên thị trường

Công nghệ blockchain đã ngày càng được áp dụng rộng rãi cho nhiều lĩnh vực, baogồm y tế, nông nghiệp, logictis, tài chính, tiền tệ, Đối với y tế, blockchain đượcxem như công nghệ giúp lưu trữ bảo mật hé sơ bệnh án của bệnh nhân, giúp chia sẻ hồ

sơ y tế giữa các tổ chức y tế với nhau mà vẫn đảm bảo được tính bảo mật và riêng tư.Trong vòng vài năm qua, đã có không ít các nghiên cứu về blockchain được ứng dụng

trong y tế Cụ thể như sau:

5 B4HEALTH - An architecture model for personal health records with HL7

FHIR and Hyperledger Fabric: Nghiên cứu này đã triển khai một mang blokchain

sử dụng nền tảng Hyperledger Fabric (sử dụng công cụ Hyperledger Composer

Trang 18

để khởi tạo mạng blockchain) trên 1 máy ảo Ubuntu 2 CPUs Intel(R) Core (TM)

i5-7300U CPU 2.60GHz với 4GB RAM Ngoài ra, nghiên cứu tập trung vào các

khía cạnh nội bộ của HIS, đặc biệt là về cách chuyển đổi dữ liệu EHR hiện tại từbat kỳ tiêu chuẩn dữ liệu sức khỏe nào sang HL7 FHIR [2]

+ Secure and Trustable Electronic Medical Records Sharing using Blockchain:

Nghiên cứu dé xuất các kịch ban ứng dung blockchain để giải quyết vấn dé nhưchăm sóc bệnh nhân ban đầu, kết nối những người chăm sóc sức khỏe với nhau

và tổng hợp dữ liệu nhằm mục đích nghiên cứu Ngoài ra, nghiên cứu còn đề

xuất phương pháp chia sẻ dữ liệu giữa bệnh nhân và bác sĩ sử dụng mã hóa bất

đối xứng [3].

2.1.2 Van đề và giải pháp

2.1.2.1 Van đề

Thách thức lớn nhất mà các hệ thống chăm sóc sức khỏe dang phải đối mặt trên

toàn thế giới là làm thế nào để chia sẻ các dữ liệu y tế với các bên liên quan đã biết

và chưa biết để phục vụ cho các mục đích khác nhau đồng thời vẫn đảm bảo được tínhtoàn vẹn dữ liệu và bảo vệ sự riêng tư của bệnh nhân, nghĩa là hồ sơ bệnh án của bệnh

nhân không bị làm giả, cũng như không bị người khác xem trộm khi không được phép.

Ngoài ra các hệ thống lưu trữ hồ sơ bệnh án điện tử hiện nay được triển khai chỉtrên một máy Việc triển khai trên một máy không thỏa mãn yêu cầu phân tán dữ liệucủa mạng blockchain Dữ liệu lưu trữ trên một máy mang nguy cơ mat mát thông tinkhi bị tấn công khá cao

Trang 19

2.1.2.2 Giải pháp

Giải pháp được đưa ra ở đây là bệnh nhân sẽ là người tự kiểm soát việc những ai

được phép xem hỗ sơ bệnh án của họ, những ai không được phép xem, những nội dung

nào sẽ được chia sẻ và ngược lại Nghia là bệnh nhân sẽ có toàn quyên sở hữu và quyết

định đối với hồ sơ bệnh án điện tử của riêng họ

Sử dụng Kubernetes Rancher để triển khai mở rộng hệ thống ra nhiều node Cùng

với đó, bệnh nhân có thể chia sẻ dữ liệu, hồ sơ khám chữa bệnh cho bác sĩ hoặc bệnh

viện theo tiêu chuẩn FHIR

2.2 Nền tang lý thuyết

2.2.1 Blockchain

2.2.1.1 Khái niệm

Blockchain hoạt động như một cuốn sổ cái công cộng, mọi thông tin liên quan

đến tài sản trên mạng đều sẽ được ghi lại và không thể thay đổi hay xóa bỏ Từ đó

Blockchain ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực: kinh tế tài chính,

giáo dục, nông nghiệp, công nghiệp, lĩnh vực giải trí, y tế, giáo duc

Blockchain còn được gọi là Công nghệ Sổ cái phân tán (Distributed Ledger Technology),trong đó các dữ liệu được lưu trữ và chia sẻ dưới dạng các khối thông tin (block) Các

khối được kết nối với nhau theo dạng danh sách liên kết dưới dạng mã hóa SHA256

Mã hóa của một khối bao gồm địa chỉ của khối trước và dữ liệu của chính khối đó

nên khi một khối được thêm vào, nó không thể thay đổi cũng như tái sắp xếp Thông

tin trong blockchain không thể bị thay đổi và thông tin mới cần phải được sự đồng

thuận của tất cả các thành viên trong mạng trước khi được thêm vào cơ sở dữ liệu của

Trang 20

blockchain Những người tham gia vào hệ thống mạng chịu trách nhiệm về việc phê

duyệt các giao dịch và giám sát các thông tin được thêm vào mạng Blockchain bằng

cách giải quyết các công thức tỉnh vi với sự trợ giúp của máy tính

Các khối thông tin hoạt động độc lập và có thể mở rộng theo thời gian, từ đó cáckhối được quản lý bởi những người tham gia hệ thống thay vì có một cơ quan riêng lẻ

như nhà nước hay ngân hàng trung ương hiện nay.

Các mạng blockchain có thể là mạng riêng tư với các thành viên bị hạn chế tương

tự như một mạng intranet, hay công cộng giống như mạng internet mà bất kỳ ai cũng

có thể truy cập được Dù là blockchain nào đi nữa thì đều là sổ cái thời gian thực củacác hồ sơ được lưu trữ dưới hình thức phân tán, ngang hàng, độc lập với bất kỳ cơ quan,

tổ chức Từ đó làm tăng cường độ an toàn, minh bạch cũng như sự ổn định, giảm thiểuchỉ phí và các lỗi do con người gây ra Điểm đặc biệt của blockchain khiến nó có thểlàm được như vậy đó chính là mọi hồ sơ hay bản ghi đều được mã hóa và gán nhãn thờigian cho nó, đồng thời người dùng chỉ có thể truy cập và thao tác trên khối mà họ sở

hữu thông qua khóa riêng tư.

Điểm khác biệt của Blockchain với so với các công nghệ khác là cơ sở dữ liệu được

lưu trữ phân tán thành nhiều nơi được gọi là các nút chứ không lưu trữ tập trung Cácnút này đều hoạt động ngang hàng Vì vậy mỗi khi có thay đổi phải có sự đồng thuậncủa tất cả các nút

2.2.1.2 Thanh phan của mang Blockchain

Blockchain bao gồm ba khái niệm quan trọng: khối, nút va thợ đào

* Khối Mỗi chuỗi đều bao gồm nhiều khối và mỗi khối có ba phan tử cơ bản:

o Dữ liệu trong khối.

Trang 21

© Một số nguyên 32 bit được gọi là nonce Nonce được tạo ngẫu nhiên khi

một khối được tạo, sau đó tạo ra một giá trị băm (hash) của tiêu đề khối

(block header).

© Giá trị băm là một số 256-bit được kết hợp với số nonce Nó phải bắt đầuvới một số lượng lớn các số 0 (nghĩa là cực kỳ nhỏ)

Khi khối đầu tiên của một chuỗi được tạo, một số nonce tạo ra hàm băm mật mã

Dữ liệu trong khối được coi là đã ký và mãi mãi gắn liền với nonce và giá trị băm

trừ khi nó được khai thác.

Thợ mỏ (Miner)

Người khai thác tạo ra các khối mới trên chuỗi thông qua một quá trình được gọi

là thợ mỏ.

Trong một chuỗi khối, mỗi khối đều có hàm băm riêng biệt của nó, nhưng cũng.

tham chiếu đến hàm băm của khối trước đó trong chuỗi, vì vậy việc khai thácmột khối không dễ dàng, đặc biệt là trên các chuỗi lớn

Các thợ mỏ sử dụng phần mềm đặc biệt để giải quyết vấn đề toán học vô cùng

phức tạp về việc tìm ra một nonce tạo ra một hàm băm được chấp nhận Bởi vì

nonce chỉ có 32bit và băm là 256, có khoảng bốn tỷ tổ hợp nonce-hash có thểđược khai thác trước khi tìm được giá trị thích hợp Khi điều đó xảy ra, nhữngngười thợ mỏ được cho là đã tìm thấy "số nonce vàng" và khối của họ được thêm

vào chuỗi

Thực hiện thay đổi đối với bất kỳ khối nào trước đó trong chuỗi yêu cầu khai

thác lại thì không chỉ khối đó thay đổi, mà tat cả các khối tiếp theo cũng thay đổi

theo Đây là lý do tại sao việc thao túng công nghệ blockchain cực kỳ khó khăn.

Hãy coi đó là "sự an toàn trong thuật toán" vì việc tìm ra các nonce vàng đòi hỏi

một lượng lớn thời gian và khả năng tính toán khổng lồ

10

Trang 22

Khi một khối được khai thác thành công, sự thay đổi được chấp nhận bởi tất cảcác nút trên mạng và người khai thác được thưởng về mặt tài chính.

Vi các blockchains là minh bạch, mọi hành động trong sổ cái có thể được kiểm

tra và xem dễ dàng Mỗi người tham gia được cấp một mã số nhận dạng bao gồm

cả chữ và số duy nhất dùng để hiển thị các giao dịch của họ.

'Việc kết hợp thông tin công khai với hệ thống kiểm tra và cân bằng giúp blockchainduy trì tính toàn vẹn và tạo sự tin tưởng giữa người dùng Về cơ bản, blockchain

có thể được coi là khả năng mở rộng của sự tin tưởng thông qua công nghệ

2.2.1.3 Nguyên lí hoạt động của mang Blockchain

+ Nguyên ly mã hóa

Hệ thống blockchain được thiết kế theo cách không yêu cầu sự tin cậy và bảo

đảm bởi độ tin cậy có được thông qua các hàm mã hóa toán học đặc biệt Dữ liệu

sẽ được bảo vệ bằng một phương pháp mã hóa đặc biệt đó là sử dụng một cặpkhóa bảo mật duy nhất: khóa riêng tu (private key) và khóa công khai (public

key).

Nếu một thông điệp được mã hóa bằng một khóa công khai cụ thể thì chỉ chủ

11

Trang 23

sở hữu của khóa riêng tư là một cặp với khóa công khai này mới có thể giải mã

và đọc nội dung thông điệp Khi mã hóa một yêu cau giao dich bằng khóa riêng

tư, chủ sở hữu sẽ tạo ra một chữ ký điện tử được các máy tính trong mạng lưới

blockchain sử dụng để kiểm tra chủ thể gửi và tính xác thực của giao dịch Chữ

ký này là một chuỗi văn bản và là sự kết hợp của yêu cầu giao dịch và khóa riêngcủa chủ sở hữu Nếu một ký tự đơn trong thông điệp yêu cầu giao dịch này bịthay đổi thì chữ ký điện tử sẽ thay đổi theo Vì thế, hacker khó có thể thay đổiyêu cầu giao dịch hoặc thay đổi nội dung đang gửi

Quy tắc sổ cái

Mỗi nút trong blockchain đều dang lưu giữ một bản sao của sổ cái Do vậy, mỗinút đều biết thông tin dữ liệu được lưu trữ Hệ thống blockchain chỉ ghi lại mỗigiao dịch được yêu cầu chứ không hề theo dõi dữ liệu

Nguyên lý tạo khối

Các giao dịch sau khi được gửi lên trên mạng lưới blockchain sẽ được nhóm vào

các khối và các giao dịch trong cùng 1 khối (block) được coi là đã xảy ra cùngthời điểm Các giao dịch chưa được thực hiện trong 1 khối được coi là chưa đượcxác nhận Mỗi nút có thể nhóm các giao dịch với nhau thành một khối và gửi nóvào mạng lưới như một hàm ý cho các khối tiếp theo được gắn vào sau đó

Để được thêm vào blockchain, mỗi khối phải chứa một đoạn mã đóng vai trò như một đáp án cho một vấn đề toán học phức tạp được tạo ra bằng hàm mã hóa băm

không thể đảo ngược

“Thêm khối vào mang

Để một block — khối thông tin được thêm vào Blockchain, phải có 4 yếu tố:

o Phải có giao dịch: Phải có hoạt động, giao dịch trên mạng tạo ra các

transaction.

12

Trang 24

© Giao dịch đó phải được xác minh: mọi dữ liệu trong giao dịch đều phải

được chứng thực và ghi lại vào log.

© Giao dịch đó phải được lưu trữ trong block: Người dùng có thể xem lại lich

sử giao dịch bất cứ lúc nào

© Block đó phải nhận được hash (hàm chuyển đổi một giá trị sang giá trị

khác): chỉ khi nhận được hash thì một block mới có thể được thêm vào

blockchain.

2.2.1.4 Đặc điểm

Blockchain có các đặc điểm nổi bật sau:

» Tính minh bạch: có thể nói đây là một trong những đặc điểm nổi bật nhất Tat

cả mỗi thông tin được lưu trữ, truyền tải và xử lý trong hệ thông blockchain, đều

được thể hiện một cách minh bạch, rõ ràng nhất, không thể giả mạo.

* Tinh bat biến: dữ liệu trong Blockchain không thể sửa (có thể sửa nhưng sẽ để

lại dấu vết), không bị phá vỡ và sẽ lưu trữ mãi mãi Do đó, khi truy xuất những.

thông tin về giao dịch của mình hay của người khác (bao gồm ngày, giờ, chỉ tiết

về giao dịch .) sẽ không bao giờ phải lo ngại về sự thiếu chính xác của dữ liệu

5 Đặc tinh ẩn danh: trọng tâm trong việc bảo vệ sự riêng tư của blockchain chính

là khả năng ẩn danh người dùng Đặc tính này, sẽ giúp bạn có thể giao dịch mộtcách an toàn, bảo mật mà không cần phải lo ngại về người khác biết được danh

tính của mình.

* Bao mật: Các thông tin, dit liệu trong Blockchain được phân tán và an toàn tuyệt

đối Minh bạch: Ai cũng có thể theo dõi dữ liệu Blockchain đi từ địa chỉ này tớiđịa chỉ khác và có thể thống kê toàn bộ lịch sử trên địa chỉ đó

Trang 25

* Hợp đồng thông minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code

if-this-then-that (IF ), cho phép chúng tự thực thi mà không cần bên thứ ba.

* Rút ngắn được thời gian và tiết kiệm chi phí: khi ứng dụng blockchain vào giao

dịch, với hợp đồng thông minh (smart contract) người giao dịch và đối tác của họ

sẽ là người trực tiếp thực hiện giao dịch và hệ thống trên blockchain sẽ là ngườixác nhận giao dịch, mà không cần tốn thêm chỉ phí, thậm chí là còn tiết kiệmđược cả về thời gian giao dịch

2.2.1.5 Cơ chế đồng thuận trong blockchain

Cơ chế đồng thuận trong Blockchain có thể hiểu như cách thức mà mọi người quản

lý trong hệ thống blockchain có thể đồng ý cho một giao dịch xảy ra trong hệ thống.

Dưới đây là các loại cơ chế đồng thuận phổ biến trong blockchain:

* Proof of Work (Bằng chứng Công việc): Day là cơ chế đồng thuận phổ biến nhất,được dùng trong Bitcoin, Ethereum, Litecoin, Dogecoin và hầu hết các loại tiền

mã hoá Đây là cơ chế đồng thuận tiêu tốn khá nhiều điện năng

* Proof of Stake (Bằng chứng Cổ phan): Day là cơ chế đồng thuận phổ biến trong

Decred, Peercoin và trong tương lai là Ethereum và nhiều loại tiền mã hoá khác

Cơ chế đồng thuận này phân cấp hơn, tiêu hao ít năng lượng và không dễ gì bị

de doa.

* Delegated Proof-of-Stake (Uy quyền Cổ phan): Day là cơ chế đồng thuận phổbiến trong Steemit, EOS, BitShares Cơ chế đồng thuận này có chỉ phí giao dịchrẻ; có khả năng mở rộng; hiệu suất năng lượng cao Tuy nhiên vẫn một phan hơihướng tập trung vì thuật toán này lựa chọn người đáng tin cậy để uỷ quyền

* Proof of Authority (Bằng chứng Uỷ nhiệm): Đây là cơ chế đồng thuận phổ biến

14

Trang 26

thường thấy trong POA.Network, Ethereum Kovan testnet Cơ chế đồng thuận

này có hiệu suất cao, có khả năng mở rộng tốt.

* Proof-of-Weight (Bằng chứng Khối lượng /Càng lớn càng tốt): Day là cơ chếđồng thuận phổ biến trong Algorand, Filecoin Cơ chế đồng thuận này có thể tuỳchỉnh và khả năng mở rộng tốt Tuy nhiên quá trình thúc day việc phát triển sẽ là

một thử thách lớn.

* Byzantine Fault Tolerance (Đồng thuận chống gian lận /Tướng Byzantine baovây Blockchain): Day là cơ chế đồng thuận phổ biến trong Hyperledger, Stellar,Dispatch, và Ripple Cơ chế đồng thuận này có năng suất cao; chỉ phí thấp; có

khả năng mở rộng Tuy nhiên vẫn chưa thể tin tưởng hoàn toàn

2.2.2 Hyperledger trên nền tảng Blockchain

2.2.2.1 Giới thiệu Hyperledger

Hyperledger là một dự án mã nguồn mở được thành lập bởi Linux Foundation Nó

cung cấp một loạt các dự án, khuôn khổ, các tiêu chuẩn, hướng dẫn và các công cụ

cần thiết cho các doanh nghiệp và nhà phát triển để xây dựng các mạng và ứng dụngblockchain Hyperledger sử dụng kiến trúc Module (Modular Architecture) cho phépcác nhà phát triển có thể điều chỉnh nhiều thứ như: cơ chế đồng thuận (consensusmechanism), quản lý việc lưu trữ, thiết lập các dịch vụ nhận diện, phân quyên Dự ánHyperledger nhằm mục đích dễ dàng hợp tác giữa các doanh nghiệp, nhà phát triển và

doanh nghiệp trong lĩnh vực Distributed Ledger Technology (Công nghệ sổ cái phân

tán) Tư tưởng của Hyperledger là thé giới sẽ gồm nhiều kênh thanh toán (private chain)

riêng biệt với các thị trường khác nhau Mỗi doanh nghiệp có những đặc trưng riêng,

nên các ứng dụng cho các doanh nghiệp sẽ cần phát triển với các quy tắc được cá nhân

hóa Không giống như ethereum có xu hướng buộc các nhà phát triển xây dựng các

Trang 27

ứng dụng của họ xung quanh một bộ giao thức định sẵn.

Hyperledger được đóng góp bởi rất nhiều hãng công nghệ lớn, hiện nay có hơn

250 tổ chức đang hỗ trợ Hyperledger và con số đó đang tăng lên nhanh chóng theothời gian Danh sách các tổ chức bao gồm nhiều gã công nghệ khổng lồ như Airbus và

Daimler, IBM, SAP, Huwaei, Fujitsu, Nokia, Samsung, American Express, JP Morgan

va các công ty khởi nghiệp blockchain như Blockstream va Consensys.

Khác với các nền tảng blockchain khác như Bitcoin hay Ethereum, Hyperledgerkhông có đồng tiền điện tử riêng và cũng không có ý định phát triển nó, Hyperledgercũng không phải là một tổ chức hay hệ thống chuỗi khói Nó hoạt động bằng cách cung

cấp cơ sở hạ tầng và tiêu chuẩn cần thiết để phát triển các hệ thống và ứng dụng dựa

trên nền tảng chuỗi khối khác nhau cho hoạt động công nghiệp

2.2.2.2 Framework của Hyperledger

* Hyperledger Fabric: được thiết kế như một nền tảng dé phát triển các ứng dụnghoặc giải pháp có kiến trúc mô-đun Hyperledger Fabric cho phép các thành

phần, chẳng hạn như dịch vụ đồng thuận và thành viên, là plug-and-play Thiết

kế mô-đun và linh hoạt của nó đáp ứng nhiều trường hợp sử dụng trong ngành

Nó cung cấp một cách tiếp cận duy nhất để đạt được sự đồng thuận cho phépthực hiện trên quy mô lớn trong khi vẫn bảo vệ quyên riêng tư [4]

* Hyperledger Besu: là một ứng dụng khách Ethereum được thiết kế thân thiện

với doanh nghiệp cho cả các trường hợp sử dụng mạng được phép công khai

và riêng tư Nó cũng có thể được chạy trên các mạng thử nghiệm như Rinkeby,Ropsten và Gorli Hyperledger Besu bao gồm một số thuật toán đồng thuận baogồm PoW và PoA (IBFT, IBFT 2.0, Etherhash va Clique) Các chương trình cấpphép toàn diện của nó được thiết kế đặc biệt để sử dụng trong môi trường liênkết

16

Trang 28

* Hyperledger Iroha: được thiết kế dé đơn giản và dé dàng kết hợp vào các dự án

cơ sở hạ tầng hoặc IơT yêu cầu công nghệ sổ cái phân tán Hyperledger Iroha có

cấu trúc đơn giản, thiết kế C ++ hướng theo mô-dun, miền, nhấn mạnh vào pháttriển ứng dụng khách và thuật toán đồng thuận chịu lỗi sự cố mới (crash fault

tolerant), được gọi là YAC.

» Hyperledger Sawtooth: cung cấp một kiến trúc mô-đun và linh hoạt tách hệ

thống cốt lõi khỏi miền ứng dụng, vì vậy các hợp đồng thông minh có thể chỉ

định các quy tắc kinh doanh cho các ứng dụng mà không cần biết thiết kế cơ bản

của hệ thống lõi Hyperledger Sawtooth hỗ trợ nhiều thuật toán đồng thuận khác

nhau, bao gồm Khả năng chịu lỗi Byzantine Thực tế (PBFT) và Bằng chứng về

thời gian đã trôi qua (PoET)

* Hyperledger Indy: cung cấp các công cụ, thư viện và các thành phần có thể tái

sử dung để cung cấp danh tính kỹ thuật số bắt nguồn từ các blockchains hoặc các

sổ cái phân tán khác để chúng có thể tương tác trên các miễn quản trị, ứng dụng

và bất kỳ silo nào khác Indy có thể tương tác với các blockchains khác hoặc cóthể được sử dụng độc lập để hỗ trợ phân cấp danh tính [5]

* Hyperledger Burrow: là một phân phối blockchain đơn nhị phân hoàn chỉnhtập trung vào sự đơn giản, tốc độ và công thái học của nhà phát triển Nó hỗ trợ

cả hợp đồng thông minh dựa trên EVM và WASM va sử dụng đồng thuận BFTthông qua thuật toán Tendermint Nó có một hệ thống sự kiện phức tạp và có thểduy trì ánh xạ cơ sở dữ liệu quan hệ của dữ liệu trên chuỗi Quản trị và cấp phépđược tích hợp sẵn và có thể được sửa đổi bằng các giao dịch đề xuất trên chuỗi

Nó được tối ưu hóa cho các trường hợp sử dụng bằng chứng cổ phần được phépcông khai nhưng cũng có thể được sử dụng cho các mạng riêng / liên két.[6]

* Hyperledger Grid: dự định cung cấp các triển khai tham chiếu của các kiểu dữ

liệu tập trung vào chuỗi cung ứng, các mô hình dữ liệu và logic kinh doanh dựa

17

Trang 29

trên hợp đồng thông minh - tat cả đều dựa trên các tiêu chuẩn mở, hiện có và cácphương pháp hay nhất trong ngành Nó giới thiệu một cách chân thực và thực tếcách kết hợp các thành phần từ ngăn xếp Hyperledger thành một giải pháp kinhdoanh hiệu quả, duy nhất.[7]

2.2.2.3 Công cụ

* Hyperledger Composer: là một bộ công cụ và framework mở, rộng rãi để giúpphát triển các ứng dụng blockchain dễ dàng hơn Mục tiêu chính của nó là đẩy

nhanh thời gian định giá và giúp việc tích hợp các ứng dụng blockchain với các

hệ thống kinh doanh hiện có trở nên dé dang hơn Có thể sử dụng Composer để

phát triển nhanh chóng các trường hợp sử dụng và triển khai giải pháp blockchain

trong vài tuần thay vì vài tháng Composer cho phép lập mô hình mạng lưới kinhdoanh của mình và tích hợp các hệ thống và dữ liệu hiện có với các ứng dụng

blockchain của bạn.

5 Hyperledger Cello: nhằm mục đích đóng vai trò là bảng điều khiển hoạt động

cho Blockchain, giúp giảm thiểu nỗ lực cần thiết cho việc tạo, quản lý và sửdụng các blockchain Bên cạnh đó, nó cũng có thể được sử dụng để tạo điều kiệnthuận lợi cho việc tạo Blockchain như một Dịch vụ Cello cung cấp một bảngđiều khiển hoạt động để quản lý hiệu quả của blockchain và chạy trên các cơ

sở hạ tầng khác nhau, ví dụ: baremetal, máy ảo và các nền tảng container khác

nhau.

5 Hyperledger Explorer: là một mô-đun tiện ích mã nguồn mở của blockchain

cho phép người dùng tạo một ứng dụng dựa trên web thân thiện với người dùng,

được sử dụng để xem, gọi, triển khai hoặc truy vấn khối, giao dịch và dữ liệu liên

quan, thông tin mạng (tên, trạng thái, danh sách các nút), mã chuỗi và giao dịch,

cũng như bắt kỳ liên quan nào khác thông tin được lưu trên sổ cái

18

Trang 30

* Hyperledger Caliper: là một công cụ điểm chuẩn blockchain, nó cho phép

người dùng đo lường hiệu suất của việc triển khai blockchain với một tập hợp

các trường hợp sử dụng được xác định trước Hyperledger Caliper sẽ tạo ra các

báo cáo chứa một số chỉ số hiệu suất để làm tài liệu tham khảo khi sử dụng các

giải pháp blockchain sau: Hyperledger Besu, Hyperledger Burrow, Ethereum,

Hyperledger Fabric, FISCO BCOS, Hyperledger Iroha và Hyperledger Sawtooth.

ure

Services

Hình 2.1: Kiến trúc Hyperledger

19

Trang 31

* Membership: cung cấp các dịch vụ quản lý danh tính, quyền riêng tư, bảo mật

và kiểm toán trên mạng.

« Blockchain Services: các dịch vụ blockchain bao gồm ba thành phần chính:

trình quản lý đồng thuận, giao thức peer-to-peer (P2P) và sổ cái phân phối

(Distributed Ledger Ledger Storage).

¢ Transactions: Các giao dịch được thực hiện va lưu trữ trên blockchain.

* Chaincode: Hyperledger lưu các hợp đồng thông minh dưới dạng các chaincode

(ngôn ngữ lập trình để phát triển smartcontract), chaincode được sử dụng trong

Hyperledger là golang Có thể hiểu chaincode là một decentralized application,

chạy trên các nút xác nhận tính hợp lệ và được đóng gói trong các docker

2.2.2.5 Lợi ích sử dụng Hyperledger

Trong vai trò là một dự án mã nguồn mở:

* Tiết kiệm chi phi cho phần mềm: Hyperledger là dự án mã nguồn mở, do đó

không cần phải trả phí sử dụng.

* Tự do cải tién và mở rộng: được tự do cải tiễn và mở rộng mà không đòi hỏi sự

cho phép của người sở hữu.

* Phát triển và cải tiến ổn định: có nhiều thành viên là các tập đoàn, tổ chức lớn

tham gia phát triển, đóng góp, quy trình cải tiến rõ ràng giúp dự án ngày càng

được phát triển.

* An toàn và tin cậy: cộng đồng sử dụng lớn, các lỗi trong quá trình sử dụng có thể

dễ dàng được tìm thấy và vá lại dựa trên sự hỗ trợ từ cộng đồng người dùng.

20

Trang 32

Đẩy nhanh quá trình phát triển và thương mại hóa: sử dụng các tiêu chuẩn có

sẵn, giúp người dùng dễ dàng phát triển, tăng độ tin cậy của hệ thống, từ đó dễ dàng đưa sản phẩm tiếp cận tới cộng đồng.

Trong vai trò là một dự án sử dụng công nghệ blockchain:

Phân tán: loại bỏ các bên tin cậy thứ ba để xác thực các giao dịch.

Minh bạch và tin cậy: các giao dịch được thực hiện trên blockchain đều có thể

kiểm chứng được.

Độ an toàn cao: toàn bộ các giao dịch đều được đảm bảo an toàn dựa trên mật

mã và tính toàn vẹn của chúng được đảm bảo.

Độ khả dụng cao: hệ thống bao gồm nhiều nút và không có một nút nào đóng

vai trò chi phôi hệ thông nên chong được van dé về “one point failure’.

Tiết kiệm chi phí: trong thực tế chi phí cho các bên trung gian thứ ba của các hệ thống là rất đáng kể, do đó việc loại bỏ được các bên trung gian này sẽ giúp tiết

kiệm chỉ phí cho người sử dụng.

2.2.3 Hyperledger Fabric

2.2.3.1 Khai niệm

Trong khi các mạng Public Blockchain đang dần điều chỉnh để phù hợp hơn với

yêu cầu riêng tư của thị trường thì Hyperledger Fabric được sinh ra để làm việc đấy.

Hyperledger Fabric là một khuôn khổ blockchain mã nguồn mở, được cấp phép, bắt đầu

vào năm 2015 bởi The Linux Foundation Hyperedger Fabric là một trong 5 Framework

về Blockchain nằm trong chiến lược Hyperledger Umbrella của Linux Foundation gồm:

21

Trang 33

Hyperledger Indy, Hyperledger Fabric, Hyperledger Iroha, Hyperledger Sawtooth, và

Hyperledger Burror Điều đặc biệt là Hyperledger Fabric được contributed bởi ông lớn

IBM Đây là một khung mô-đun, có mục đích chung, cung cấp các tính năng quản lý danh tính và kiểm soát truy cập độc đáo, phù hợp với nhiều ứng dụng trong ngành như theo dõi chuỗi cung ứng, tài trợ thương mại, lòng trung thành và phần thưởng, cũng như bù trừ và quyết toán tài sản tài chính.

Kết cầu Hyperledger là lý tưởng để xây dựng một mạng lưới kinh doanh blockchain

riêng tư được cấp phép Ở chế độ riêng tư, có nghĩa là nó không được công khai cho tất

cả mọi peer hoặc giao dịch trên mạng Đối với các doanh nghiệp, đây là một yêu cầu

lớn mà Hyperledger Fabric đáp ứng được Doanh nghiệp cần kiểm soát nhiều hơn các

chính sách truy cập dữ liệu của họ Họ cũng cần một mạng được cấp phép để họ có thể thực hiện kiểm soát truy cập theo yêu cầu của riêng họ.

Hyperledger Fabric sử dụng các Channel giúp phân đoạn các dữ liệu thành nhiều

private blockchain, mang lại một kiến trúc mềm dẻo, dễ dàng mở rộng, khác biệt với

các giải pháp blockchain khác hiện có.

Hyperledger Fabric sử dụng các Channel giúp phân đoạn các dữ liệu thành nhiều private blockchain, mang lại một kiến trúc mềm dẻo, dễ dàng mở rộng, khác biệt với

các giải pháp blockchain khác hiện có.

Trong mạng, có người cấp quyền phát hành hoặc thu hồi quyền đối với tất cả những người tham gia và các thành phần cơ sở hạ tầng của mạng Quyền hoặc kiểm soát truy cập này trong Fabric dựa trên cơ sở hạ tầng X509 PKI Có nghĩa là có một tổ chức phát

hành chứng chỉ đáng tin cậy cấp chứng chỉ cho tất cả những người tham gia Hợp đồng

thông minh nắm giữ logic xác định ai có thể thay đổi những gì trên sổ cái Và những người tham gia viết giao dịch trên sổ cái bằng cách gọi các hợp đồng

Phiên bản hiện tại mới nhất của Hyperledger Fabric là 2.2.

22

Trang 34

2.2.3.2 Crash fault tolerance

Crash fault tolerance (CFT) là một mức kha năng phục hồi, trong đó hệ thống van

có thể đạt được sự đồng thuận nếu có nút bị lỗi Nếu có N nút trong hệ thống đồng thuận CFT, thì hệ thống sẽ có khả năng chịu được tối đa N/2 nút bị lỗi.

2.2.3.3 Byzantine fault tolerance

Các lỗi do phần mềm, lỗi do hệ điều hành, lỗi do người quan trị, lỗi do bi virus tan công, là nguyên nhân phổ biến gây ra lỗi ở các nút và khiến cho các nút thực hiện các hành vi tùy ý Tất cả đều những lỗi trên được gọi là lỗi Byzantine.

Byzantine Fault Tolerance (BFT) cung cấp các đảm bảo để chồng lại và đạt được sự đồng thuận bất kể lỗi nào, kể cả các lỗi Byzantine Byzantine Fault Tolerance (BFT)

là 1 thuật toán sao chép trạng thái của máy (state machine replication) , nó có kha nang sao chép các dịch vụ (service) với các hoạt động phức tạp Đây là biện pháp bảo vệ

quan trọng giúp các máy khách (client) chồng lại lỗi Byzantine.

2.2.3.4 Thành phan của Hyperledger Fabric

Chaincode | [BB | oderng Service

Hình 2.2: Thành phần của Hyperledger Fabric

23

Trang 35

« Channel: là cơ chế phân vùng dif liệu, chỉ cho phép hiển thị các giao dich cho

những bên liên quan Mỗi channel là một chuỗi các khối giao dịch độc lập chỉ

chứa các giao dịch của channel đó.

« Chaincode: chính là Smart Contract trong Hyperledger Fabric Nó bao gồm các

định nghĩa về tài sản và các logic kinh doanh để sửa đổi thông tin của các tài sản

đó Các yêu cầu giao dịch sẽ dẫn đến sự thay đổi trong số cái.

» Ledger: chứa trạng thái hiện tại của mạng blockchain và chuỗi các yêu cầu giao

dịch Các thông tin trong sổ cái chỉ được phép thêm vào chứ không thể xóa hay

sửa được.

¢ Network: là tập hợp các nút ngang hang (Peer) xử lý dữ liệu tạo thành mạng

blockchain Mạng này chịu trách nhiệm duy trì một sổ cái được nhân rộng mang

tính nhất quán.

« Ordering Service: là tập hợp các nút yêu cầu các giao dịch thành một khối.

* World State: phản ánh dữ liệu hiện tại về tất cả các tài sản trong mang blockchain.

Dữ liệu này được lưu trữ trong cơ sở dữ liệu để truy cập hiệu quả Các cơ sở dữ

liệu được hỗ trợ hiện tại là: LevelDB và CouchDB.

» Membership Service Provider (MSP): quản lý danh tính và quyền truy cập của

các client và các nút ngang hàng (peer).

2.2.3.5 Ordering Service trên Hyperledger Fabric

Nhiều blockchain phân tán, chang han như Ethereum và Bitcoin, không được cấp phép, có nghĩa là bất kỳ nút nào cũng có thể tham gia vào quá trình đồng thuận, trong

đó các giao dịch được sắp xếp và đóng gói thành các khối.

24

Trang 36

Hyperledger Fabric hoạt động theo cách khác Nó có một nút được gọi là orderer

(nó còn được gọi là “orderer node”) thực hiện việc đặt đồng thuận (consensus) giao

dịch, cùng với các nút orderer khác tạo thành một dịch vụ đặt hàng (ordering service).

Bởi vì thiết kế của Fabric dựa trên các thuật toán đồng thuận xác định, bất kỳ khối nào được đồng nghiệp xác thực đều được đảm bảo là khối cuối cùng và chính xác Dịch vụ

đặt hàng là một dịch vụ phân tán chịu trách nhiệm tổ chức các giao dịch được xác nhận

thành các khối theo trình tự và phân phối cho tất cả các đồng nghiệp Dịch vụ này được chạy trên nhiều nút Thông thường, mỗi tổ chức sẽ có ít nhất một nút của dịch vụ đặt hàng để đảm bảo chúng là một phần của quá trình xử lý giao dịch từ đầu đến cuối.

Việc tách xác nhận thực thi chaincode (xảy ra ở các peer) khỏi ordering mang lại

lợi thế cho Fabric về hiệu suất và khả năng mở rộng, loại bỏ tắc nghẽn có thể xảy ra

khi việc thực thi va ordering được thực hiện bởi các nút giống nhau.

Ngoài vai trò trên, ordering service còn lưu trữ các thông tin khác như danh sách

tổ chức nào được phép tạo channel, ai có thể thay đổi các cấu hình channel, và tất cả hành động thay đổi câu hình đó đều phải di qua orderer Danh sách các tổ chức này còn được gọi là tập đoàn (consortium) và bản thân danh sách này được lưu giữ trong cấu hình của kênh hệ thống đặt hàng (ordering system channel) Theo mặc định, danh sách

này và kênh tổn tại trên đó, chỉ quản trị viên của orderer mới có thể chỉnh sửa.

Các cách triển khai Ordering Service: Mặc dù moi ordering service hiện có đều xử

lý các giao dịch và cập nhật cấu hình theo cùng một cách, tuy nhiên vẫn có một số cách triển khai khác nhau để đạt được sự đồng thuận về thứ tự giao dịch chặt chẽ giữa các

nut ordering serive.

* Solo: Chỉ có 1 nút orderer duy nhất, nó không có khả năng "fault tolerant" (chịu

lỗi) Việc triển khai Solo của ordering service chỉ nhằm mục đích thử nghiệm và chỉ bao gồm nút orderer duy nhất Nó đã không được dùng nữa và có thể bị xóa

hoàn toàn trong một bản phát hành trong tương lai.

25

Trang 37

Hình 2.3: Kiến trúc Ordering Service Solo

° Raft: Mới kể từ phiên bản 1.4.1, hyperledger fabric ra mat Raft là một dịch vụ

đặt hàng chịu lỗi va chạm (crash fault tolerant - CET) dựa trên việc triển khai

giao thức Raft trong etcd Raft tuân theo mô hình "người dẫn đầu và người theo dõi", trong đó một nút lãnh đạo được bầu chọn (trên mỗi kênh) và các quyết định

của nó được những người theo dõi lặp lại Các ordering service theo nhóm sẽ

dễ thiết lập và quản lý hơn các ordering service dựa trên Kafka và thiết kế của

chúng cho phép các tổ chức khác nhau đóng góp các nút vào ordering.

Trang 38

* Kafka: Tương tự như Raft, Apache Kafka là một triển khai CFT sử dung cấu hình nút người dẫn đầu và người theo dõi (leader và follower) Kafka sử dụng

nhóm ZooKeeper cho mục đích quản lý Dịch vụ đặt hàng dựa trên Kafka đã có

san từ Fabric phiên bản 1.0, nhưng nhiều người dùng có thể thấy chi phí quản trị bổ sung của việc quản lý một cụm Kafka là đáng sợ hoặc không mong muốn Việc sử dụng bên thứ ba để quản lý cũng trở nên bắt tiện Cũng như Solo, Kafka đang dần được loại bỏ và không còn được sử dụng ở phiên bản 2.x.

OrdererOrg

e000

Kafka

Hình 2.5: Kiến trúc Ordering Service Kafka

2.2.3.6 Peer trên Hyperledger Fabric

Một mạng blockchain chủ yếu bao gồm một tập hợp các nút peer (hoặc đơn giản

là các peer) Peer là một yếu tố cơ bản của mạng vì chúng lưu trữ sổ cái và hợp đồng

thông minh.

27

Trang 39

Peer Node

Một peer có thể lưu trữ phiên bản sổ cái mà không cần lưu trữ bất kỳ chaincode truy

cập vào sổ cái đó Mỗi peer có thể cài đặt thêm một chaincode và các sổ cái Không

bắt buộc phải cài đặt mã chaincode trên mỗi peer, vì vậy trong trường hợp này các peer khác trong hệ thống giao tiếp với nhau để cập nhật trạng thái mới nhất của sổ cái bằng

giao thức Gossip Một peer không thể thuộc sở hữu của nhiều tổ chức, tức là nó chỉ thuộc sở hữu của một tổ chức duy nhất và do đó được liên kết với một MSP duy nhất.

Mỗi tổ chức trong mạng blockchain có trách nhiệm đóng góp vào mạng bằng cách thiết lập các peer Không bắt buộc mỗi tổ chức phải đóng góp số lượng peer bằng nhau trong mang Tat cả các peer này đều được tích hợp với mạng blockchain bang cách sử dụng quyền đặc biệt, chữ ký sử dụng Cơ quan cấp chứng chỉ.

I Các loại peer

Trong mạng blockchain có các loại peer khác nhau với các nhiệm vụ khác nhau

28

Trang 40

peer] _ [Anchor Per ==

Peer

Peer Leader Peer | Leader Peer

EN x

Hinh 2.7: Cac loai peer trong mang

Leader Peer: Peer này luôn nhận một khối mới từ orderer và chia sẻ nó với các

peer khác bằng giao thức Gossip Có 2 loại leader có thể được thiết lập trong một

tổ chức.

Dynamic Leader - Các peer khác trong tổ chức chọn leader peer trong fabric

runtime, vì vay trong trường hợp này, bat kỳ peer nào cũng có thể nhận khối mới

gọi là Non-Anchor peer.

29

Ngày đăng: 05/10/2024, 00:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN