Hyperledger fabric là gì

Hyperledger Fabric là gì? Tìm phát âm về công nghệ 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

Nlỗi mình đã giới thiệu nghỉ ngơi Bài 1, Public Blockchain là 1 mạng nhưng mà người nào cũng có thể tmê mệt gia, liên quan với mạng cùng truy tìm vấn dữ liệu, điều đó khiến một số Tổ chức ko chuộng bởi vì chúng ta không thích công khai minh bạch những số liệu hoạt động của bản thân. Mặt không giống, phần lớn những tổ chức triển khai chỉ cần đặc tính cần yếu sửa đổi của Blockchain, xuất xắc trường hợp một các các Tổ chức thuộc tạo ra một mạng thì bọn họ chỉ cần "tính phân tán" trong phạm vi những Tổ chức đấy cùng cùng với từng một mạng thì lại sở hữu một các bước nhiệm vụ không giống nhau nên việc áp dụng Public Blockchain là ko quan trọng và thiếu riêng rẽ tứ.

Bạn đang xem: Hyperledger fabric là gì

Trong Khi các mạng Public Blockchain vẫn dần dần điều chỉnh để phù hợp rộng cùng với đề nghị riêng rẽ tứ của Thị phần thì Hyperledger Fabric được hiện ra để triển khai việc đấy.

Hyperedger Fabriclà 1 trong 5 Framework về Blockchain phía trong chiến lượcHyperledger UmbrellacủaLinux Foundationcó : 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ông hề nhỏ vì thế nó được cho phép các Doanh nghiệp dễ dàng dàngplug and playđể xây dừng một ứng dụng Private Blockchain cân xứng các đề xuất nghiệp vụ của chính mình .

Phiên bản tiên tiến nhất của Hyperledger Fabric tại thời điểm viết bài xích này là 2.0.0-altrộn.

Đến đây, hầu hết fan rất có thể hiểu rằng nói Hyperledger Fabric là một trong mạng Private Blockchain cũng như, hay 1 Framework để thành lập Private Blockchain cũng giống.

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

2.1 Kiến trúc đơn giản và dễ dàng 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 những tổ chức triển khai tất cả mục đích nhất mực vào và một quy trình sale. lấy ví dụ như, trong một channel về giao thương xe cộ tương đối vẫn bao gồm bao gồm 2 tổ chức triển khai là : Nhà cung ứng xe cộ tương đối, Nhà phân phối xe cộ tương đối.

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

R: Organization ( Tổ chức ).

O: Orderer Node: Nếu nlỗi vào Publuc Blockchain, tất cả các node của mạng hầu hết tsay đắm gia vào quá trình đồng thuận, thì ở Hyperledger Fabric chỉ có Orderer tmê man gia vào quá trình đó.

P: Peer, là vấn đề cửa hàng thân những member vào tổ chức tương ứng cùng với kênh, đầy đủ hành động của người dùng hầu như phải trải qua peer.

S: Smart Contract (Chaincode) được mua để trên kênh, quan niệm rõ các struct, những hành vi nhưng người tiêu dùng hoàn toàn có thể triển khai để ảnh hưởng trạng thái của struct được lưu giữ trong sổ dòng. lấy ví dụ 1 struct nhỏng sau

type Car struct CarID string OwnerID stringDescription stringL: Ledger ( Sổ mẫu ), tàng trữ tâm lý của những đối tượng người sử dụng. lấy một ví dụ :

car01 := CarCarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" Đối tượngcar01sẽ tiến hành lưu giữ vào sổ mẫu dưới dạngkey-value,keyđược xác định như thế nào thì tùy nằm trong vào fan code Smart Contract, cònvaluelà cực hiếm củacar01được đem lại dạng <>byte. Đương nhiên là bí quyết tàng trữ của sổ loại L là lưu trữ theo phong cách blockchain, còn có thêm bước mã hóa tuyệt xử trí gì cho cặp quý giá này sẽ không thì bản thân phân vân, đặc điểm này yêu cầu hỏi IBM

*

Hình bên trên là sơ khởi của một mạng N. Gồm bao gồm một Orderer Node O4, bên trên kia chạy một hình thức mang tên là Ordering Services, tổ chức R4 sở hữu quyền cai quản trị mạng N cùng công bố này được giữ vào thông số kỹ thuật mạng NC4, node CA4 tất cả trách nhiệm xây dừng identity cho những người sử dụng hoặc peer hoặc application tới từ tổ chức R4.

