Hyperledger fabric là gì
Hyperledger Fabric là gì? Tìm phát âm về technology Blockchain
Giới thiệu Hyperledger Fabric. Cấu trúc của một mạng Hyperledger Fabric
1. Giới thiệu về Hyperledger Fabric
Nhỏng mình đã trình làng sống Bài 1, Public Blockchain là 1 trong những mạng mà ai cũng có thể tsi gia, liên quan với mạng cùng truy vấn tài liệu, vấn đề đó khiến một số Tổ chức không ưa thích bởi vì bọn họ không thích công khai những số liệu hoạt động vui chơi của bản thân. Mặt không giống, phần nhiều các tổ chức triển khai chỉ việc công dụng cấp thiết sửa thay đổi của Blockchain, tuyệt trường hợp một các những Tổ chức cùng sản xuất một mạng thì bọn họ chỉ việc "tính phân tán" vào phạm vi những Tổ chức đấy cùng với mỗi một mạng thì lại sở hữu một tiến trình nghiệp vụ khác nhau nên việc thực hiện Public Blockchain là không cần thiết với thiếu thốn riêng rẽ bốn.
Bạn đang xem: Hyperledger fabric là gì
Trong Khi các mạng Public Blockchain đã dần điều chỉnh nhằm tương xứng rộng cùng với đề xuất riêng biệt tứ của thị trường thì Hyperledger Fabric được ra đời để triển khai Việc đấy.
Hyperedger Fabriclà 1 vào 5 Framework về Blockchain phía trong chiến lượcHyperledger UmbrellacủaLinux Foundationgồm : Hyperledger Indy, Hyperledger Fabric, Hyperledger Iroha, Hyperledger Sawtooth, Hyperledger Burror. Điều đặc biệt là Hyperledger Fabric được contributed bởi ông lớnIBM.
Hyperledger Fabric cómodularity( tính mô đun) khá cao cho nên nó có thể chấp nhận được các Doanh nghiệp dễ dàng dàngplug & playđể thi công một áp dụng Private Blockchain phù hợp các những hiểu biết nhiệm vụ của chính mình .
Phiên bạn dạng mới nhất của Hyperledger Fabric trên thời gian viết bài này là 2.0.0-alpha.
Đến phía trên, số đông fan có thể hiểu rõ rằng nói Hyperledger Fabric là 1 trong những mạng Private Blockchain cũng như, hay 1 Framework nhằm thiết kế Private Blockchain cũng đúng.
2. Kiến trúc của một mạng Hyperledger Fabric.
2.1 Kiến trúc dễ dàng và đơ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òa hợp những tổ chức triển khai có vai trò khăng khăng vào và một quy trình kinh doanh. lấy ví dụ như, vào một channel về giao thương mua bán xe pháo hơi đang bao gồm bao gồm 2 tổ chức triển khai là : Nhà cấp dưỡng xe pháo hơi, Nhà phân pân hận xe hơi.
CC: Channel Configuration ( Cấu hình của kênh ).
R: Organization ( Tổ chức ).
O: Orderer Node: Nếu nlỗi trong Publuc Blockchain, tất cả các node của mạng phần đông tđắm say gia vào quy trình đồng thuận, thì sống Hyperledger Fabric chỉ bao gồm Orderer tyêu thích gia vào quá trình đó.
P: Peer, là điểm hệ trọng giữa những thành viên vào tổ chức khớp ứng cùng với kênh, số đông hành động của người tiêu dùng phần đa đề nghị trải qua peer.
S: Smart Contract (Chaincode) được download bỏ trên kênh, có mang rõ các struct, các hành vi mà người dùng hoàn toàn có thể tiến hành nhằm liên can tinh thần của struct được lưu lại trong sổ loại. lấy ví dụ như 1 struct nlỗi sau
type Car struct CarID string OwnerID stringDescription stringL: Ledger ( Sổ cái ), lưu trữ tinh thần của các đối tượng người tiêu dùng. lấy ví dụ như :
car01 := CarCarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" Đối tượngcar01sẽ được lưu lại vào sổ loại bên dưới dạngkey-value,keyđược xác định ra làm sao thì tùy thuộc vào người code Smart Contract, cònvaluelà cực hiếm củacar01được đem về dạng <>byte. Đương nhiên là cách lưu trữ của sổ mẫu L là tàng trữ theo kiểu blockchain, còn tồn tại thêm bước mã hóa tốt giải pháp xử lý gì cho cặp quý giá này sẽ không thì bản thân lần chần, tính năng này phải hỏi IBM

