Hyperledger Fabric Là Gì
Hyperledger Fabric là gì? mày mò về technology Blockchain
Giới thiệu Hyperledger Fabric. Kết cấu của một mạng Hyperledger Fabric
1. Reviews về Hyperledger Fabric
Như bản thân đã trình làng ở bài 1, Public Blockchain là một mạng mà ai cũng có thể tham gia, cửa hàng với mạng cùng truy vấn dữ liệu, điều này khiến một số tổ chức không ưng ý vì bọn họ không muốn công khai các số liệu hoạt động của mình. Phương diện khác, nhiều phần các tổ chức chỉ cần đặc tính cấp thiết 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 sở hữu một quy trình nghiệp vụ không giống nhau nên việc sử dụng Public Blockchain là không quan trọng và thiếu riêng biệt tư.
Bạn đang xem: Hyperledger fabric là gì
Trong khi những mạng Public Blockchain vẫn dần điều chỉnh để cân xứng hơn cùng với yêu mong riêng bốn của thị phần thì Hyperledger Fabric được sinh ra để làm việc đấy.
Hyperedger Fabriclà 1 trong 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 vị ông lớnIBM.
Hyperledger Fabric cómodularity( tính mô đun) không hề nhỏ nên nó cho phép các công ty lớn dễ dàngplug and playđể desgin một vận dụng Private Blockchain tương xứng các yêu mong nghiệp vụ của mình .
Phiên bạn dạng mới tuyệt nhất của Hyperledger Fabric tại thời điểm viết bài bác này là 2.0.0-alpha.
Đến đây, hầu như người rất có thể hiểu rằng nói Hyperledger Fabric là một trong những mạng Private Blockchain cũng đúng, hay một Framework để thiết kế Private Blockchain cũng đúng.
2. Phong cách xây dựng 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ợp các tổ chức gồm vai trò khăng khăng trong thuộc một tiến trình kinh doanh. Ví dụ, vào một channel về giao thương xe hơi sẽ gồm bao gồm 2 tổ chức triển khai là : Nhà cấp dưỡng xe hơi, hãng sản xuất xe hơi.
CC: Channel Configuration ( cấu hình của kênh ).
R: Organization ( tổ chức ).
O: Orderer Node: giả dụ như vào Publuc Blockchain, toàn bộ các node của mạng đông đảo tham gia vào quá trình đồng thuận, thì ngơi nghỉ Hyperledger Fabric chỉ có Orderer gia nhập vào quy trình đó.
P: Peer, là điểm tương tác giữa những thành viên trong tổ chức tương ứng với kênh, mọi hành vi của người tiêu dùng đều phải đi qua peer.
S: Smart Contract (Chaincode) được cài bỏ lên trên kênh, khái niệm rõ các struct, các hành vi mà người dùng có thể thực hiện tại để shop trạng thái của struct được lưu trong sổ cái. Ví dụ như 1 struct như sau
type car struct CarID string OwnerID stringDescription stringL: Ledger ( Sổ chiếc ), tàng trữ trạng thái của những đối tượng. Lấy một ví dụ :
car01 := CarCarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" Đối tượngcar01sẽ được lưu lại vào sổ chiếc dưới dạngkey-value,keyđược khẳng định như nỗ lực nào thì tùy thuộc vào người code Smart Contract, cònvaluelà quý hiếm củacar01được đưa về dạng <>byte. Đương nhiên là cách tàng trữ của sổ mẫu L là lưu trữ theo giao diện blockchain, còn tồn tại thêm cách mã hóa hay cách xử trí gì cho cặp giá chỉ trị này không thì mình ko biết, dòng này cần hỏi IBM

Hình trên là sơ khởi của một mạng N. Gồm bao gồm một Orderer Node O4, 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 trị mạng N và thông tin này được lưu lại trong cấu hình mạng NC4, node CA4 có nhiệm vụ phát hành identity cho người dùng hoặc peer hoặc application tới từ tổ chức R4.
Như vậy, đùng một vạc chả hiểu từ đâu ra lộ diện R4 hỗ trợ một Orderer O4 mang đến mạng, mọi hành động sau này như thêm tổ chức triển khai vào vào mạng, thêm kênh, thiết đặt chaincode mang lại kênh, khởi chế tạo chaincode, yêu thương cầu tiến hành chaincode,... Những phải đi qua Orderer O4 này ( các bạn sẽ thấy rõ vấn đề đó ở những bài sau ). Với trong Hyperledger Fabric, tất cả các hành động trên gần như là transaction ( thanh toán ).
Bước 2. Thêm một nhóm chức quản trị

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

