HYPERLEDGER LÀ GÌ

  -  

Hyperledger Fabric là gì? mày mò về công nghệ Blockchain

Giới thiệu Hyperledger Fabric. Kết cấu của một mạng Hyperledger Fabric

1. Ra mắt về Hyperledger Fabric

Như mình đã trình làng ở bài bác 1, Public Blockchain là 1 trong mạng mà ai ai cũng có thể tham gia, địa chỉ với mạng với truy vấn dữ liệu, điều này khiến cho một số tổ chức triển khai không bằng lòng vì bọn họ không muốn công khai minh bạch các số liệu buổi giao lưu của mình. Phương diện khác, đa phần các tổ chức chỉ cần đặc tính cần thiết sửa thay đổi của Blockchain, hay trường hợp một cụm những Tổ chức cùng xây đắp 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 từng một mạng thì lại có một các bước nghiệp vụ khác biệt nên việc sử dụng Public Blockchain là không cần thiết và thiếu riêng tư.

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

Trong khi những mạng Public Blockchain sẽ dần điều chỉnh để tương xứng hơn cùng với yêu ước riêng bốn của thị trường thì Hyperledger Fabric được sinh ra để làm việc đấy.

Hyperedger Fabriclà 1 trong các 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ông hề nhỏ nên nó được cho phép các doanh nghiệp dễ dàngplug và playđể kiến tạo một vận dụng Private Blockchain cân xứng các yêu mong nghiệp vụ của mình .

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

Đến đây, phần nhiều người rất có thể hiểu rằng nói Hyperledger Fabric là 1 trong những mạng Private Blockchain cũng đúng, hay như là 1 Framework để desgin Private Blockchain cũng đúng.

2. Phong cách xây dựng của một mạng Hyperledger Fabric.

2.1 con 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 các tổ chức gồm vai trò nhất thiết trong thuộc một tiến trình kinh doanh. Ví dụ, trong một channel về mua bán xe hơi vẫn gồm có 2 tổ chức là : Nhà cung ứng xe hơi, hãng sản xuất xe hơi.

CC: Channel Configuration ( thông số kỹ thuật của kênh ).

R: Organization ( tổ chức ).

O: Orderer Node: nếu như trong Publuc Blockchain, toàn bộ các node của mạng phần đa tham gia vào quy trình đồng thuận, thì ngơi nghỉ Hyperledger Fabric chỉ tất cả Orderer thâm nhập vào quá 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 dùng đều phải trải qua peer.

S: Smart Contract (Chaincode) được cài đặt lên kênh, khái niệm rõ các struct, các hành vi mà tín đồ dùng hoàn toàn có thể thực hiện tại để tác động trạng thái của struct được lưu giữ trong sổ cái. Lấy ví dụ 1 struct như sau

type oto struct CarID string OwnerID stringDescription stringL: Ledger ( Sổ cái ), tàng trữ trạng thái của những đối tượng. Lấy ví dụ như :

car01 := CarCarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" Đối tượngcar01sẽ được giữ vào sổ mẫu dưới dạngkey-value,keyđược khẳng định như cụ nào thì tùy thuộc vào bạn code Smart Contract, cònvaluelà quý giá củacar01được mang về dạng <>byte. Đương nhiên là cách tàng trữ của sổ loại L là lưu trữ theo hình trạng blockchain, còn có thêm cách mã hóa hay cách xử trí gì mang đến cặp giá trị này sẽ không thì mình không biết, dòng này bắt buộc hỏi IBM

*

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

Như vậy, đùng một phạt chả hiểu từ đâu ra mở ra R4 hỗ trợ một Orderer O4 cho mạng, mọi hành động sau này như thêm tổ chức vào vào mạng, thêm kênh, cài đặt chaincode mang đến kênh, khởi tạo thành chaincode, yêu cầu xúc tiến chaincode,... đa số phải trải qua Orderer O4 này ( bạn sẽ thấy rõ vấn đề đó ở những bài sau ). Và trong Hyperledger Fabric, tất cả các hành động trên hầu hết là transaction ( thanh toán ).

Bước 2. Thêm một đội nhóm chức quản trị

*

NC4 ban đầu được thông số kỹ thuật để chỉ được cho phép người cần sử dụng R4 có quyền quản ngại trị bên trên mạng. Trong cách này, mình đang thêm một nhóm chức R1 vào mạng và có thể chấp nhận được R1 tất cả quyền quản ngại trị như R4:

Tổ chức R4 update cấu hình mạng NC4 nhằm thêm tổ chức R1 có tác dụng quản trị viên. Sau thời khắc này, R1 với R4 bao gồm quyền tương đương đối với cấu hình mạng.

Ta thấy CA1 cũng khá được thêm vào, CA1 sẽ hỗ trợ indentity cho người dùng của tổ chức triển khai R1. Sau thời gian này từ đầu đến chân dùng tự R1 và người tiêu dùng từ R4 đều có quyền cai quản trị mạng.

Mặc mặc dù O4 đang hoạt động trên một hạ tầng nào kia của R4 dẫu vậy R1 cũng có thể có quyền như R4 đối với O4.

