Blockchain

     

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

Nhỏng tôi đã giới thiệu ngơi nghỉ Bài 1, Public Blockchain là một mạng mà ai cũng hoàn toàn có thể tđắm đuối gia, liên quan cùng với mạng cùng tầm nã vấn dữ liệu, vấn đề đó khiến một trong những Tổ chức không ưa chuộng bởi vì họ không muốn công khai minh bạch các số liệu hoạt động vui chơi của mình. Mặt không giống, phần nhiều những tổ chức chỉ việc đặc tính quan trọng sửa thay đổi của Blockchain, tuyệt nếu một các những Tổ chức cùng desgin một mạng thì 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 mỗi một mạng thì lại có một quy trình nhiệm vụ khác biệt cho nên việc áp dụng Public Blockchain là ko quan trọng với thiếu riêng biệt tư.

Bạn đang xem: Blockchain

Trong khi những mạng Public Blockchain đang dần dần kiểm soát và điều chỉnh để phù hợp rộng với kinh nghiệm riêng bốn của Thị Phần thì Hyperledger Fabric được xuất hiện để làm vấn đề đấy.

Hyperedger Fabric là 1 trong những trong 5 Framework về Blockchain nằm trong kế hoạch Hyperledger Umbrella của Linux Foundation bao gồm : Hyperledger Indy, Hyperledger Fabric, Hyperledger Iroha, Hyperledger Sawtooth, Hyperledger Burror. Điều đặc biệt là Hyperledger Fabric được contributed vày ông béo IBM.

Hyperledger Fabric tất cả modularity ( tính tế bào đun) tương đối cao nên nó cho phép những Doanh nghiệp dễ dãi plug và play nhằm xuất bản một vận dụng Private Blockchain phù hợp những yên cầu nhiệm vụ của bản thân mình .

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

Đến phía trên, phần lớn tín đồ có thể hiểu rõ rằng nói Hyperledger Fabric là một trong những mạng Private Blockchain cũng giống, hay 1 Framework nhằm kiến tạo 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 thích hợp những tổ chức triển khai bao gồm vai trò cố định vào cùng một tiến trình sale. lấy một ví dụ, vào một channel về giao thương xe khá sẽ gồm có 2 tổ chức là : Nhà sản xuất xe cộ hơi, Nhà phân pân hận xe tương đối.

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

R: Organization ( Tổ chức ).

O: Orderer Node: Nếu nhỏng vào Publuc Blockchain, tất cả những node của mạng đa số tđắm đuối gia vào quy trình đồng thuận, thì ở Hyperledger Fabric chỉ gồm Orderer tham gia vào quy trình kia.

P: Peer, là vấn đề can dự giữa những thành viên trong tổ chức tương xứng cùng với kênh, những hành động của người tiêu dùng phần đa nên đi qua peer.

S: Smart Contract (Chaincode) được tải bỏ lên trên kênh, quan niệm rõ các struct, những hành vi mà người dùng có thể triển khai để can dự tinh thần của struct được lưu vào sổ loại. Ví dụ 1 struct như sau

type Car struct CarID string OwnerID stringDescription stringL: Ledger ( Sổ cái ), tàng trữ trạng thái của những đối tượng người sử dụng. Ví dụ :

car01 := CarCarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" Đối tượng car01 sẽ tiến hành lưu vào sổ dòng bên dưới dạng key-value, key được khẳng định như thế nào thì tùy ở trong vào người code Smart Contract, còn value là quý hiếm của car01 được mang lại dạng <>byte. Đương nhiên là phương pháp tàng trữ của sổ dòng L là tàng trữ theo kiểu blockchain, còn tồn tại thêm bước mã hóa tuyệt cách xử trí gì đến cặp cực hiếm này không thì mình lưỡng lự, điều này nên hỏi IBM

*

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

vì thế, đùng một phân phát chả đọc từ đâu ra lộ diện R4 cung ứng một Orderer O4 đến mạng, đầy đủ hành động trong tương lai như thêm tổ chức vào vào mạng, thêm kênh, setup chaincode cho kênh, khởi sản xuất chaincode, trải đời tiến hành chaincode,... số đông cần trải qua Orderer O4 này ( các bạn sẽ thấy rõ điều này sinh hoạt những bài xích sau ). Và trong Hyperledger Fabric, tất cả các hành vi bên trên hồ hết là transaction ( thanh toán giao dịch ).

Cách 2. Thêm một nhóm chức quản trị

*

NC4 ban sơ được cấu hình nhằm chỉ chất nhận được người dùng R4 tất cả quyền quản 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 cùng cho phép R1 bao gồm quyền quản lí trị nhỏng R4:

Tổ chức R4 update cấu hình mạng NC4 nhằm thêm tổ chức triển khai R1 làm quản trị viên. Sau thời đặc điểm này, R1 cùng R4 tất cả quyền tương tự đối với thông số kỹ thuật mạng.