Hình trên là sơ khởi của một mạng N. Gồm gồm một Orderer Node O4, bên trên đó chạy một dịch vụ mang tên là Ordering Services, tổ chức triển khai R4 nắm giữ quyền quản lí trị mạng N và thông tin này được lưu lại vào thông số kỹ thuật mạng NC4, node CA4 gồm trọng trách phát hành identity cho tất cả những người cần sử dụng hoặc peer hoặc application tới từ tổ chức R4.
Bởi vậy, đùng một phân phát chả hiểu trường đoản cú đâu ra xuất hiện R4 hỗ trợ một Orderer O4 mang đến mạng, đa số hành động về sau nlỗi thêm tổ chức vào vào mạng, thêm kênh, cài đặt chaincode cho kênh, khởi chế tác chaincode, thử khám phá triển khai chaincode,... phần đông đề xuất đi qua Orderer O4 này ( các bạn sẽ thấy rõ vấn đề đó sống những bài bác sau ). Và trong Hyperledger Fabric, tất cả những hành động trên rất nhiều là transaction ( giao dịch thanh toán ).
Bước 2. Thêm một nhóm chức quản ngại trị

NC4 lúc đầu được thông số kỹ thuật để chỉ cho phép người tiêu dùng R4 có quyền cai quản trị trên mạng. Trong công đoạn này, bản thân vẫn thêm một nhóm chức R1 vào mạng và có thể chấp nhận được R1 gồm quyền quản ngại trị như R4:
Tổ chức R4 cập nhật thông số kỹ thuật mạng NC4 để thêm tổ chức R1 có tác dụng cai quản trị viên. Sau thời đặc điểm này, R1 cùng R4 có quyền ngang nhau so với cấu hình mạng.
Ta thấy CA1 cũng khá được cung cấp, CA1 đã cung cấp indentity cho tất cả những người sử dụng của tổ chức R1. Sau thời đặc điểm đó khắp cơ thể cần sử dụng từ bỏ R1 và người dùng trường đoản cú R4 đều sở hữu quyền cai quản trị mạng.
Mặc dù O4 đang làm việc trên một cơ sở hạ tầng làm sao kia của R4 tuy vậy R1 cũng có quyền như R4 so với O4.
Mình sẽ trình diễn về Ordering service ở đa số bài bác sau, bây giờ chúng ta chỉ việc gọi O4 nlỗi một điểm quản ngại trị tất cả những hoạt động vui chơi của gần như thành phía bên trong mạng.
Bước 3. Định nghĩa 1 consortium
Hiện tại mạng rất có thể được làm chủ vày R1 với R4, và bao gồm khôn cùng ít hành động nhưng mà có thể triển khai được đối với mạng. Để rất có thể mapping các chuyển động kinh doanh vào mạng thì điều thứ nhất bọn họ buộc phải làm là quan niệm mộtconsortium( đội - tập đoàn lớn ). Từ này còn có nghĩa đen là 1 trong những đội các tổ chực thuộc phía bên trong một chuyển động kinh doanh, ví dụTổ chức sản xuấtô tô,Tổ chức phân phốixe hơi được tiếp tế bởiTổ chức sản xuấtmang lại tayNgười tiêu dùng.

Một quản lí trị viên mạng (R1 hoặc R4) có mang một consortium X1 có cất nhị member, R1 và R2. Định nghĩa của consortium này được tàng trữ vào cấu hình mạng NC4 và sẽ được sử dụng làm việc quá trình trở nên tân tiến mạng tiếp sau. CA2 là Cơ quan liêu cung cấp identity cho người cần sử dụng, node, application đến từ tổ chức triển khai R2 này. Một consortium tất cả con số tổ chức triển khai tùy ý, ở chỗ này bản thân thực hiện ngôi trường thích hợp dễ dàng tuyệt nhất là 2.
Cách 4. Tạo một channel cho một consortium
Kênh là một phương tiện đi lại truyền thông media tin nhưng trải qua kia những thành viên của một consortium rất có thể giao tiếp cùng nhau. cũng có thể có khá nhiều consortium và những kênh vào một mạng, dẫu vậy từng consortium chỉ bao gồm một kênh.
Xem thêm: Chuyển Tiền Từ Ngân Hàng Vào Paypal, 5 Cách Nạp Tiền Vào Tài Khoản Paypal Tại Việt Nam

