21/08/2019, 22:46

Bài 2. Giới thiệu Hyperledger Fabric. Cấu trúc của một mạng Hyperledger Fabricabric

1. Giới thiệu về Hyperledger Fabric Như mình đã giới thiệu ở Bài 1, Public Blockchain là một mạng mà ai cũng có thể tham gia, tương tác với mạng và truy vấn dữ liệu, điều này khiến một số Tổ chức không hài lòng vì họ không muốn công khai các số liệu hoạt động của mình. Mặt khác, đa phần các tổ ...

1. Giới thiệu về Hyperledger Fabric

Như mình đã giới thiệu ở Bài 1, Public Blockchain là một mạng mà ai cũng có thể tham gia, tương tác với mạng và truy vấn dữ liệu, điều này khiến một số Tổ chức không hài lòng vì họ không muốn công khai các số liệu hoạt động của mình. Mặt khác, đa phần các tổ chức chỉ cần đặc tính không thể sửa đổi của Blockchain, hay nếu một cụm các Tổ chức cùng xây dựng một mạng thì họ chỉ cần "tính phân tán" trong phạm vi các Tổ chức đấy và với mỗi một mạng thì lại có một quy trình nghiệp vụ khác nhau nên việc sử dụng Public Blockchain là không cần thiết và thiếu riêng tư.

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.

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 : Hyperledger Indy, Hyperledger Fabric, Hyperledger Iroha, Hyperledger Iroha, Hyperledger Sawtooth, Hyperledger Burror. Điều đặc biệt là Hyperledger Fabric được contributed bởi ông lớn IBM.

Hyperledger Fabric có modularity ( tính mô đun) khá cao nên nó cho phép các Doanh nghiệp dễ dàng plug and play để xây dựng một ứng dụng Private Blockchain phù hợp các yêu cầu nghiệp vụ của mình .

Phiên bản mới nhất của Hyperledger Fabric tại thời điểm viết bài này là 2.0.0-alpha.

Đến đây, mọi người có thể hiểu rằng nói Hyperledger Fabric là một mạng Private Blockchain cũng đúng, hay là một Framework để xây dựng Private Blockchain cũng đúng.

2. Kiến trúc của một mạng Hyperledger Fabric.

2.1 Kiến trúc đơn giản của một mạng Hyperledger Fabric

N: (Network) Mạng.

NC: Network Configuration ( Cấu hình của mạng ).

C: Channel ( Kênh ), tập hợp các tổ chức có vai trò nhất định trong cùng một quy trình kinh doanh. Ví dụ, trong một channel về mua bán xe hơi sẽ gồm có 2 tổ chức là : Nhà sản xuất xe hơi, Nhà phân phối xe hơi.

CC: Channel Configuration ( Cấu hình của kênh ).

R: Organization ( Tổ chức ).

O: Orderer Node: Nếu như trong Publuc Blockchain, tất cả các node của mạng đều tham gia vào quá trình đồng thuận, thì ở Hyperledger Fabric chỉ có Orderer tham gia vào quá trình đó.

P: Peer, là điểm tương tác giữa các thành viên trong tổ chức tương ứng với kênh, mọi hành động của người dùng đều phải đi qua peer.

S: Smart Contract (Chaincode) được cài đặt trên kênh, định nghĩa rõ các struct, các hành động mà người dùng có thể thực hiện để tương tác trạng thái của struct được lưu trong sổ cái. Ví dụ 1 struct như sau

type Car struct {
	CarID                string
    OwnerID              string
	Description          string
}

L: Ledger ( Sổ cái ), lưu trữ trạng thái của các đối tượng. Ví dụ :

car01 := Car{CarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" }

Đối tượng car01 sẽ được lưu vào sổ cái dưới dạng key-value, key được xác định như thế nào thì tùy thuộc vào người code Smart Contract, còn value là giá trị của car01 được đưa về dạng []byte. Đương nhiên là cách lưu trữ của sổ cái L là lưu trữ theo kiểu blockchain, còn có thêm bước mã hóa hay xử lý gì cho cặp giá trị này không thì mình không biết, cái này phải hỏi IBM             </div>
            
            <div class=

0