21/07/2022
W dzisiejszym świecie, gdzie bezpieczeństwo danych i prywatność transakcji są kluczowe, technologia blockchain zyskuje na znaczeniu, oferując rozwiązania dla przedsiębiorstw poszukujących solidnych i skalowalnych systemów. Jednym z wiodących frameworków w tej dziedzinie jest Hyperledger Fabric, otwartoźródłowa platforma blockchain typu permissioned, idealna dla zastosowań korporacyjnych.

- Zalety Hyperledger Fabric
- Jak Działa Hyperledger Fabric?
- Najczęstsze Przypadki Użycia Hyperledger Fabric
- Najczęściej Zadawane Pytania o Hyperledger Fabric
- Czy Hyperledger Fabric jest darmowy?
- Czy Hyperledger Fabric jest prywatnym blockchainem?
- Hyperledger Fabric vs Hyperledger Besu?
- Jak pisać i wdrażać inteligentne kontrakty (chaincode) na Hyperledger Fabric?
- Czym Hyperledger Fabric różni się od innych platform blockchain, takich jak Ethereum, pod względem architektury i przypadków użycia?
- Jakie są kluczowe cechy i możliwości Hyperledger Fabric, które czynią go odpowiednim dla aplikacji blockchain klasy korporacyjnej, szczególnie pod względem skalowalności, prywatności i zarządzania?
- Rozpoczęcie Pracy z Hyperledger Fabric
Zalety Hyperledger Fabric
Hyperledger Fabric, stworzony pierwotnie przez IBM, a następnie przekazany Linux Foundation w 2015 roku, jest frameworkiem blockchain o otwartym kodzie źródłowym, działającym w oparciu o uprawnienia. Początkowo projektowany z myślą o łańcuchach dostaw i finansach, dzięki swojej modularnej konstrukcji, funkcjom prywatności i zdolności adaptacji do niestandardowych rozwiązań biznesowych, stał się preferowanym wyborem dla aplikacji na poziomie przedsiębiorstw.
Kaleido, zespół składający się z oryginalnych twórców Hyperledger Fabric oraz długoletnich współtwórców i opiekunów, oferuje Hyperledger Fabric jako jeden z wielu obsługiwanych protokołów. Dzięki kompleksowemu zakresowi gotowych do użycia usług, wszechstronnym opcjom hostingu w chmurze i potężnym interfejsom API, Kaleido upraszcza proces obsługi sieci Fabric w różnych środowiskach.
Jakie korzyści niesie ze sobą Hyperledger Fabric?
- Uprawnienia i Nadzór: Protokół ten umożliwia ochronę konkretnych szczegółów transakcji, co czyni go idealnym wyborem dla sektorów takich jak bankowość, logistyka i ubezpieczenia. Kontrola dostępu i widoczności danych to kluczowy element dla przedsiębiorstw działających w regulowanych branżach.
- Otwartość Źródła: Jako część inicjatywy Hyperledger Fundacji Linux, Hyperledger Fabric jest open-source, co pozwala firmom tworzyć niestandardowe aplikacje, minimalizując jednocześnie zależność od dostawców. Otwarty kod źródłowy to również gwarancja transparentności i ciągłego rozwoju platformy przez społeczność.
- Konfigurowalność i Rozszerzalność: Modularna konstrukcja Hyperledger Fabric umożliwia integrację różnych komponentów, takich jak usługi członkostwa i algorytmy konsensusu, co pozwala dostosować sieć do konkretnych wymagań. Ta elastyczność pozwala na optymalizację sieci pod kątem specyficznych potrzeb biznesowych.
- Obsługa Transakcji: Fabric wykorzystuje unikalny model transakcyjny execute-order-commit, w którym określona grupa peerów początkowo obsługuje wykonanie, a następnie usługa porządkowania zarządza pakowaniem i dystrybucją transakcji. Ten model zwiększa wydajność i skalowalność sieci.
Jak Działa Hyperledger Fabric?
W porównaniu z innymi protokołami blockchain dla przedsiębiorstw, Fabric wykazuje szereg unikalnych cech. Obejmują one cykl życia transakcji i konsensus, techniki prywatności i kanały, modele zaufania, inteligentne kontrakty i paradygmaty programowania.
Przegląd Techniczny
Hyperledger Fabric to protokół blockchain o otwartym kodzie źródłowym, zaprojektowany specjalnie dla zastosowań korporacyjnych w sieci blockchain z uprawnieniami. Jako część projektu Hyperledger Fundacji Linux, Fabric jest najczęściej używanym protokołem blockchain w projekcie parasolowym z najszerszym udziałem społeczności.
W porównaniu z innymi protokołami w przestrzeni blockchain dla przedsiębiorstw, Fabric ma kilka unikalnych rozwiązań. Obciążenie obliczeniami przetwarzania transakcji i zarządzania stanem jest rozdzielone na oddzielny typ węzła zwany "endorserami/committerami", lub po prostu "peerami". Obowiązki budowania konsensusu, porządkowania transakcji i zamykania ich w blokach są delegowane do innego typu węzłów zwanych "ordererami".
Kanały
Kanały to kolejne unikalne rozwiązanie w Fabric. Działając jak mini-blockchainy, każdy kanał zawiera własne polityki uprawnień i własną księgę do rejestrowania bloków i transakcji. W istocie pojedyncza sieć Fabric może obsługiwać wiele izolowanych instancji blockchain.
Inteligentne Kontrakty (Chaincode)
Inteligentne kontrakty dla Fabric mogą być pisane w dowolnym języku architektonicznie, ponieważ inteligentne kontrakty komunikują się z węzłami peerów hostujących za pośrednictwem dobrze zdefiniowanego interfejsu HTTP. Obecnie 3 języki są obsługiwane dla Chaincode (termin używany dla inteligentnych kontraktów w żargonie Fabric) do tworzenia: Golang, node.js/typescript i Java.
Model Zaufania
Fabric jest specjalnie zaprojektowany do użytku w kontekście sieci z uprawnieniami, gdzie istnieje rozbudowany proces onboardingu, aby umożliwić ustanowienie zaufania między uczestnikami. W szczególności osiąga się to poprzez wymaganie od każdego węzła przedstawienia poświadczeń MSP (dostawca usług członkostwa), które są albo certyfikatami x.509 podpisanymi przez urząd certyfikacji organizacji, który został już zarejestrowany w konfiguracji kanału, albo dowodami zerowej wiedzy, które są weryfikowalne pod kątem posiadania podpisanych atrybutów.
Zaufanie między członkami kanału jest ustanawiane poprzez ceremonię deklarowania polityk zarządzania i podpisywania przez członków-założycieli. Korzeń zaufania jest zapisany w bloku genesis kanału. Późniejsza modyfikacja konfiguracji kanału, w tym dodawanie lub usuwanie członków, dodawanie lub usuwanie peerów i ordererów, aktualizacja polityk, musi być przeprowadzona zgodnie z bieżącą polityką zarządzania, która sama może być modyfikowana, jeśli próg podpisów polityki modyfikacji zostanie osiągnięty.

