Hyperledger Besu – publiczny blockchain Open Source Hyperledger

Chcesz dowiedzieć się więcej o Hyperledger Besu? Jeśli tak, to trafiłeś we właściwe miejsce.

Świat blockchain rozkwita ekscytującymi projektami. Chodzi o to, aby zapewnić najlepsze rozwiązanie dla firm, które chcą wykorzystać blockchain.

Hyperledger to jeden z największych projektów DLT. Jest to współpraca typu open source, która ma na celu jak najlepsze rozwinięcie technologii blockchain. Dzięki globalnym wysiłkom Linux Foundation chce zbudować ramy, które firmy mogą stosować na całym świecie. W projekcie biorą udział liderzy z różnych branż, w tym bankowości, łańcuchów dostaw, produkcji, finansów i technologii.

Hyperledger składa się z kilku projektów, w tym najpopularniejszego Hyperledger Fabric.

Poznaj Hyperledger Besu, nowy projekt open source, który został niedawno dodany do listy projektów Hyperledger. 

Co to jest Hyperledger Besu?

Hyperledger Besu to pierwszy publiczny projekt blockchain, który oficjalnie dołączył do Hyperledger. Przed przejęciem jest znany jako Panteon ConsenSys. Nowy członek został po raz pierwszy zaproponowany do dołączenia do członka konsorcjum 8 sierpnia.

To duży krok, biorąc pod uwagę, że w konsorcjum mamy świetne projekty, w tym Hyperledger Fabric i Hyperledger Sawtooth, wspierane odpowiednio przez IBM i Intel.

29 sierpnia 2019 roku Hyperledger Besu został ogłoszony częścią konsorcjum. To był świetny dodatek, biorąc pod uwagę, że jest to pierwszy publiczny blockchain, który dołączył do szeregów Hyperledgera, w którym tylko autoryzowane łańcuchy bloków są częścią. 

Więc czym jest Hyperledger Besu?

Jest to klient Ethereum o otwartym kodzie źródłowym, opracowany na licencji Apache 2.0. Jest również napisany w Javie i korzysta z publicznej sieci Ethereum. Inne kluczowe technologie wykorzystywane do zapewnienia funkcjonalności Besu to Gorli, Rinkeby i Ropsten.

Jeśli chodzi o metodę konsensusu, wykorzystuje Proof of Authority (Clique i IBFT 2.0) oraz Proof of Work (Ethash).

Podsumowując, jest to doskonałe rozwiązanie, które pozwala przedsiębiorstwom tworzyć skalowalne, wydajne aplikacje w sieci prywatnej. Co więcej, wymaga to również zgody i prywatności.

Co to jest klient Ethereum?


Jeśli zwróciłeś uwagę, wiesz już, że wspomnieliśmy o Besu jako kliencie Ethereum. Więc co to jest klient Ethereum? Odkryjmy.

Klient Ethereum to oprogramowanie służące do implementacji protokołu Ethereum. W prostych słowach można go użyć do wykonania następujących czynności:

  • Utwórz środowisko wykonawcze w łańcuchu bloków Ethereum do przetwarzania transakcji
  • Trwałe przechowywanie danych, w tym przechowywanie wykonywania transakcji
  • Włącz komunikację w sieci peer-to-peer (P2P) między węzłami
  • Oferuje interfejsy API do bezpiecznego programowania i interakcji w łańcuchu bloków.

Co możesz zrobić z Hyperledger Besu? Przypadki użycia Hyperledger Besu

Aby lepiej zrozumieć, czym jest łańcuch bloków Hyperledger Besu, nauczmy się, co można zrobić za pomocą sieci Hyperledger Besu.

Pierwszą rzeczą, którą zauważysz w Besu, jest interfejs wiersza poleceń. Oferuje również API JSON-RPC. Oba mogą być używane do monitorowania, debugowania, utrzymywania i uruchamiania węzłów w sieci Ethereum.

Krótko mówiąc, może być używany do rzeczy, które są bardzo podobne do tego, do czego zdolna jest sieć Ethereum:

  • Zdecentralizowane tworzenie aplikacji (dApp)
  • Tworzenie inteligentnych kontraktów
  • Wydobywanie eteru

Jeśli chodzi o wsparcie techniczne, oferuje wspólne narzędzia do tworzenia dApp i inteligentnych kontraktów. Obsługuje narzędzia takie jak Remix, Truffle i web3j. Jednak w Besu możesz nie znaleźć wsparcia dla zarządzania kluczami. W tym celu musisz skorzystać z EthSignera, który bezbłędnie z nim współpracuje, dając Ci narzędzie do prawidłowego zarządzania kluczami. Sieć Hyperledger Besu jest idealna dla potrzeb przedsiębiorstw, co oznacza, że ​​istnieje wiele przypadków użycia Hyperledger Besu.