Một quản ngại trị viên mạng (R1 hoặc R4) tư tưởng một consortium X1 bao gồm chứa hai thành viên, R1 và R2. Định nghĩa của consortium này được lưu trữ trong cấu hình mạng NC4 và sẽ tiến hành sử dụng sinh hoạt giai đoạn trở nên tân tiến mạng tiếp theo. CA2 là Cơ quan cấp cho identity cho người dùng, node, application tới từ tổ chức R2 này. Một consortium có con số tổ chức tùy ý, tại đây mình thực hiện trường hợp đơn giản nhất là 2.
Bước 4. Sinh sản một channel cho 1 consortium
Kênh là 1 trong phương tiện truyền thông media tin mà trải qua đó những thành viên của một consortium rất có thể giao tiếp cùng với nhau. Bao gồm thể có khá nhiều consortium và những kênh trong một mạng, tuy nhiên mỗi consortium chỉ tất cả một kênh.
Xem thêm:

Một kênh C1 vẫn được tạo cho consortium X1. Thông số kỹ thuật của kênh C1 được lưu 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ủ bởi R1 và R2, 2 tổ chức này còn có quyền ngang nhau so với C1. R4 không có quyền gì vào CC1.
Kênh C1 cung cấp một vẻ ngoài liên lạc riêng cho những tổ chức vào X1. Chúng ta cũng có thể thấy kênh C1 mới chỉ được liên kết với Ordering O4. Trong cách tiếp theo, chúng ta sẽ kết nối các thành phần như Application với Peer.
Mặc cho dù kênh C1 là 1 phần của mạng N, mà lại nó tách biệt trọn vẹn với N. Cũng chú ý rằng tổ chức R4 không phía trong kênh này - kênh này chỉ dành riêng cho xử lý giao dịch giữa R1 với R2. Trong bước trước, bọn họ đã thấy phương pháp R4 đã cấp quyền quản trị mạng đến R1, rồi R1 tạo thành một consortium. đọc ngầm rằng R4 đã và đang cấp quyền đến R1 tạo ra kênh! vào sơ vật này, có thể là tổ chức R1 hoặc R4 đã tạo nên kênh C1. Một lần nữa, xem xét rằng một kênh rất có thể có bất kỳ số lượng tổ chức nào được kết nối với nó - mình rước ví dụ đơn giản nhất là 2.
Cấu hình kênh CC1 chứa những quy định về quyền mà R1 với R2 có trên kênh C1 - với như bọn họ thấy R4 không tồn tại quyền gì vào kênh này cả. R4 chỉ có thể tương tác với C1 nếu bọn chúng được thêm vì chưng R1 hoặc R2 vào thông số kỹ thuật kênh CC1. R4 cũng thiết yếu tự thêm bản thân vào kênh C1 - nó đề nghị và chỉ được tiến hành vởi R1 với R2.
Đến trên đây ta hoàn toàn có thể thấy rằng tính riêng tư của Hyperledger Fabric tới từ Kênh. Hyperledger Fabric rất bạo gan về sự việc này, vì chưng nó chất nhận được các tổ chức share cơ sở hạ tầng tuy nhiên lại giữ lại được sự riêng tư của mình.
Mọi update cho thông số kỹ thuật mạng NC4 tự thời điểm này trở đi sẽ không có tác động trực tiếp đến thông số kỹ thuật kênh CC1; ví dụ: nếu định nghĩa consortium X1 bị nuốm đổi, nó đã không tác động đến những thành viên của kênh C1. Vị đó, những kênh rất có lợi vì chúng có thể chấp nhận được liên lạc riêng biệt giữa các tổ chức cấu thành kênh. Hơn nữa, tài liệu trong một kênh được giải pháp ly hoàn toàn với phần sót lại của mạng, tương tự như các kênh khác.
Bước 5. Peer với Ledger
Bây giờ, ta đã xem cách sử dụng kênh để kết nối các tổ chức lại cùng với nhau.

Một peer P1 sẽ tham gia kênh C1. Từng Kênh sẽ chỉ tất cả một sổ dòng duy nhất, mỗi Peer sẽ tàng trữ 1 phiên bản sao của sổ cái này để người dùng từ tổ chức 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 sao của sổ mẫu L1 để người tiêu dùng từ tổ chức R1 truy vấn cập.
L1 đượcphysically hostedtrên peer P1, nhưnglogically hostedtrên kênh C1
Lúc này, P1 cùng O4 có thể giao tiếp cùng với nhau trải qua kênh C1.
Mọi nhân tố từ người tiêu dùng đến peer đều cần có 1 identity. Vì thế P1 là cũng có thể có một identity (kiểu X.509 - chưa cần thân thương X.509 là gì đâu ) bởi vì CA1 cấp, xác minh P1 thuộc tổ chức R1.
Khi P1 được start, nó có thể tham gia kênh C1 bằng cách gửi yêu ước tham gia O4. Lúc O4 nhận được yêu ước tham gia này, nó sử dụng cấu hình kênh CC1 để khẳng định quyền của P1 trên kênh này. Ví dụ, CC1 khẳng định xem P1 hoàn toàn có thể đọc với / hoặc ghi thông tin vào sổ mẫu L1 hay không.
Bước 6. Application cùng Smart Contract ( Chaincode)
Bây giờ đồng hồ kênh C1 gồm một sổ mẫu trên đó, bạn cũng có thể bắt đầu kết nối những application để áp dụng một nghiệp vụ marketing được khái niệm trong smart contract.

