Chương 1 giới thiệu về công nghệ blockchain và nền tảng Hyperledger Fabric, cung cấp một cái nhìn tổng quan về các khái niệm cơ bản của blockchain, bao gồm cách hoạt động và các ứng dụng của nó trong các lĩnh vực khác nhau. Tiếp theo giới thiệu về Hyperledger, một dự án mã nguồn mở của Linux Foundation, và tập trung vào Hyperledger Fabric, một nền tảng blockchain được thiết kế để xây dựng các ứng dụng doanh nghiệp; đồng thời giải thích cách Fabric sử dụng một kiến trúc mô-đun và tập trung vào tính bảo mật và khả năng mở rộng của nó. Chương cũng đề cập đến các thành phần chính của Fabric, bao gồm các nút (peers), kênh (channels), hợp đồng thông minh (smart contracts), các khái niệm khác liên quan đến Fabric và cách triển khai một mạng Hyperledger Fabric. Tổng quan về công nghệ Blockchain 1.
Định nghĩa Blockchain Theo Don & Alex Tapscott viết trong cuốn sách Blockchain Revolution, blockchain được định nghĩa như sau: “Blockchain là một loại “cơ sở dữ liệu” phân cấp, trong đó thông tin sẽ được lưu trữ trong các “khối” (block) và được liên kết với nhau. Các thông tin trong hệ thống sẽ được mã hóa và mở rộng theo thời gian, mỗi block đều chứa thông tin về thời gian khởi tạo và được liên kết với khối trước đó, có thể xem blockchain như một cuốn sổ cái được dùng để ghi lại tất cả các dữ liệu của hệ thống” (Don, et al. Một khái niệm khác về Blockchain: “Blockchain là một hệ thống kết nối người dùng này với người dùng khác mà không có bộ xử lý trung tâm để quản lý dữ liệu và dòng chảy của dữ liệu. Chìa khóa của việc loại bỏ bộ xử lý trung tâm trong khi vẫn giữa được cơ sở dữ liệu được kiện toàn chính là có được một hệ thống phân chia đủ lớp tập hợp của các cả thể người dùng độc lập” (Lợi & David, 2018).
Các thành phần chính của công nghệ chuỗi khối Blockchain là một chuỗi các khối dữ liệu (block). Mỗi khối có thể được coi là một trang trong một cuốn sổ cái, chứa phần đầu (block header) và phần thân (block body). Bùi Thị Bích Hằng – K22HTTTC 6 Khóa luận tốt nghiệp Ứng dụng công nghệ chuỗi khối Hyperledger Fabric trong quản lý khám chữa bệnh Hình 1.1 Cấu trúc của một Blockchain (Liang, 2020) 1. Các thành phần của một block - Block header: + Version: phiên bản của số của phần mềm.
+ Hash of Previous Block: Hàm băm của khối trước đó (header block n chứa hàm băm của block n-1), không có thành phần này sẽ không có sự liên kết và liên tiếp giữa các khối. Ví dụ một trường hợp ở block thứ 2 khi bị tấn công, kẻ tấn công cố thay đổi dữ liệu khác đi, thì chắc chắn khi block 2 tạo mã băm hash sẽ ra một hash có giá trị khác. Dẫn tới việc các block tiếp theo sẽ sai theo và chuỗi lúc này bị gãy ở block thứ 2 (Antonopoulos, 2014). + Time Stamp: thời gian tạo khối hiện tại.
+ Nonce: một số nguyên 32bit (4 byte), là giá trị chỉ có thể được sử dụng một lần duy nhất, được sử dụng để tìm ra hàm băm (Hash SHA-256) phù hợp cho Block mới trong Blockchain. + Merkle Root: là giá trị băm cây Merkle trong block body (được lấy từ các giá trị băm của tất cả các giao dịch có trong khối), để đảm bảo rằng các giao dịch không thể được sửa đổi nếu không thay đổi header. - Block body: + Chứa dữ liệu của các giao dịch (transaction data). + Các dữ liệu giao dịch này được băm nhiều lần tạo thành cây Merkle.
Cây Merkle được đặt theo tên của Ralph Merkle trong một bài báo năm 1987 có tiêu đề "A Digital Signature Based on a Conventional Encryption Function". Nhiều thông tin được biểu diễn trong một hàm băm duy nhất. Dữ liệu được băm đầu tiên, sau đó các mã băm được sẽ được băm tiếp và hợp nhất lại tạo thành một hàm băm gốc (Merkle Root) chứa ở phần header (Tạp chí bitcoin, 2019) Bùi Thị Bích Hằng – K22HTTTC 7 Khóa luận tốt nghiệp Ứng dụng công nghệ chuỗi khối Hyperledger Fabric trong quản lý khám chữa bệnh 1. Các thành phần cốt lõi của kiến trúc Blockchain Node/Peer: Một thiết bị (như máy tính) xuất hiện bên trong mạng blockchain có bản sao của tất cả các giao dịch.
Transaction (Giao dịch): Đó là việc trao đổi thông tin giữa hai địa chỉ blockchain. Block (Khối): Nó được sử dụng để giữ một nhóm các giao dịch được phân phối giữa tất cả các nút trong mạng. Chain (Chuỗi): Một loạt các khối được sắp xếp theo thứ tự thời gian. Miner (Công cụ khai thác): Trước khi thêm bất kỳ giao dịch nào vào nút khối mới, các nút đã chọn thực hiện xác minh khối.
Consensus (Sự đồng thuận): cơ chế mà qua đó tất cả các thành viên trong mạng đều đi đến thỏa thuận về bất kỳ giao dịch nào trong blockchain. Sự phát triển của công nghệ Blockchain Trải qua nhiều giai đoạn phát triển, tới thời điểm hiện tại, Blockchain đã có 04 phiên bản khác nhau, bao gồm: 1. Phát minh blockchain (1991) Scott Stornetta và Stuart Haber đã phát minh ra blockchain. Họ đã tạo ra một chuỗi các khối được bảo vệ bằng mật mã ngăn bất kỳ ai giả mạo thời gian thời gian tài liệu (Beyer, 2018) 1.
Sự xuất hiện của bitcoin (2008-2013) Vào năm 2008, một cá nhân hoặc một nhóm cá nhân ẩn danh chỉ được biết đến với cái tên Satoshi Nakamoto đã dựng lên “bộ khung” cho công nghệ chuỗi khối ở hình thái hiện đại. Ý tưởng của Satoshi về chuỗi khối Bitcoin đã sử dụng khối thông tin 1 MB cho các giao dịch Bitcoin. Nhiều tính năng của hệ thống chuỗi khối Bitcoin vẫn đóng vai trò then chốt trong công nghệ chuỗi khối cho đến ngày nay (AWS, 2018). Năm 2009, Nakamoto đã xuất bản sách trắng về Bitcoin.
Bitcoin đầu tiên được mua với giá 10. Bitcoin vượt qua 1 tỷ đô la vào năm 2013 (Sreenivas, 2021). Phát triển nền tảng Ethereum (2013-2015) Ethereum đã được khái niệm hóa bởi Vitalik Buterin. Ethereum có các tính năng bổ sung như hợp đồng thông minh so với Bitcoin.
Sự phát triển của Ethereum đã được chứng minh là một thời điểm quan trọng trong lịch sử blockchain. Ethereum được sử dụng cho tiền điện tử và trong nhiều ứng dụng phi tập trung khác vì có hợp đồng thông minh. Bùi Thị Bích Hằng – K22HTTTC 8 Khóa luận tốt nghiệp Ứng dụng công nghệ chuỗi khối Hyperledger Fabric trong quản lý khám chữa bệnh 1. Phát triển nền tảng Hyperledger và tương lai (2015-nay) Hyperledger được phát triển bởi Linux Foundation vào năm 2015, cho phép phát triển blockchain nguồn mở.
Các framework có thể kể đến như: hyperledger fabirc, hyperledger iroha, hyperledger sawtooth và hyperledger burrow (Hyperledger Fabric, 2021). Hyperledger được phát triển để giải quyết các vấn đề về tính bảo mật, tính khả dụng, tính linh hoạt và tính tương thích trong việc triển khai các ứng dụng blockchain cho các doanh nghiệp và tổ chức. Một số vấn đề cần được giải quyết bao gồm đáp ứng yêu cầu về quyền riêng tư và an ninh, đáp ứng khả năng mở rộng và hiệu suất của mạng, cung cấp cơ chế quản lý đa cấp độ và tích hợp với các hệ thống hiện có. Hyperledger được thiết kế để cung cấp các tính năng này và đáp ứng các yêu cầu của các doanh nghiệp và tổ chức trong việc triển khai các ứng dụng blockchain.
Nhiều loại tiền điện tử và ứng dụng đã được triển khai sau khi phát triển của Bitcoin, Ethereum, Hyperledger. Ngày nay, công nghệ blockchain được sử dụng bởi các công ty và tổ chức khác nhau. Công nghệ chuỗi khối không ngừng cải tiến và phát triển khi các công ty khám phá và triển khai các ứng dụng mới. Các công ty đang giải quyết các hạn chế về quy mô và sức mạnh tính toán, đồng thời có rất nhiều cơ hội trong cuộc cách mạng chuỗi khối đang diễn ra này.
Cơ chế hoạt động Hình 1.2 Cách thức hoạt động của mạng Blockchain Bước 1: Người dùng phát sinh yêu cầu giao dịch. Bùi Thị Bích Hằng – K22HTTTC 9 Khóa luận tốt nghiệp Ứng dụng công nghệ chuỗi khối Hyperledger Fabric trong quản lý khám chữa bệnh Bước 2: Một block được tạo ra chứa các thông tin này. Bước 3: Thông tin về khối mới sẽ được phân phối đến toàn bộ mạng lưới của người dùng khác. Bước 4: Tất cả các node tham gia xác thực cho block mới và giao dịch này.
Bước 5: Khối block sẽ được thêm vào blockchain trong toàn bộ hệ thống. Sau khi những người tham gia đạt được sự đồng thuận, các giao dịch trên chuỗi khối được ghi vào một khối, tương đương với một trang trong sổ cái. Cùng với các giao dịch, hàm băm mật mã cũng được thêm vào các khối mới. Hàm băm hoạt động như một chuỗi liên kết các khối với nhau.
Nếu nội dung của một khối bị sửa đổi một cách cố ý hoặc vô tình, giá trị băm sẽ thay đổi, cung cấp một cách để phát hiện dữ liệu bị giả mạo. (AWS, 2018) Bước 6: Giao dịch được xác nhận và được thực thi. Hệ thống phân phối bản sao mới nhất của sổ cái trung tâm cho toàn bộ người tham gia. Các loại mạng lưới chuỗi khối Có 4 loại mạng phi tập trung hoặc phân tán chính trong chuỗi khối: 1.
Public Blockchain (Mạng chuỗi khối công cộng) Chuỗi khối công khai không yêu cầu quyền và bất kỳ ai cũng có thể tham gia. Tất cả các thành viên của chuỗi khối đều có quyền bình đẳng để đọc, chỉnh sửa và xác minh chuỗi khối. Mọi người chủ yếu sử dụng các chuỗi khối công khai để trao đổi và khai thác tiền điện tử như Bitcoin, Ethereum và Litecoin. Các cơ chế đồng thuận như Proof of Work (POW), Proof of Stake (POS), v., được yêu cầu để đạt được sự đồng thuận trong khi thêm các block mới và trong quá trình xác minh các giao dịch.
Các blockchain công cộng phi tập trung hoàn toàn vì tất cả các đồng nghiệp đều có thẩm quyền như nhau, điều này làm cho nó an toàn vì không ai có thể có toàn quyền kiểm soát mạng blockchain. Mở và đóng được sử dụng để biết ai có thể đọc dữ liệu trong một blockchain. Hai thuộc tính này được sử dụng để mô tả blockchain. + Công khai và mở: Blockchain này mọi người có thể truy cập và đọc dữ liệu.
Ví dụ, tiền điện tử như Bitcoin và Ethereum. + Công khai và đóng: Người tiêu dùng có thể lưu trữ thông tin bí mật và có thể hạn chế quyền truy cập cho những người tham gia được chọn. Trong blockchain này, mọi người đều có thể viết trong blockchain, nhưng quyền đọc chỉ được nắm giữ bởi các thực thể được chọn. Ví dụ, bỏ phiếu.