Najważniejsze cechy Besu: Jak działa Hyperledger Besu

Teraz, gdy nasze zrozumienie sieci Hyperledger Besu wzrosło, nadszedł czas, aby omówić jej funkcje. Przeglądając funkcje, będziesz także w stanie zrozumieć, co sprawia, że ​​Besu jest ważnym członkiem konsorcjum Hyperledger.

Specyfikacja EEA (Enterprise Ethereum Alliance)

→ Implementuje specyfikację EEA (Enterprise Ethereum Alliance). Specyfikacja zapewnia, że ​​może łączyć się z innymi projektami Ethereum, które mogą być zarówno zamknięte, jak i otwarte. Specyfikacja jest bardzo ważna, ponieważ zapewnia, że ​​projekty nie muszą martwić się problemami związanymi z dostawcami. Co więcej, otrzymujesz również standardowy interfejs do bezproblemowego tworzenia aplikacji. Besu świetnie współpracuje z EEA i udaje się dostarczać funkcje dla przedsiębiorstw.

EVM (maszyna wirtualna Ethereum)

EVM jest rdzeniem łańcucha blokowego Hyperledger Besu. Turing jest kompletny. Pomaga w realizacji inteligentnych kontraktów za pośrednictwem transakcji blockchain Ethereum.

Algorytmy konsensusu

Hyperledger Besu oferuje dobre opcje, jeśli chodzi o algorytm konsensusu. Po wyjęciu z pudełka otrzymujesz wsparcie dla algorytmów konsensusu Proof of Work i Proof of Authority. Algorytmy służą do wykonywania transakcji w sieci Ethereum.

Proof of Work → Dzięki Proof of Work górnicy mogą prowadzić działalność wydobywczą w sieci głównej Ethereum. W tym celu używany jest Ethash.

Proof of Authority → W przypadku Proof of Authority otrzymujesz wiele protokołów PoA. Jeśli nie wiesz, PoA działa tylko wtedy, gdy istnieje już ustanowione zaufanie między węzłami uczestniczącymi w sieci. Dlatego algorytmy PoA są idealne dla sieci z zezwoleniem, zwłaszcza tych, które są wdrażane przez przedsiębiorstwa. 

  • Po wyjęciu z pudełka możesz użyć IBFT 2.0. Zatwierdzone konta dbają o bloki i walidację transakcji. Zatwierdzone konta nazywane są walidatorami. Grupa walidatorów działa wtedy jako jednostka władzy, w której mogą głosować za dodaniem / usunięciem walidatorów. Jednym z ograniczeń jest to, że IBFT 2.0 nie zezwala na rozwidlenia i zawsze będzie jeden łańcuch główny.
  • Clique to algorytm ochrony zapewniający odporność na uszkodzenia. Może tolerować do połowy wadliwych walidatorów. W przypadku IBFT 2.0 konieczne jest uruchomienie co najmniej 2/3 walidatorów, aby kontynuować proces tworzenia bloku.

Przechowywanie

Sieć Hyperledger Besu jest elastyczna, jeśli chodzi o obsługę pamięci masowej. Podobnie jak inne rozwiązanie blockchain, również wykorzystuje podejście klucz-wartość. Po wyjęciu z pudełka korzysta z bazy danych klucz-wartość RocksDB. Pomaga zapewnić trwałość danych. Przechowywane dane można jednak podzielić na dwie podkategorie.

Blockchain

→ Nagłówki bloków służą do tworzenia łańcucha. Informacje zawarte w nagłówkach bloków służą do kryptograficznej weryfikacji stanu łańcucha bloków.

→ Z drugiej strony, ciała bloków zawierają listę transakcji zleceń dla każdego bloku

→ Metadane wykonania transakcji są przechowywane w potwierdzeniu transakcji.

Stan świata

→ Skrót stateRoot jest używany przez każdy nagłówek bloku w celu odniesienia się do stanu świata.

→ Jest to mapowanie kont na adres

→ Saldo ethernetowe jest przechowywane na kontach należących do podmiotów zewnętrznych

→ Inteligentne kontrakty zawierają kod i pamięć

Sieci P2P