Một smart contract S5 đã có được cài để lên trên P1. Application A1 của tổ chức triển khai R1 có thể sử dụng S5 để truy vấn vào sổ loại L1 trải qua peer P1. Trong kênh bây giờ có A1, P1 cùng O4.
Cũng y như các peer, orderer và tín đồ dùng, một application sẽ có được một identity được link với tổ chức triển khai tương ứng. Ví dụ điển hình A1 gồm một identity được CA1 cung ứng để xác định A1 ở trong về R1.
Bây giờ dường như như A1 có thể truy cập vào sổ cái L1 trực tiếp trải qua P1, tuy nhiên trên thực tế, toàn bộ quyền truy vấn được quản lý thông qua Smart Contract S5. Hiểu đơn giản là S5 định nghĩa tất cả các use case truy cập vào sổ dòng L1; S5 cung cấp một tập hợp các cách xác định ví dụ mà theo đó sổ cái L1 rất có thể được tróc nã vấn hoặc update hoặc update như cầm nào, bởi vì ai. Nói nắm lại, vận dụng khách A1 phải trải qua Smart Contract S5 để liên tưởng với sổ cái L1!
Smart Contract có thể được chế tạo ra bởi các nhà cách tân và phát triển ứng dụng trong những tổ chức để triển khai quy trình marketing được share bởi những thành viên của consortium.
Một kênh bao gồm thể có nhiều Smart Contract.
Bước 6.1 cài một smart contract
Sau khi smart contract S5 được code xong, quản trị viên trong tổ chức triển khai R1 phải thiết lập nó vào peer P1. Đây là một vận động đơn giản; sau đó, P1 có thể thấy súc tích triển khai của S5 - code mà lại nó áp dụng để truy vấn vào sổ mẫu L1.
Khi một tổ chức có nhiều peer trên một kênh, họ có thể chọn những peer mà họ muốn để thiết lập smart contract; bọn họ không bắt buộc phải setup một smart contarct trên đa số peer.
Bước 6.2 Khởi tạo một smart contract
Để những thành phần khác được liên kết với kênh C1 biết về smart contract vừa được cài đặt; ta phải tạo nó trên kênh C1. Trong lấy một ví dụ này, chỉ tất cả một peer P1, một quản trị viên trong tổ chức triển khai R1 phải tạo lập S5 trên kênh C1 bằng phương pháp sử dụng P1. Sau khi khởi tạo, hầu như thành phần trên kênh C1 phần lớn biết về sự việc tồn trên của S5; điều đó có nghĩa là hiện nay S5 rất có thể được gọi bởi ứng dụng khách A1.
Lưu ý rằng tuy nhiên mọi yếu tố trên kênh hiện hoàn toàn có thể truy cập S5, tuy nhiên chúng quan trọng thấy súc tích chương trình của S5. Điều này vẫn được giữ riêng tư đối với những peer đã setup nó; trong lấy ví dụ như này có nghĩa là P1. Về phương diện khái niệm, điều này có nghĩa là chỉ tất cả interface của smart contract được khởi tạo. Và, setup một smart contract hiểu đơn giản dễ dàng là nó được physically hosted bên trên một peer, trong những lúc việc khởi tạo ra smart contract phát âm là nó được logically hosted bên trên kênh.
Endorsement policy ( cơ chế chứng thực )
Phần đặc biệt nhất của thông tin phải đượctại thời gian khởi tạo ra là một chính sách chứng thực. Nó tế bào tả các tổ chức nào đề xuất phê duyệt các giao dịch trước khi chúng được các tổ chức khác gật đầu vào bạn dạng sao của sổ cái. ĐỊnh nghĩa hình dạng như R1 & R2 hoặc R1 OR R2.
Invoking Smart Contract ( gọi hợp đồng xuất sắc )
Khi một smart contract được cài bỏ trên một peer cùng được khởi chế tạo ra trên một kênh, nó hoàn toàn có thể được gọi vày một application. Các application thực hiện điều này bằng cách gửi đề xuất giao dịch cho những peer thuộc về của những tổ chức được hướng dẫn và chỉ định bởi chế độ chứng thực. Đề xuất thanh toán giao dịch đóng sứ mệnh là tham số nguồn vào cho smart contract ( thương hiệu function, tham số nguồn vào của function đó ), sử dụng nó để tạo thành phản hồi giao dịch thanh toán được chứng thực, được trả lại do peer đến application. Bản thân sẽ trình bày về transaction flow trong bài xích sau.
Xem thêm: Swing Trader Là Gì ? Đặc Điểm Của Swing Trading Tìm Hiểu Swing Trading Là Gì
Bước 7. Network completed

Việc thêm các peer P2 với A2, CA2, cài đặt Smart contract mang đến P2 tương tự như đối với R1.
Tham khảo:https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html