Một kênh C1 đã có làm cho consortium X1. Cấu hình của kênh C1 được lưu giữ trong cấu hình kênh CC1, tách biệt hoàn toàn với cấu hình mạng NC4. CC1 được làm chủ vị R1 và R2, 2 tổ chức triển khai này còn có quyền tương đương đối với C1. R4 không tồn tại quyền gì trong CC1.
Kênh C1 hỗ trợ một cơ chế liên hệ riêng rẽ cho các tổ chức triển khai vào X1. Chúng ta có thể thấy kênh C1 bắt đầu chỉ được liên kết cùng với Ordering O4. Trong bước tiếp theo, họ vẫn kết nối những yếu tắc như Application với Peer.
Mặc cho dù kênh C1 là 1 phần của mạng N, cơ mà nó bóc tách biệt hoàn toàn cùng với N. Cũng chú ý rằng tổ chức R4 ko phía bên trong kênh này - kênh này chỉ dành cho giải pháp xử lý thanh toán thân R1 cùng R2. Trong bước trước, họ đã thấy phương pháp R4 đã cấp quyền quản lí trị mạng mang đến R1, rồi R1 tạo ra một consortium. Hiểu ngầm rằng R4 đã và đang cung cấp quyền mang lại R1 chế tạo kênh! Trong sơ trang bị này, có thể là tổ chức triển khai R1 hoặc R4 sẽ tạo ra kênh C1. Một đợt tiếp nhữa, để ý rằng một kênh hoàn toàn có thể bao gồm bất kỳ số lượng tổ chức làm sao được kết nối cùng với nó - bản thân mang ví dụ đơn giản dễ dàng độc nhất là 2.
Cấu hình kênh CC1 cất những phép tắc về quyền cơ mà R1 cùng R2 bao gồm trên kênh C1 - với nlỗi bọn họ thấy R4 không tồn tại quyền gì trong kênh này cả. R4 chỉ rất có thể thúc đẩy cùng với C1 nếu như chúng được thêm do R1 hoặc R2 vào cấu hình kênh CC1. R4 cũng bắt buộc trường đoản cú thêm bản thân vào kênh C1 - nó bắt buộc còn chỉ được tiến hành vởi R1 với R2.
Đến phía trên ta rất có thể thấy rằng tính riêng rẽ tứ của Hyperledger Fabric tới từ Kênh. Hyperledger Fabric cực kỳ mạnh khỏe về sự việc này, vị nó chất nhận được những tổ chức triển khai chia sẻ cơ sở hạ tầng dẫu vậy lại giữ lại được sự riêng bốn của bản thân.
Mọi update mang lại thông số kỹ thuật mạng NC4 tự thời điểm này trlàm việc đi vẫn không có tác động trực kế tiếp thông số kỹ thuật kênh CC1; ví dụ: nếu quan niệm consortium X1 bị biến đổi, nó sẽ không còn tác động cho các member của kênh C1. Do đó, các kênh rất bổ ích vì chưng bọn chúng cho phép liên hệ riêng biệt giữa những tổ chức triển khai cấu thành kênh. ngoài ra, dữ liệu vào một kênh được phương pháp ly hoàn toàn cùng với phần sót lại của mạng, cũng như những kênh tiếp thị khác.
Bước 5. Peer cùng Ledger
Bây tiếng, ta đang xem biện pháp thực hiện kênh nhằm kết nối các tổ chức triển khai lại với nhau.

Một peer P1 đã tsay đắm gia kênh C1. Mỗi Kênh đang chỉ có một sổ dòng duy nhất, mỗi Peer đã tàng trữ 1 phiên bản sao của sổ đặc điểm này để người dùng từ bỏ tổ chức triển khai khớp ứng truy cập. Chẳng hạn như P1 của tổ chức triển khai R1 tàng trữ trữ bạn dạng sao của sổ chiếc L1 nhằm người tiêu dùng từ tổ chức R1 truy vấn.
L1 đượcphysically hostedtrên peer P1, nhưnglogically hostedtrên kênh C1
Hiện nay, P1 và O4 rất có thể giao tiếp với nhau trải qua kênh C1.
Mọi nguyên tố tự người dùng mang lại peer đa số cần phải có 1 identity. Vì chũm P1 là cũng có thể có một identity (hình dáng X.509 - không nên quyên tâm X.509 là gì đâu ) vày CA1 cấp cho, khẳng định P1 nằm trong tổ chức triển khai R1.
Lúc P1 được start, nó hoàn toàn có thể tmê mệt gia kênh C1 bằng phương pháp gửi kinh nghiệm tmê man gia O4. lúc O4 cảm nhận những hiểu biết tyêu thích gia này, nó sử dụng thông số kỹ thuật kênh CC1 để xác định quyền của P1 trên kênh này. lấy ví dụ, CC1 xác minh coi P1 rất có thể phát âm và / hoặc ghi biết tin vào sổ loại L1 hay là không.
Bước 6. Application và Smart Contract ( Chaincode)
Bây giờ kênh C1 gồm một sổ loại bên trên đó, chúng ta có thể bắt đầu liên kết những application nhằm sử dụng một nhiệm vụ kinh doanh được quan niệm vào smart contract.