vì thế, đùng một phạt chả phát âm trường đoản cú đâu ra xuất hiện thêm R4 cung cấp một Orderer O4 đến mạng, đầy đủ hành động sau này nhỏng thêm tổ chức triển khai vào vào mạng, thêm kênh, thiết lập chaincode cho kênh, khởi chế tạo ra chaincode, kinh nghiệm tiến hành chaincode,... phần đông nên trải qua Orderer O4 này ( các bạn sẽ thấy rõ điều đó sống những bài sau ). Và vào Hyperledger Fabric, toàn bộ những hành vi trên đầy đủ là transaction ( giao dịch ).

Cách 2. Thêm một đội chức quản ngại trị

*

NC4 ban sơ được thông số kỹ thuật nhằm chỉ có thể chấp nhận được người dùng R4 có quyền quản ngại trị trên mạng. Trong công đoạn này, bản thân vẫn thêm một đội chức R1 vào mạng với được cho phép R1 tất cả quyền cai quản trị nlỗi R4:

Tổ chức R4 update cấu hình mạng NC4 để thêm tổ chức R1 có tác dụng cai quản trị viên. Sau thời điểm đó, R1 và R4 tất cả quyền ngang nhau đối với thông số kỹ thuật mạng.

Ta thấy CA1 cũng khá được phân phối, CA1 đang cung ứng indentity cho những người cần sử dụng của tổ chức R1. Sau thời đặc điểm đó khắp cơ thể cần sử dụng trường đoản cú R1 và người dùng tự R4 đều phải có quyền quản lí trị mạng.

Mặc cho dù O4 đang làm việc trên một cơ sở hạ tầng nào đó của R4 tuy thế R1 cũng đều có quyền nlỗi R4 so với O4.

Mình vẫn trình diễn về Ordering service làm việc phần nhiều bài bác sau, bây giờ các bạn chỉ cần hiểu O4 như một điểm quản lí trị toàn bộ các hoạt động của đầy đủ thành phần trong mạng.

Bước 3. Định nghĩa 1 consortium

Lúc Này mạng hoàn toàn có thể được cai quản do R1 cùng R4, cùng gồm siêu ít hành động mà hoàn toàn có thể triển khai được so với mạng. Để có thể mapping những chuyển động sale vào mạng thì điều đầu tiên họ buộc phải có tác dụng là quan niệm mộtconsortium( đội - tập đoàn lớn ). Từ này có nghĩa Black là 1 trong những nhóm các tổ chực cùng nằm 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ấtđến tayNgười tiêu dùng.

*

Một quản trị viên mạng (R1 hoặc R4) có mang một consortium X1 gồm đựng nhị member, R1 và R2. Định nghĩa của consortium này được lưu trữ trong thông số kỹ thuật mạng NC4 với sẽ được áp dụng sống quy trình trở nên tân tiến mạng tiếp sau. CA2 là Cơ quan tiền cấp identity cho người dùng, node, application tới từ tổ chức R2 này. Một consortium gồm số lượng tổ chức tùy ý, ở đây mình thực hiện trường vừa lòng đơn giản nhất là 2.

Cách 4. Tạo một channel cho 1 consortium

Kênh là 1 phương tiện truyền thông media tin cơ mà thông qua đó các member của một consortium có thể tiếp xúc cùng nhau. Có thể có nhiều consortium với những kênh trong một mạng, tuy vậy mỗi consortium chỉ gồm một kênh.

Xem thêm: Thông Tin Tiểu Sử Danh Hài Hoài Linh Là Ai Và Vợ Con Hiện Tại Hot Nhất

*

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 thông số kỹ thuật 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ì chưng R1 với R2, 2 tổ chức này có quyền ngang bằng đối với C1. R4 không tồn tại quyền gì trong CC1.

Kênh C1 cung cấp một nguyên lý liên lạc riêng rẽ cho các tổ chức trong X1. Chúng ta có thể thấy kênh C1 bắt đầu chỉ được kết nối cùng với Ordering O4. Trong bước tiếp sau, họ đã kết nối các yếu tắc như Application với Peer.

Mặc cho dù kênh C1 là một phần của mạng N, tuy vậy nó bóc tách biệt trọn vẹn với N. Cũng lưu ý rằng tổ chức R4 không nằm trong kênh này - kênh này chỉ dành riêng cho cách xử lý giao dịch thanh toán giữa R1 cùng R2. Trong bước trước, bọn họ đã thấy cách R4 đang cung cấp quyền quản trị mạng mang đến R1, rồi R1 tạo nên một consortium. Hiểu ngầm rằng R4 cũng đã cấp cho quyền cho R1 chế tác kênh! Trong sơ đồ này, rất có thể là tổ chức R1 hoặc R4 vẫn tạo thành kênh C1. Một đợt tiếp nhữa, lưu ý rằng một kênh rất có thể bao gồm ngẫu nhiên con số tổ chức triển khai làm sao được liên kết cùng với nó - mình lấy ví dụ đơn giản dễ dàng tuyệt nhất là 2.