Prywatność
Fabric zapewnia dwa poziomy prywatności transakcji. Dzięki izolacji komunikatów za pomocą kanałów, członek jest całkowicie nieświadomy istnienia kanału, jeśli nie jest jego członkiem. W przypadku kolekcji danych prywatnych, projektu bardzo podobnego do prywatnych transakcji w Enterprise Ethereum, dane wejściowe transakcji są udostępniane w bezpośredniej komunikacji peer-to-peer stronom upoważnionym do ich przeglądania. Tylko hasze prywatnych danych wejściowych transakcji są udostępniane usłudze porządkowania i uwzględniane w transakcji do zarejestrowania w księdze.
Konsensus
Konsensus w Fabric składa się z trzech części:
- Endorser (który jest częścią węzłów peerów) zapewnia poparcie, najpierw wykonując docelową logikę biznesową w wywołanym Chaincode.
- Węzły ordererów wymuszają globalne porządkowanie (w obrębie kanału) i składają transakcje w bloki.
- Na koniec committer (który jest również częścią węzłów peerów) zatwierdza transakcje jako udane lub nieudane i zapisuje je w swojej księdze dla kanału.
Model Programowania
Projekt Fabric przedstawia kilka unikalnych aspektów dla programistów aplikacji. Tworzenie Chaincode jest dość proste, z pełnymi językami programowania, takimi jak Golang, node.js/typescript i Java, ponieważ nie ma specjalnego DSL, takiego jak Solidity, do nauczenia się. Interakcja z węzłami peerów i ordererów odbywa się za pośrednictwem dobrze zdefiniowanego, ale bardzo złożonego interfejsu gRPC z protobuf jako protokołem przewodowym. Korzystanie z jednego z SDK (obsługiwanych w Golang, node.js/typescript i Java) jest koniecznością.
Węzły peerów mają wbudowaną usługę discovery, która znacznie ułatwia zbieranie niezbędnych informacji o topologii sieci i określanie listy peerów do wywołania w celu spełnienia polityki poparcia, która jest wymagana do pomyślnego zakończenia transakcji.
Inteligentne Kontrakty
Fabric zapewnia elastyczne wsparcie dla tworzenia i wdrażania inteligentnych kontraktów. Po opracowaniu w dowolnym z obsługiwanych języków, mogą być one wdrażane jako długo działające mikrousługi lub jako polecenia, które są wykonywane i kończą działanie po zakończeniu.
Wsparcie Kaleido dla Fabric dla Chaincode obejmuje binarne pliki Golang i projekty źródłowe node.js.
Wdrożenia Chaincode Fabric są semantycznie zdefiniowane jako dwie części:
- Program wykonywalny, który musi być indywidualnie zainstalowany na każdym peerze wyznaczonym do obsługi funkcjonalności tego Chaincode.
- Definicja, która musi przejść cykl życia zatwierdzania/commitowania za pośrednictwem transakcji on-chain i jest zapisywana w księdze kanału.
Ordererzy nie potrzebują zainstalowanego Chaincode, ponieważ zajmują się tylko przetwarzaniem wyjścia z wykonań poparcia. Nie wszystkie peery w ramach członkostwa muszą instalować Chaincode. Tylko te wyznaczone do obsługi funkcjonalności Chaincode muszą je mieć zainstalowane.
Najczęstsze Przypadki Użycia Hyperledger Fabric
Hyperledger Fabric to doskonały wybór protokołu do śledzenia pochodzenia towarów w łańcuchu dostaw, zwiększania przejrzystości i ograniczania oszustw. Znalazł również szerokie zastosowanie w usługach finansowych i opiece zdrowotnej, gdzie jego zdolność do zachowania prywatności i bezpiecznego udostępniania danych pomaga usprawnić złożone i wrażliwe operacje.
Dzięki modularnej architekturze Fabric umożliwia wiele dostosowań, aby ułatwić i usprawnić współpracę opartą na blockchain dla przedsiębiorstw.
Fabric jest świetną opcją, jeśli w jednej wspólnej sieci działają konkurencyjne lub oddzielne podmioty, ponieważ kanały umożliwiają interakcje 1-do-1 w dedykowanych, oddzielnych łańcuchach.