Mình sẽ trình bày về Ordering service sống những bài bác sau, hiện giờ bạn chỉ cần hiểu O4 như một điểm quản ngại trị toàn bộ các buổi giao lưu 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 có thể được thống trị bởi R1 với R4, và gồm rất ít hành động mà hoàn toàn có thể thực hiện tại được so với mạng. Để hoàn toàn có thể mapping các vận động kinh doanh vào mạng thì điều đầu tiên chúng ta cần làm cho là quan niệm mộtconsortium( team - tập đoàn lớn ). Từ này còn có nghĩa đen là một nhóm những tổ chực cùng phía 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ô tô được sản xuất bởiTổ chức sản xuấtđến tayNgười tiêu dùng.

*

Một quản lí trị viên mạng (R1 hoặc R4) khái niệm một consortium X1 gồm chứa nhị thành viên, R1 với R2. Định nghĩa của consortium này được lưu trữ trong cấu hình mạng NC4 và sẽ được sử dụng làm việc giai đoạn cách tân và phát triển mạng tiếp theo. CA2 là Cơ quan cấp identity cho những người dùng, node, application đến từ tổ chức R2 này. Một consortium có con số tổ chức tùy ý, ở chỗ này mình áp dụng trường hợp dễ dàng và đơn giản nhất là 2.

Bước 4. Chế tác một channel cho một consortium

Kênh là 1 phương tiện truyền thông media tin mà thông qua đó các thành viên của một consortium rất có thể giao tiếp cùng với nhau. Tất cả thể có không ít consortium và nhiều kênh vào một mạng, nhưng mà mỗi consortium chỉ bao gồm một kênh.

Xem thêm: Dư Nợ Cuối Kỳ Là Gì - Tìm Hiểu Bảng Sao Kê Thẻ Tín Dụng

*

Một kênh C1 đã được tạo nên consortium X1. Thông số kỹ thuật của kênh C1 được lưu trong cấu hình kênh CC1, bóc biệt hoàn toàn với thông số kỹ thuật mạng NC4. CC1 được quản lý bởi R1 với R2, 2 tổ chức này có quyền ngang nhau đối với C1. R4 không tồn tại quyền gì trong CC1.

Kênh C1 cung ứng một cách thức liên lạc riêng cho các tổ chức trong X1. Bạn cũng có thể thấy kênh C1 mới chỉ được liên kết với Ordering O4. Trong bước tiếp theo, chúng ta sẽ kết nối những thành phần như Application cùng Peer.

Mặc cho dù kênh C1 là một trong những phần của mạng N, nhưng lại nó bóc tách biệt hoàn toàn với N. Cũng để ý rằng tổ chức R4 không bên trong kênh này - kênh này chỉ giành cho xử lý thanh toán giữa R1 cùng R2. Trong cách trước, họ đã thấy biện pháp R4 đã cấp quyền quản trị mạng mang đến R1, rồi R1 tạo ra một consortium. Phát âm ngầm rằng R4 đã và đang cấp quyền mang lại R1 tạo thành kênh! trong sơ đồ này, rất có thể là tổ chức R1 hoặc R4 đã tạo nên kênh C1. Một đợt nữa, chú ý rằng một kênh rất có thể có bất kỳ số lượng tổ chức triển khai nào được kết nối với nó - mình đem 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à lại R1 với R2 tất cả trên kênh C1 - với như họ thấy R4 không có quyền gì trong kênh này cả. R4 chỉ có thể tương tác với C1 nếu chúng được thêm bởi R1 hoặc R2 vào thông số kỹ thuật kênh CC1. R4 cũng cần thiết tự thêm bản thân vào kênh C1 - nó bắt buộc và chỉ được tiến hành vởi R1 cùng R2.

Đến đây ta rất có thể thấy rằng tính riêng tư của Hyperledger Fabric tới từ Kênh. Hyperledger Fabric rất mạnh dạn về vụ việc này, vị nó cho phép 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 cập nhật cho cấu hình mạng NC4 trường đoản cú thời đặc điểm đó trở đi sẽ không còn có tác động trực tiếp đến thông số kỹ thuật kênh CC1; ví dụ: nếu tư tưởng consortium X1 bị cụ đổi, nó đang không ảnh hưởng đến các thành viên của kênh C1. Vày đó, các kênh rất có ích vì chúng có thể chấp nhận được liên lạc riêng giữa những tổ chức cấu thành kênh. Hơn nữa, dữ liệu trong một kênh được bí quyết ly trọn vẹn với phần sót lại của mạng, cũng tương tự các kênh khác.

Bước 5. Peer với Ledger

Bây giờ, ta đang xem cách thực hiện kênh để kết nối các tổ chức lại cùng với nhau.

*

Một peer P1 đang tham gia kênh C1. Từng Kênh sẽ chỉ tất cả một sổ chiếc duy nhất, mỗi Peer sẽ lưu trữ 1 phiên bản sao của sổ đặc điểm này để người dùng từ tổ chức tương ứng truy cập. Chẳng hạn như P1 của tổ chức R1 tàng trữ trữ phiên bản sao của sổ cái L1 để người 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 hoàn toàn có thể giao tiếp cùng với nhau thông qua kênh C1.