Cấu hình kênh CC1 cất những lý lẽ về quyền nhưng R1 với R2 có bên trên kênh C1 - cùng như bọn họ thấy R4 không có quyền gì trong kênh này cả. R4 chỉ rất có thể tác động cùng với C1 trường hợp bọn chúng nhận thêm vị R1 hoặc R2 vào thông số kỹ thuật kênh CC1. R4 cũng cấp thiết từ thêm bản thân vào kênh C1 - nó cần và chỉ được triển khai vởi R1 cùng R2.

Đến phía trên ta hoàn toàn có thể thấy rằng tính riêng tư của Hyperledger Fabric đến từ Kênh. Hyperledger Fabric hết sức mạnh dạn về vụ việc này, vì nó cho phép các tổ chức triển khai chia sẻ cơ sở hạ tầng nhưng mà lại duy trì được sự riêng tư của bản thân mình.

Mọi update mang lại thông số kỹ thuật mạng NC4 trường đoản cú thời đặc điểm này trở đi đã không tồn tại ảnh hưởng trực sau đó thông số kỹ thuật kênh CC1; ví dụ: trường hợp tư tưởng consortium X1 bị biến hóa, nó sẽ không ảnh hưởng đến các member của kênh C1. Do đó, các kênh siêu có lợi bởi chúng chất nhận được liên lạc riêng thân những tổ chức cấu thành kênh. Hơn nữa, tài liệu vào một kênh được bí quyết ly trọn vẹn cùng với phần sót lại của mạng, tương tự như những kênh khác.

Cách 5. Peer với Ledger

Bây tiếng, ta vẫn coi cách sử dụng kênh nhằm liên kết những tổ chức lại cùng nhau.

*

Một peer P1 đang tsi gia kênh C1. Mỗi Kênh sẽ chỉ bao gồm một sổ cái duy nhất, từng Peer vẫn lưu trữ 1 bạn dạng sao của sổ đặc điểm này nhằm người dùng từ bỏ tổ chức triển khai tương xứng truy vấn. Chẳng hạn như P1 của tổ chức R1 lưu trữ trữ phiên bản sao của sổ dòng L1 để người dùng từ tổ chức triển khai R1 truy cập.

L1 đượcphysically hostedbên trên peer P1, nhưnglogically hostedbên trên kênh C1

Hiện giờ, P1 cùng O4 rất có thể giao tiếp với nhau thông qua kênh C1.

Mọi thành phần tự người dùng mang lại peer hồ hết cần có 1 identity. Vì vắt Pmột là cũng đều có một identity (kiểu X.509 - không buộc phải quyên tâm X.509 là gì đâu ) vày CA1 cấp, khẳng định P1 thuộc tổ chức R1.

Lúc P1 được start, nó rất có thể tsi gia kênh C1 bằng phương pháp gửi hưởng thụ tham gia O4. Khi O4 nhận thấy đề xuất tsay mê gia này, nó sử dụng cấu hình kênh CC1 để xác minh 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ể gọi và / hoặc ghi biết tin vào sổ chiếc L1 hay là không.

Bước 6. Application cùng Smart Contract ( Chaincode)

Bây giờ kênh C1 gồm một sổ loại trên đó, chúng ta cũng có thể bắt đầu kết nối các application nhằm sử dụng một nhiệm vụ kinh doanh được khái niệm vào smart contract.

*

Một smart contract S5 đã có được thiết lập ném lên P1. Application A1 của tổ chức triển khai R1 có thể sử dụng S5 nhằm truy vấn vào sổ cái L1 trải qua peer P1. Trong kênh bây giờ bao gồm A1, P1 và O4.

Cũng giống như những peer, orderer với người dùng, một application sẽ có được một identity được links với tổ chức khớp ứng. Chẳng hạn A1 có một identity được CA1 hỗ trợ để xác minh A1 thuộc về R1.

Bây giờ có vẻ nlỗi A1 hoàn toàn có thể truy cập vào sổ loại L1 trực tiếp thông qua P1, tuy thế trên thực tiễn, toàn bộ quyền truy vấn được thống trị trải qua Smart Contract S5. Hiểu đơn giản dễ dàng là S5 quan niệm tất cả các use case truy cập vào sổ mẫu L1; S5 cung ứng một tập hòa hợp các giải pháp khẳng định cụ thể mà lại Từ đó sổ chiếc L1 rất có thể được tầm nã vấn hoặc cập nhật hoặc cập nhật như thế nào, vì chưng ai. Nói kết luận, áp dụng khách hàng A1 đề nghị thông qua Smart Contract S5 để liên tưởng với sổ chiếc L1!