Najczęściej Zadawane Pytania o Hyperledger Fabric
Czy Hyperledger Fabric jest darmowy?
Hyperledger Fabric jest darmowy w użyciu. Opracowany przez Fundację Linux, jest open source i każdy może go pobrać.
Czy Hyperledger Fabric jest prywatnym blockchainem?
Tak. Hyperledger Fabric jest przeznaczony do użytku w środowiskach korporacyjnych, gdzie wiele organizacji musi współpracować i bezpiecznie udostępniać dane. W przeciwieństwie do publicznych blockchainów, takich jak Bitcoin lub Ethereum, Hyperledger Fabric jest permissioned, co oznacza, że uczestnicy sieci są znanymi i zaufanymi podmiotami.
W sieci Hyperledger Fabric organizacje mogą utrzymywać własne prywatne kanały do transakcji i udostępniania danych konkretnym stronom, mając jednocześnie możliwość interakcji z innymi kanałami w razie potrzeby. Pozwala to na większą prywatność, skalowalność i elastyczność w projektowaniu rozwiązań opartych na blockchain dla zastosowań biznesowych.
Ponadto Hyperledger Fabric zapewnia modularną architekturę, umożliwiając organizacjom dostosowanie różnych aspektów sieci, takich jak mechanizmy konsensusu, usługi członkostwa i przechowywanie danych, do ich specyficznych wymagań.
Hyperledger Fabric vs Hyperledger Besu?
Hyperledger Fabric i Hyperledger Besu, oba należące do Fundacji Hyperledger, oferują różne funkcje, które zaspokajają różne potrzeby blockchain. Hyperledger Fabric szczyci się modularnym mechanizmem konsensusu, zapewniającym elastyczność dzięki opcjom takim jak konsensus oparty na Kafka, Raft lub PBFT. Obsługuje różne języki dla inteligentnych kontraktów, zapewniając adaptowalność i prywatność dzięki solidnemu systemowi uprawnień. Fabric wyróżnia się w zastosowaniach korporacyjnych, umożliwiając precyzyjną kontrolę nad prywatnością danych za pośrednictwem kanałów, umożliwiając zastosowania w zarządzaniu łańcuchem dostaw, finansach i opiece zdrowotnej.
Z drugiej strony, Hyperledger Besu jest kompatybilny z Ethereum i przeważnie wykorzystuje konsensus proof-of-work Ethash. Obsługuje Solidity dla inteligentnych kontraktów, wykorzystując ekosystem Ethereum, ale jego funkcje uprawnień nie są tak zaawansowane jak Fabric. Besu korzysta z szerszej społeczności Ethereum, ale może być mniej konfigurowalny dla konkretnych zastosowań korporacyjnych w porównaniu z Fabric.
Podsumowując, jeśli kluczowa jest precyzyjna kontrola nad prywatnością, konfigurowalny konsensus i różnorodne zastosowania korporacyjne, Hyperledger Fabric wyróżnia się. Dla tych, którzy szukają kompatybilności z Ethereum i wykorzystania istniejących narzędzi lub kontraktów Ethereum, Hyperledger Besu może być bardziej odpowiednim wyborem. Ostatecznie decyzja zależy od specyficznych wymagań danego projektu.
Jak pisać i wdrażać inteligentne kontrakty (chaincode) na Hyperledger Fabric?
Aby pisać i wdrażać inteligentne kontrakty (chaincode) na Hyperledger Fabric, należy wybrać język programowania, taki jak Go, Java lub JavaScript i odpowiednio skonfigurować środowisko programistyczne. Napisz logikę chaincode, definiując funkcje i struktury danych, korzystając z SDK i API Fabric. Spakuj chaincode do formatu wdrożeniowego i zainstaluj go na żądanych węzłach peerów w sieci. Utwórz instancję chaincode na określonym kanale, aby powiązać go z siecią.
Na koniec wejdź w interakcję z wdrożonym chaincode za pomocą aplikacji klienckich, SDK lub interfejsów API RESTful, wywołując jego funkcje i przekazując odpowiednie dane jako argumenty. Zaleca się zapoznanie się z oficjalną dokumentacją Hyperledger Fabric i zasobami specyficznymi dla języka, aby uzyskać szczegółowe instrukcje i najlepsze praktyki w zakresie pisania i wdrażania chaincode na platformie.