Jeśli chodzi o sieci P2P, Besu implementuje protokół sieciowy devp2p Ethereum. Protokół zapewnia komunikację między klientami. Działa również jako dodatkowy podprotokół IBFT2. Wykrywanie odbywa się za pomocą protokołu opartego na UDP, podobnie do tego, co robi sieć internetowa. Do komunikacji wykorzystuje RLPx – protokół oparty na TCP. Z drugiej strony RLPx korzysta z różnych protokołów podrzędnych, w tym protokołu ETH Wire (do synchronizacji stanu transakcji) i protokołu IBF (do podejmowania decyzji konsensusowych)

Interfejsy API skierowane do użytkowników

Besu ma doskonałe interfejsy API. Interfejsy API, które zapewnia za pośrednictwem protokołu HTTP i WebSocket, obejmują interfejsy API JSON-RPC EEA i interfejsy API Ethereum sieci mainnet. Obsługuje również GraphQL API.

Monitorowanie

Blockchain Hyperledger Besu obsługuje funkcje monitorowania – w tym monitor wydajności sieci i węzłów. Prometheus służy do monitorowania wydajności węzła. Ponadto do debug_metrics można użyć metody JSON-RPC API.

Jeśli chodzi o wydajność sieci, używane są narzędzia Alethi, w tym Monitor sieci EthStats lub Eksplorator bloków.

Prywatność

Ze względu na prywatność Besu oferuje Menedżera transakcji prywatnych. Gwarantuje, że zaangażowane strony transakcji nie muszą martwić się kradzieżą tożsamości lub wyciekiem informacji.

Zezwolenie

Wreszcie, oferuje odpowiednie zarządzanie uprawnieniami, które zapewnia, że ​​tylko węzły mogą uczestniczyć. 

Architektura Hyperledger Besu

Architektura Hyperledger Besu jest prosta i skuteczna. Omówiliśmy wszystkie kluczowe komponenty w sekcji funkcji.

Trzy kluczowe elementy składowe Besu obejmują następujące elementy.

  • Przechowywanie
  • Ethereum Core
  • Networking

Porozmawiajmy najpierw o rdzeniu Ethereum. Rdzeń składa się z maszyny wirtualnej Ethereum (EVM). Jest odpowiedzialny za wykonanie każdej transakcji. Oprócz EVM znajduje się procesor Tx, który pomaga EVM działać wydajnie i efektywnie.

Metody konsensusu są również częścią rdzenia Ethereum. Tutaj mamy metody konsensusu, w tym PoW, Clique i IBFT2. Pozostałe dwa główne składniki rdzenia Ethereum obejmują

  • Pula transakcji → Pula transakcji przechowuje informacje związane z transakcją
  • Synchronizer → pomaga zsynchronizować wszystkie węzły i sieć.

Co dziwne, mamy blockchain i stan świata. Stan świata składa się ze stanu konta, magazynu konta i magazynu kodu.

Wreszcie istnieje sieć, która jest obsługiwana za pomocą protokołu Devp2p Ethereum. Cztery główne komponenty obejmują

  • Odkrycie
  • RLPx
  • Podprotokół ETH
  • Protokół podrzędny IBF

Wymagania systemowe dla Besu

Blockchain Hyperledger Besu jest bardzo elastyczny, jeśli chodzi o wymagania systemowe. Ponieważ sieci mogą mieć charakter dynamiczny, w tym wielkość stanu światowego, liczbę transakcji, limit gazu blokowego i złożoność zapytań, wymagania systemowe mogą się znacznie różnić. 

Ale w większości potrzebujesz następujących.

  • 4 GB pamięci RAM. Jeśli decydujesz się na uruchomienie Ethereum Mainnet, potrzebujesz 8 GB pamięci RAM
  • Jeśli chodzi o miejsce na dysku, potrzebujesz co najmniej 3 TB do pełnej synchronizacji podczas pracy z siecią główną Ethereum

Jeśli nadal jesteś zdezorientowany, musisz użyć Prometheusa do monitorowania węzła, aby poznać dokładne wymagania dotyczące dysku i procesora. Ponadto pulpit nawigacyjny Grafana współpracuje z Besu, którego można używać do łatwego monitorowania.

Mapa drogowa Hyperledger Besu

Fakt, że stał się open source od października 2018 roku, jest teraz otwarty dla każdego. Mapa drogowa Hyperledger Besu wygląda interesująco. Poniżej znajdują się kluczowe etapy planu działania, do których dążą.

→ Buduj grupy prywatności, zezwalanie na konta, interfejs użytkownika, aktualizację sieci w Stambule