Smart Contract hoàn toàn có thể được chế tác vày các nhà trở nên tân tiến vận dụng trong những tổ chức triển khai để tiến hành tiến trình kinh doanh được chia sẻ vì chưng những thành viên của consortium.

Một kênh có thể có tương đối nhiều Smart Contract.

Bước 6.1 Cài một smart contract

Sau khi smart contract S5 được code hoàn thành, cai quản trị viên trong tổ chức R1 cần thiết lập nó vào peer P1. Đây là 1 vận động đối chọi giản; tiếp nối, P1 rất có thể thấy lô ghích triển khai của S5 - code cơ mà nó áp dụng nhằm truy vấn vào sổ chiếc L1.

Lúc một đội nhóm chức có nhiều peer bên trên một kênh, chúng ta hoàn toàn có thể chọn những peer nhưng họ có nhu cầu nhằm thiết đặt smart contract; bọn họ không cần thiết phải setup một smart contarct trên đông đảo peer.

Bước 6.2 Khởi sinh sản một smart contract

Để các yếu tắc không giống được kết nối với kênh C1 biết về smart contract vừa mới được cài đặt đặt; ta phải khởi tạo nó trên kênh C1. Trong ví dụ này, chỉ bao gồm một peer P1, một cai quản trị viên trong tổ chức triển khai R1 phải tạo S5 bên trên kênh C1 bằng phương pháp áp dụng P1. Sau lúc khởi chế tạo ra, số đông yếu tố trên kênh C1 hầu như biết về việc trường tồn của S5; điều ấy tức là hiện thời S5 có thể được điện thoại tư vấn vì chưng ứng dụng khách A1.

Lưu ý rằng mặc dù rất nhiều nguyên tố bên trên kênh hiện có thể truy vấn S5, mà lại bọn chúng quan yếu thấy ngắn gọn xúc tích chương trình của S5. Vấn đề này vẫn được giữ riêng biệt tứ đối với những peer đang cài đặt nó; vào ví dụ này Tức là P1. Về phương diện khái niệm, vấn đề đó Có nghĩa là chỉ bao gồm interface của smart contract được khởi tạo. Và, cài đặt một smart contract phát âm dễ dàng là nó được physically hosted trên một peer, trong lúc bài toán khởi tạo ra smart contract hiểu là nó được logically hosted bên trên kênh.

Endorsement policy ( chính sách xác thực )

Phần đặc trưng độc nhất vô nhị của đọc tin đề nghị đượctrên thời điểm khởi tạo ra là 1 cơ chế xác nhận. Nó biểu lộ các tổ chức triển khai như thế nào buộc phải phê duyệt những thanh toán trước lúc chúng được các tổ chức không giống gật đầu vào phiên bản sao của sổ cái. ĐỊnh nghĩa loại nhỏng R1 AND R2 hoặc R1 OR R2.

Invoking Smart Contract ( Hotline hợp đồng hoàn hảo )

khi một smart contract được sở hữu ném lên một peer cùng được khởi tạo bên trên một kênh, nó có thể được Call vày một application. Các application thực hiện điều đó bằng phương pháp gửi khuyến nghị giao dịch thanh toán cho các peer thuộc sở hữu của các tổ chức được chỉ định và hướng dẫn vày cơ chế xác thực. Đề xuất thanh toán giao dịch vào vai trò là tyêu thích số nguồn vào mang lại smart contract ( tên function, tmê say số nguồn vào của function kia ), áp dụng nó nhằm tạo ra đánh giá thanh toán được chứng thực, được trả lại vày 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 những peer P2 với A2, CA2, cài đặt Smart contract đến P2 tương tự như nlỗi so với R1.

Tmê mệt khảo:https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html

table('setting')->where("{$db->web}")->select('code_footer'); if($oh->code_footer){ # nếu có code header tùy chỉnh $code_footer = htmlspecialchars_decode($oh->code_footer); $code_footer = str_replace('[home_link]', $home, $code_footer); $code_footer = str_replace('[home_name]', $h, $code_footer); $code_footer = str_replace('[link]', $link, $code_footer); $code_footer = str_replace('[title]', $head->tit, $code_footer); $code_footer = str_replace('[des]', $head->des, $code_footer); $code_footer = str_replace('[key]', $head->key, $code_footer); $code_footer = str_replace('[image]', $head->img, $code_footer); $code_footer = str_replace('[link]', $link, $code_footer); $code_footer = str_replace('[date_Y]', date('Y'), $code_footer); echo $code_footer; } ?>