Czym Hyperledger Fabric różni się od innych platform blockchain, takich jak Ethereum, pod względem architektury i przypadków użycia?
Hyperledger Fabric różni się od innych platform blockchain, takich jak Ethereum, przede wszystkim architekturą i koncentracją na zastosowaniach korporacyjnych.
W przeciwieństwie do Ethereum, które jest publiczną platformą blockchain zaprojektowaną przede wszystkim dla zdecentralizowanych aplikacji (dApps) i kryptowalut, Hyperledger Fabric jest frameworkiem blockchain typu permissioned, dostosowanym do środowisk korporacyjnych.
Modularna architektura Fabric pozwala na większą elastyczność i dostosowanie, umożliwiając przedsiębiorstwom wdrażanie określonych mechanizmów konsensusu, rozwiązań do zarządzania tożsamością i funkcji prywatności w celu spełnienia ich wymagań biznesowych.
Dodatkowo, Hyperledger Fabric obsługuje inteligentne kontrakty napisane w ogólnych językach programowania, takich jak Go i JavaScript, co czyni go bardziej dostępnym dla programistów korporacyjnych z istniejącymi zestawami umiejętności.
Jakie są kluczowe cechy i możliwości Hyperledger Fabric, które czynią go odpowiednim dla aplikacji blockchain klasy korporacyjnej, szczególnie pod względem skalowalności, prywatności i zarządzania?
Hyperledger Fabric oferuje kilka kluczowych cech i możliwości, które czynią go dobrze dopasowanym do aplikacji blockchain klasy korporacyjnej. Jego modularna architektura pozwala na skalowalność i optymalizację wydajności poprzez wykorzystanie kanałów, które umożliwiają partycjonowanie ruchu sieciowego i prywatności danych.
Obsługa sieci permissioned i zarządzania tożsamością przez Fabric zapewnia prywatność i poufność, czyniąc go odpowiednim dla branż o surowych wymaganiach dotyczących ochrony danych.
Dodatkowo, solidny model zarządzania Fabric, który obejmuje polityki dotyczące członkostwa, konsensusu i poparcia, umożliwia przedsiębiorstwom ustanowienie jasnych zasad i procedur dotyczących działania sieci i podejmowania decyzji.
Ogólnie rzecz biorąc, te cechy czynią Hyperledger Fabric solidnym i niezawodnym wyborem do budowy korporacyjnych aplikacji blockchain.
Rozpoczęcie Pracy z Hyperledger Fabric
Możesz uruchomić łańcuch Hyperledger Fabric w ciągu kilku minut na platformie Kaleido, korzystając z bezpłatnej wersji próbnej, ciesząc się pełnym zestawem narzędzi i usług plug and play, lub pobrać kod źródłowy, aby zbudować własny łańcuch.
Jeśli chcesz poznać inne artykuły podobne do Hyperledger Fabric: Blockchain z Uprawnieniami dla Biznesu, możesz odwiedzić kategorię Rachunkowość.