Ta thấy CA1 cũng khá được sản xuất, CA1 vẫn cung cấp indentity cho những người dùng của tổ chức triển khai R1. Sau thời điểm đó từ đầu đến chân cần sử dụng từ R1 và người dùng từ R4 đều có quyền quản trị mạng.

Mặc dù O4 đang chạy trên một hạ tầng làm sao đó của R4 tuy vậy R1 cũng có thể có quyền như R4 so với O4.

Mình đã trình bày về Ordering service sinh hoạt những bài xích sau, hiện nay bạn chỉ cần đọc O4 nlỗi một điểm quản lí trị toàn bộ các buổi giao lưu của đa số thành phần nằm trong mạng.

Cách 3. Định nghĩa 1 consortium

Lúc Này mạng rất có thể được làm chủ bởi R1 cùng R4, với gồm siêu không nhiều hành vi nhưng mà hoàn toàn có thể tiến hành được đối với mạng. Để có thể mapping những hoạt động sale vào mạng thì điều đầu tiên bọn họ phải có tác dụng là tư tưởng một consortium ( nhóm - tập đoàn lớn ). Từ này có nghĩa black là 1 trong nhóm những tổ chực cùng phía bên trong một chuyển động sale, ví dụ Tổ chức sản xuất ô tô, Tổ chức phân phối ô tô được cấp dưỡng bởi vì Tổ chức sản xuất cho tay Người tiêu dùng.

*

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

Bước 4. Tạo một channel cho 1 consortium

Kênh là một phương tiện truyền thông media tin nhưng trải qua kia những member của một consortium hoàn toàn có thể giao tiếp với nhau. Có thể có nhiều consortium cùng các kênh vào một mạng, cơ mà từng consortium chỉ bao gồm một kênh.

Xem thêm: Binomo Lừa Đảo Như Thế Nào? Binomo Có Rút Được Tiền Không Binomo Co Lua Dao Khong,Pupukpksj

*

Một kênh C1 đã có khiến cho consortium X1. Cấu hình của kênh C1 được lưu giữ vào cấu hình kênh CC1, tách bóc biệt hoàn toàn với cấu hình mạng NC4. CC1 được quản lý vì R1 cùng R2, 2 tổ chức triển khai này còn có quyền tương tự đối với C1. R4 không có quyền gì vào CC1.

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

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

Cấu hình kênh CC1 đựng những vẻ ngoài về quyền cơ mà R1 và R2 gồm bên trên kênh C1 - với như bọn họ thấy R4 không có quyền gì trong kênh này cả. R4 chỉ hoàn toàn có thể can hệ với C1 nếu như chúng đạt thêm vì R1 hoặc R2 vào thông số kỹ thuật kênh CC1. R4 cũng quan yếu từ bỏ thêm bản thân vào kênh C1 - nó cần và chỉ được triển khai vởi R1 và R2.

Đến đây ta có thể thấy rằng tính riêng rẽ bốn của Hyperledger Fabric tới từ Kênh. Hyperledger Fabric khôn xiết dạn dĩ về vấn đề này, vày nó có thể chấp nhận được các tổ chức triển khai share hạ tầng nhưng lại giữ được sự riêng biệt tứ của bản thân.

Mọi cập nhật cho thông số kỹ thuật mạng NC4 từ bỏ thời điểm đó trở đi vẫn không có ảnh hưởng trực tiếp đến thông số kỹ thuật kênh CC1; ví dụ: nếu như có mang consortium X1 bị đổi khác, nó sẽ không còn tác động mang đến các thành viên của kênh C1. Do kia, những kênh khôn xiết hữu dụng vì chưng bọn chúng cho phép liên lạc riêng biệt giữa những tổ chức cấu thành kênh. mà hơn nữa, tài liệu vào một kênh được cách ly trọn vẹn cùng với phần còn sót lại của mạng, cũng tương tự những kênh quảng cáo khác.

Cách 5. Peer cùng Ledger

Bây giờ đồng hồ, ta đã xem phương pháp thực hiện kênh nhằm liên kết những tổ chức triển khai lại với nhau.

*

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

L1 được physically hosted bên trên peer P1, tuy thế logically hosted bên trên kênh C1

Lúc bấy giờ, P1 với O4 rất có thể giao tiếp với nhau trải qua kênh C1.

Mọi yếu tắc trường đoản cú người dùng cho peer phần đông cần phải có 1 identity. Vì chũm Pmột là cũng đều có một identity (kiểu dáng X.509 - chưa buộc phải quyên tâm X.509 là gì đâu ) vị CA1 cấp, khẳng định P1 nằm trong tổ chức triển khai R1.