Một smart contract S5 đã có cài để lên trên P1. Application A1 của tổ chức triển khai R1 hoàn toàn có thể thực hiện S5 để truy vấn vào sổ cái L1 thông qua peer P1. Trong kênh hôm nay gồm A1, P1 với O4.
Cũng hệt như các peer, orderer cùng người tiêu dùng, một application sẽ sở hữu một identity được link cùng với tổ chức triển khai tương ứng. Chẳng hạn A1 có một identity được CA1 cung ứng nhằm xác minh A1 ở trong về R1.
Bây tiếng dường như như A1 có thể truy vấn vào sổ dòng L1 thẳng trải qua P1, tuy nhiên bên trên thực tế, tất cả quyền truy cập được thống trị trải qua Smart Contract S5. Hiểu đơn giản dễ dàng là S5 khái niệm toàn bộ những use case truy vấn vào sổ loại L1; S5 hỗ trợ một tập vừa lòng các giải pháp xác minh ví dụ mà lại Từ đó sổ chiếc L1 hoàn toàn có thể được truy tìm vấn hoặc update hoặc cập nhật ra làm sao, bởi vì ai. Nói kết luận, vận dụng khách A1 buộc phải trải qua Smart Contract S5 để liên quan với sổ dòng L1!
Smart Contract hoàn toàn có thể được tạo ra bởi các bên cải cách và phát triển áp dụng trong những tổ chức nhằm thực hiện quá trình kinh doanh được chia sẻ bởi những member của consortium.
Một kênh có thể có rất nhiều Smart Contract.
Cách 6.1 Cài một smart contract
Sau Lúc smart contract S5 được code kết thúc, quản trị viên vào tổ chức triển khai R1 yêu cầu thiết lập nó vào peer P1. Đây là một chuyển động đối chọi giản; sau đó, P1 có thể thấy logic tiến hành của S5 - code mà nó sử dụng để truy cập vào sổ dòng L1.
Lúc một tổ chức có khá nhiều peer trên một kênh, họ có thể lựa chọn những peer nhưng họ muốn nhằm setup smart contract; họ không cần phải setup một smart contarct bên trên những peer.
Cách 6.2 Khởi tạo thành một smart contract
Để những yếu tắc không giống được liên kết cùng với kênh C1 biết về smart contract vừa mới được sở hữu đặt; ta phải khởi tạo nó trên kênh C1. Trong ví dụ này, chỉ có một peer P1, một quản ngại trị viên vào tổ chức R1 phải tạo S5 trên kênh C1 bằng cách áp dụng P1. Sau Khi khởi tạo nên, mọi yếu tắc bên trên kênh C1 đông đảo biết về việc trường tồn của S5; điều này tức là hiện thời S5 rất có thể được gọi vị ứng dụng khách A1.
Lưu ý rằng tuy vậy phần đông nguyên tố bên trên kênh hiện hoàn toàn có thể truy vấn S5, dẫu vậy chúng quan trọng thấy lô ghích công tác của S5. Vấn đề này vẫn được duy trì riêng biệt tư so với rất nhiều peer vẫn thiết đặt nó; vào ví dụ này có nghĩa là P1. Về mặt quan niệm, điều đó có nghĩa là chỉ bao gồm interface của smart contract được khởi chế tạo ra. Và, thiết lập một smart contract gọi đơn giản là nó được physically hosted trên một peer, trong những khi việc khởi tạo nên smart contract đọc là nó được logically hosted bên trên kênh.
Endorsement policy ( cơ chế xác thực )
Phần quan trọng đặc biệt độc nhất vô nhị của báo cáo nên đượctrên thời điểm khởi chế tạo ra là một chính sách xác thực. Nó biểu thị những tổ chức triển khai nào đề nghị phê chú ý các giao dịch thanh toán trước lúc bọn chúng được những tổ chức triển khai không giống đồng ý vào bản sao của sổ chiếc. ĐỊnh nghĩa loại như R1 AND R2 hoặc R1 OR R2.
Invoking Smart Contract ( Hotline vừa lòng đồng tối ưu )
khi một smart contract được tải để lên một peer cùng được khởi tạo thành trên một kênh, nó hoàn toàn có thể được Điện thoại tư vấn bởi một application. Các application triển khai điều này bằng cách gửi đề xuất giao dịch cho những peer thuộc sở hữu của các tổ chức triển khai được hướng dẫn và chỉ định vì chưng cơ chế xác nhận. Đề xuất thanh toán vào vai trò là tmê man số nguồn vào mang lại smart contract ( tên function, ttê mê số đầu vào của function kia ), áp dụng nó để tạo thành ý kiến thanh toán được xác nhận, được trả lại vì chưng peer đến application. Mình sẽ trình bày về transaction flow trong bài bác sau.
Bước 7. Network completed

Việc thêm các peer P2 với A2, CA2, setup Smart contract mang đến P2 giống như nhỏng so với R1.
Tmê mẩn khảo:https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html
Chuyên mục: Công nghệ tài chính