: Hyperledger Besu 1.2, 31 lipca 2019 r

→ Obsługa strumieni, niestandardowe monitorowanie dla IBFT, zarządzanie uprawnieniami: Hyperledger Besu 1.3, 7 października 2019 r

→ Klient sieciowy Multi Ethereum, Grupa Cross-Privacy, Zaawansowane funkcje prywatności, Integracja korporacyjna, Ethereum 2.0, początek 2020 r..

Instalowanie dystrybucji binarnej, budowanie ze źródła i uruchamianie Besu

W tej sekcji dowiemy się, jak zainstalować Besu, zbudować i uruchomić go na MacOS i innych systemach operacyjnych.

Instalowanie dystrybucji binarnej

Jeśli używasz systemu Mac OS, musisz mieć Homebrew i Java JDK, aby rozpocząć. Potrzebujesz również Java 11+, ponieważ wcześniejsze wersje Java nie są obsługiwane.

Teraz uruchom następujące polecenie, aby zainstalować za pomocą Homebrew.

napar z kranu hyperledger / besu

napar zainstalować besu

Aby sprawdzić, czy Besu został pomyślnie zainstalowany, sprawdź za pomocą następującego polecenia.

besu –help

Jeśli używasz systemu Unix / Linux / Windows, pobierz Besu spakowane pliki binarne. Po pobraniu rozpakuj pliki i przejdź do katalogu besu-. 

Aby upewnić się, że Besu jest poprawnie zainstalowany, użyj pliku besu –help Komenda.

Twórz ze źródła

Aby zbudować Besu ze źródła, musisz sklonować repozytorium Besu.

klon git – rekurencyjny https://github.com/hyperledger/besu.git

Po zakończeniu klonowania wyeliminujemy testy za pomocą następującego polecenia:

./ gradlew build -x test

Teraz przejdź do katalogu dystrybucyjnego za pomocą polecenia:

kompilacja / dystrybucja cd /

Stamtąd musisz rozwinąć archiwum dystrybucyjne za pomocą następującego polecenia.

tar -xzf besu-.tar.gz

Po rozwinięciu plików przejdź do nowego folderu.

cd besu- /

bin / besu –help

Jeśli ostatnie polecenie zostanie uruchomione pomyślnie, pomyślnie zbudowałeś ze źródła.

W przypadku systemu Windows proces jest prawie taki sam. Zaczynasz od klonowania repozytorium, usuwania testów, przechodzenia do katalogu dystrybucyjnego, rozszerzania go, a na końcu sprawdzania, czy instalacja się powiodła, czy nie..

Uruchamiam Besu

Wspaniale, teraz, gdy mamy preinstalowane Besu, musimy go teraz uruchomić. Aby rozpocząć, musisz wykonać następujące czynności.

  • Lokalne dane blokowe
  • Konfiguracja Genesis
  • Potwierdź, że węzeł działa, czy nie
  • Uruchom węzeł do testowania

Pierwszym krokiem jest skonfigurowanie lokalnych danych blokowych. Jeśli połączyłeś się z poprzednią siecią, musisz pozbyć się lokalnych danych blokowych. Można również skonfigurować opcję –data-path, aby określić nowe dane bloku lokalnego. 

Możesz usunąć dane lokalnego bloku z katalogu besu / build / distribution / besu-. Tam usuń katalog bazy danych i gotowe!

Jeśli używasz Mainnet, Goerli, Rinkeby lub Ropsten, konfiguracja Genesis jest określana podczas łączenia się z nimi. 

Możesz także określić atrybut –network = dev, aby rozpocząć konfigurację genesis z pustymi węzłami startowymi. Ponadto ustawia konfigurację genezy ze stałym, niskim poziomem trudności.

Aby sprawdzić, czy węzeł działa, musisz użyć opcji –rpc – http-enabled. Po zakończeniu użyj cURL, a następnie wywołaj metody JSON-RPC API. Jeśli jest odpowiedź, oznacza to, że węzeł działa.

Na koniec, aby uruchomić węzeł do testowania, musisz użyć następującego polecenia

besu –network = dev –miner-enabled –miner-coinbase = 0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 –rpc-http-cors-origins = ”all” –host-whitelist = ”*” –rpc-ws-włączony –rpc-http-włączone –data- ścieżka = / tmp / tmpDatdir

Prywatność w Hyperledger Besu

Sieci, na które zezwolono, są znane ze swoich funkcji prywatności. Besu nie różni się niczym, ponieważ oferuje doskonałe opcje prywatności po wyjęciu z pudełka. Z Besu możesz korzystać Prywatność zgodna z EOG lub Besu-rozszerzona prywatność.