Mọi yếu tố từ người tiêu dùng đến peer đều cần phải có 1 identity. Vì thế P1 là cũng có một identity (kiểu X.509 - chưa cần thân thiện X.509 là gì đâu ) vì chưng CA1 cấp, xác minh P1 thuộc tổ chức triển khai R1.

Khi P1 được start, nó rất có thể tham gia kênh C1 bằng cách gửi yêu ước tham gia O4. Khi O4 cảm nhận yêu mong tham 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. Ví dụ, CC1 xác định xem P1 rất có thể đọc với / hoặc ghi tin tức vào sổ loại L1 hay 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 đó, bạn có thể bắt đầu kết nối những application để áp dụng một nghiệp vụ marketing được định nghĩa trong smart contract.

*

Một smart contract S5 đã được cài đặt lê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ổ mẫu L1 thông qua peer P1. Trong kênh lúc này có A1, P1 và O4.

Cũng giống hệt như các peer, orderer và fan dùng, một application sẽ sở hữu một identity được link với tổ chức tương ứng. Chẳng hạn A1 gồm một identity được CA1 cung cấp để khẳng định A1 thuộc về R1.

Bây giờ có vẻ như A1 rất có thể truy cập vào sổ dòng L1 trực tiếp thông qua P1, tuy nhiên trên thực tế, toàn bộ quyền truy cập được làm chủ 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ổ chiếc L1; S5 cung cấp một tập hợp những cách xác định ví dụ mà theo đó sổ cái L1 rất có thể được truy vấn vấn hoặc cập nhật hoặc cập nhật như cố kỉnh nào, vị ai. Nói nắm lại, vận dụng khách A1 phải thông qua Smart Contract S5 để liên tưởng với sổ cái L1!

Smart Contract hoàn toàn có thể được chế tác bởi những nhà phát triển ứng dụng trong mỗi tổ chức để thực hiện quy trình sale được share bởi 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 download một smart contract

Sau lúc smart contract S5 được code xong, quản ngại trị viên trong tổ chức 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 nhưng nó sử dụng để truy vấn vào sổ chiếc L1.

Khi một nhóm chức có tương đối nhiều peer bên trên một kênh, họ rất có thể chọn những peer mà người ta muốn để thiết lập smart contract; chúng ta không phải phải cài đặt một smart contarct trên hồ hết peer.

Bước 6.2 Khởi chế tạo một smart contract

Để những thành phần khác được kết nối với kênh C1 biết về smart contract vừa mới được cài đặt; ta phải tạo nó trên kênh C1. Trong ví dụ như này, chỉ có một peer P1, một quản lí trị viên trong tổ chức triển khai R1 phải tạo S5 trên kênh C1 bằng cách sử dụng P1. Sau khoản thời gian khởi tạo, các thành phần trên kênh C1 phần đông biết về sự việc tồn tại của S5; điều đó có nghĩa là hiện nay S5 rất có thể được call bởi vận dụng khách A1.

Lưu ý rằng mặc dù mọi nhân tố trên kênh hiện có thể truy cập S5, nhưng mà chúng cần thiết thấy xúc tích và ngắn gọn chương trình của S5. Điều này vẫn được giữ riêng tư đối với những peer đã cài đặt nó; trong lấy ví dụ như này có nghĩa là P1. Về mặt khái niệm, điều này tức là chỉ tất cả interface của smart contract được khởi tạo. Và, cài đặt một smart contract hiểu dễ dàng và đơn giản là nó được physically hosted bên trên một peer, trong những lúc việc khởi tạo smart contract đọc là nó được logically hosted trên kênh.

Endorsement policy ( chế độ chứng thực )

Phần quan trọng đặc biệt nhất của tin tức phải đượctại thời gian khởi chế tác là một chế độ chứng thực. Nó tế bào tả những tổ chức nào buộc phải phê duyệt những giao dịch trước khi chúng được các tổ chức khác chấp nhận vào bản sao của sổ cái. ĐỊnh nghĩa mẫu mã như R1 và R2 hoặc R1 OR R2.

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

Khi một smart contract được cài để lên một peer với được khởi tạo trên một kênh, nó hoàn toàn có thể được gọi vì chưng một application. Những application triển khai điều này bằng cách gửi lời khuyên giao dịch cho những peer thuộc sở hữu của những tổ chức được hướng dẫn và chỉ định bởi cơ chế chứng thực. Đề xuất giao dịch đóng sứ mệnh là tham số nguồn vào cho smart contract ( thương hiệu function, tham số đầu vào của function kia ), thực hiện nó để tạo thành phản hồi giao dịch thanh toán được chứng thực, được trả lại bởi vì peer mang lại application. Bản thân sẽ trình diễn về transaction flow trong bài xích sau.

Xem thêm: Cách Chọn Huấn Luyện Viên Fifa Online 3 Fifa Online 3, Cách Chọn Huấn Luyện Viên Fifa Online 3

Bước 7. Network completed

*

Việc thêm các peer P2 với A2, CA2, thiết lập Smart contract mang đến P2 tương tự như như so với R1.

Tham khảo:https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html