Lúc P1 được start, nó có thể ttê mê gia kênh C1 bằng phương pháp gửi trải đời tđắm say gia O4. Lúc O4 cảm nhận yên cầu ttê mê gia này, nó thực hiện cấu hình kênh CC1 để khẳng đị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ể hiểu cùng / hoặc ghi biết tin vào sổ mẫu L1 hay không.

Bước 6. Application với Smart Contract ( Chaincode)

Bây giờ đồng hồ kênh C1 bao gồm một sổ cái bên trên kia, bạn có thể ban đầu kết nối những application nhằm sử dụng một nghiệp vụ kinh doanh được tư tưởng trong smart contract.

*

Một smart contract S5 đã làm được mua ném lên P1. Application A1 của tổ chức R1 có thể sử dụng S5 để truy cập vào sổ cái L1 trải qua peer P1. Trong kênh lúc này tất cả A1, P1 và O4.

Cũng giống như những peer, orderer và người tiêu dùng, một application sẽ có một identity được link cùng với tổ chức triển khai tương xứng. Chẳng hạn A1 bao gồm một identity được CA1 hỗ trợ nhằm xác minh A1 nằm trong về R1.

Bây tiếng dường như nlỗi A1 hoàn toàn có thể truy vấn vào sổ cái L1 thẳng thông qua P1, nhưng mà trên thực tế, toàn bộ quyền truy vấn được quản lý trải qua Smart Contract S5. Hiểu dễ dàng và đơn giản là S5 có mang toàn bộ các use case truy vấn vào sổ chiếc L1; S5 cung cấp một tập hợp các biện pháp xác định rõ ràng mà lại theo đó sổ dòng L1 hoàn toàn có thể được tróc nã vấn hoặc cập nhật hoặc update ra làm sao, bởi vì ai. Nói tóm lại, vận dụng khách hàng A1 buộc phải trải qua Smart Contract S5 để liên can cùng với sổ cái L1!

Smart Contract hoàn toàn có thể được tạo nên bởi vì các đơn vị trở nên tân tiến áp dụng trong mỗi tổ chức để tiến hành quá trình kinh doanh được share do các member của consortium.

Một kênh rất có thể có khá nhiều Smart Contract.

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

Sau khi smart contract S5 được code kết thúc, quản lí trị viên trong tổ chức R1 buộc phải thiết đặt nó vào peer P1. Đây là 1 trong chuyển động đối chọi giản; kế tiếp, P1 có thể thấy logic xúc tiến của S5 - code nhưng nó thực hiện nhằm truy cập vào sổ dòng L1.

khi một tổ chức có khá nhiều peer bên trên một kênh, chúng ta rất có thể chọn các peer nhưng mà người ta có nhu cầu để setup smart contract; chúng ta không nhất thiết phải thiết đặt một smart contarct bên trên đều peer.

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

Để những nhân tố khác được liên kết với kênh C1 biết về smart contract vừa mới được cài đặ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 cai quản trị viên vào tổ chức triển khai R1 phải khởi tạo S5 bên trên kênh C1 bằng phương pháp thực hiện P1. Sau Khi khởi chế tạo, số đông thành phần bên trên kênh C1 phần đa biết về sự sống thọ của S5; điều ấy Có nghĩa là hiện nay S5 hoàn toàn có thể được call do vận dụng khách hàng A1.

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

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

Phần đặc biệt quan trọng độc nhất vô nhị của biết tin nên đượctại thời khắc khởi tạo thành là 1 trong chế độ chứng thực. Nó miêu tả các tổ chức nào phải phê chuyên chú những giao dịch trước lúc chúng được các tổ chức triển khai khác đồng ý vào bạn dạng sao của sổ mẫu. ĐỊnh nghĩa kiểu dáng nlỗi R1 AND R2 hoặc R1 OR R2.

Invoking Smart Contract ( Gọi thích hợp đồng lý tưởng )

khi một smart contract được mua bỏ trên một peer và được khởi tạo thành trên một kênh, nó có thể được Call vì chưng một application. Các application triển khai điều này bằng phương pháp gửi đề xuất giao dịch thanh toán cho các peer thuộc về của các tổ chức triển khai được hướng đẫn vày cơ chế xác thực. Đề xuất thanh toán đóng vai trò là tyêu thích số đầu vào mang lại smart contract ( tên function, ttê mê số đầu vào của function đó ), áp dụng nó nhằm tạo nên phản hồi thanh toán được xác thực, được trả lại vì chưng peer mang đến application. Mình đã trình diễn về transaction flow vào bài xích sau.

Bước 7. Network completed

*

Việc thêm những peer P2 cùng A2, CA2, thiết đặt Smart contract mang đến P2 tương tự nlỗi so với R1.

Link Tsay đắm Khảo

https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html


Chuyên mục: Công nghệ tài chính