Aby tworzyć i zarządzać grupami prywatności, możesz użyć już dostępnych metod API JSON-RPC. Tych metod można używać do tworzenia grup prywatności i zarządzania nimi

  • priv_createPrivacyGroup
  • priv_findPrivacyGroup
  • priv_deletePrivacyGroup

Jeśli chodzi o transakcje, Besu wdraża tylko transakcje ograniczone. Ma to na celu zapewnienie prywatności i zapewnienie prywatności transakcji.

Transakcje są podpisywane określonym kluczem lub kluczem losowym. Jeśli chcesz zalogować się za pomocą określonego klucza, musisz użyć pliku -privacy-marker-transaction-signing-key-key, który jest dostępny w Hyperledger Besu. 

Jeśli jesteś zainteresowany, możesz zapoznać się ze szczegółowym samouczkiem, jak skonfigurować prywatną sieć transakcji tutaj. W samouczku możesz znaleźć Oriona jako jeden z warunków wstępnych, aby rozpocząć.

Zezwolenie w Hyperledger Besu

Zezwolenia są krytyczną częścią każdej struktury łańcucha bloków przedsiębiorstwa. To samo dotyczy Besu. Każda sieć, na którą udzielono zezwolenia, otacza ideę dopuszczania tylko określonych węzłów. Uczestniczą w sieci i umożliwiają jej dokonywanie transakcji lub zezwalanie na transakcje. 

W przypadku sieci peer-to-peer wymagane jest wymuszenie reguł na węzłach, aby można było uzyskać zezwolenie. Jasne jest, że poziom zaufania jest już potrzebny, zanim sieć, na którą zezwolono, będzie mogła zostać uruchomiona. Aby mieć pewność, że źli aktorzy odgrywają tutaj minimalną rolę, należy przedsięwziąć środki ostrożności. Na przykład pojedynczy źli aktorzy nie mogą wpływać na podejmowanie decyzji w sieci. Odpowiednie zasady i przepisy mogą również pomóc zidentyfikować złych aktorów i usunąć ich, gdy zostaną przyłapani na wykonywaniu złośliwych działań.

Oprócz uprawnień do węzłów istnieje również opcja uprawnień konta, które wymuszają więcej zasad i przepisów. Uprawnienia do konta mogą służyć do wymuszania wymagań dotyczących tożsamości i dołączania. Pomaga również w zawieszaniu kont, czarnej liście zerwanych umów i ograniczaniu kont podczas wykonywania czynności.

Blockchain Hyperledger Besu zapewnia zarówno lokalny, jak i onchain.

Pozwolenie lokalne odbywa się na poziomie węzła. Aby to zaimplementować, używany jest plik konfiguracji uprawnień. Ponieważ uprawnienia są lokalne, nie mają one wpływu na sieć. Jest to przydatne w przypadku funkcjonowania węzła – niezależnego od reszty sieci. Wymagana jest również ochrona węzłów, jeśli wydarzy się coś złego.

Zezwolenie Onchain, z drugiej strony są kodowane w ramach inteligentnych kontraktów. Zezwolenia onchain obejmują całą sieć, a wszystkie węzły mogą je odczytywać i aktualizować. Uprawnienia onchain można modyfikować lub aktualizować tylko za pomocą koordynacji. Po zaktualizowaniu jest on stosowany w całej sieci.

Podpis: Jak działa zezwolenie lokalne i OnChain

Możesz także śledzić ten przewodnik, aby dowiedzieć się, jak skonfigurować sieć uprawnień w Besu.

Inne rzeczy, o których warto wspomnieć

Hyperledger Besu GitHub: Jeśli myślisz, że możesz wnieść swój wkład w Hyperledger Besu, możesz sprawdzić repozytorium Hyperledger Besu GitHub tutaj.

Obecnie nie ma najlepszego kursu Hyperledgera na Besu, dlatego możesz również zapoznać się z dokumentacją użytkownika tutaj. Mają kompletne samouczki dotyczące szybkiego uruchamiania sieci lub tworzenia sieci prywatnej.

Wniosek

To prowadzi nas do końca naszego przewodnika wprowadzającego do Hyperledger Besu. Tutaj omówiliśmy wiele rzeczy o Besu.

Wkrótce będziemy omawiać Hyperledger Fabric vs Besu. Nie zapomnij więc zapisać się do naszego newslettera.

Co o tym myślisz? Skomentuj poniżej i daj nam znać.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map