Hyperledger Besu – javno odprta koda Hyperledger Blockchain

Ali želite izvedeti več o Hyperledger Besu? Če se, potem ste prišli na pravo mesto.

Svet blockchain-a cveti z vznemirljivimi projekti. Gre predvsem za zagotavljanje najboljše rešitve za podjetja, ki želijo uporabiti blockchain.

Hyperledger je eden največjih DLT projektov. To je odprtokodno sodelovanje, ki bo v največji meri prizadevalo za napredek tehnologije veriženja blokov. Z globalnimi prizadevanji želi Linux Foundation zgraditi ogrodje, ki ga lahko podjetja sledijo po vsem svetu. V projektu sodelujejo voditelji iz različnih vertikal, vključno z bančništvom, oskrbovalnimi verigami, proizvodnjo, financami in tehnologijo.

Hyperledger je sestavljen iz več projektov, vključno z najbolj priljubljeno tkanino Hyperledger.

Spoznajte Hyperledger Besu, nov odprtokodni projekt, ki je bil nedavno dodan na seznam projektov Hyperledger.

Kaj je Hyperledger Besu?

Hyperledger Besu je prvi javni blockchain projekt, ki se je Hyperledger uradno pridružil. Pred prevzemom je znan kot ConsenSysov Panteon. Novi član je bil prvič predlagan za člana konzorcija 8. avgusta.

To je velik korak, saj imamo v konzorciju odlične projekte, vključno s Hyperledger Fabric in Hyperledger Sawtooth, ki jih podpirata IBM in Intel..

29. avgusta 2019 je bil Hyperledger Besu razglašen za del konzorcija. To je bil odličen dodatek, saj je prvi javni blockchain, ki se je pridružil vrstam Hyperledgerja, kjer so del dovoljenih verig blokov del.

Torej, kaj je Hyperledger Besu?

Gre za odprtokodni odjemalec Ethereum, ki je razvit z licenco Apache 2.0. Napisan je tudi v Javi in ​​uporablja javno omrežje Ethereum. Druge ključne tehnologije, ki se uporabljajo za delovanje Besuja, vključujejo Gorli, Rinkeby in Ropsten.

Pri metodi konsenza uporablja dokaz o avtoriteti (Clique in IBFT 2.0) in dokaz o delu (Ethash).

Vse skupaj je odlična rešitev, ki podjetjem omogoča, da v zasebnem omrežju gradijo prilagodljive in visoko zmogljive aplikacije. Poleg tega ima tudi podporo za dovoljenje in zasebnost.

Kaj je odjemalec Ethereum?

Če ste bili pozorni, že veste, da smo Besu omenili kot odjemalca Ethereuma. Torej, kaj je odjemalec Ethereum? Raziskujmo.

Odjemalec Ethereum je programska oprema, ki se uporablja za izvajanje protokola Ethereum. Z enostavnimi besedami lahko z njim naredimo naslednje stvari:

  • V Ethereum blockchain ustvarite izvedbeno okolje za obdelavo transakcij
  • Trajno shranjevanje podatkov, vključno s shranjevanjem izvrševanja transakcij
  • Omogoči omrežno komunikacijo med vozlišči (P2P)
  • Ponuja API-je za varen razvoj in interakcijo blockchain.

Kaj lahko počnete s Hyperledger Besu? Hyperledger Besu Primeri uporabe

Da bi dobili boljšo predstavo o tem, kaj Hyperledger Besu blockchain, se naučimo stvari, ki jih je mogoče storiti z uporabo omrežja Hyperledger Besu.

Prva stvar, ki jo boste opazili pri Besu, je vmesnik ukazne vrstice. Ponuja tudi API JSON-RPC. Oboje je mogoče uporabiti za spremljanje, odpravljanje napak, vzdrževanje in zagon vozlišč v omrežju Ethereum.

Skratka, uporablja se lahko za stvari, ki so zelo podobne tistim, ki jih je sposobno omrežje Ethereum:

  • Razvoj decentralizirane aplikacije (dApp)
  • Pameten razvoj pogodb
  • Rudarstvo etra

Ko gre za tehnično podporo, ponuja skupna orodja za razvoj aplikacij dApp in pametnih pogodb. Podpira orodja, kot so Remix, Truffle in web3j. Kljub temu pa v Besu ne boste našli ključne podpore za upravljanje. Za to morate uporabiti EthSigner, ki z njim deluje brezhibno in vam daje orodje za pravilno upravljanje s ključi. Omrežje Hyperledger Besu je idealno za poslovne potrebe, kar pomeni, da obstaja veliko primerov uporabe Hyperledger Besu.

Ključne lastnosti Besu: Kako deluje Hyperledger Besu

Zdaj, ko se je naše razumevanje mreže Hyperledger Besu okrepilo, je čas, da razpravljamo o njegovih značilnostih. Z ogledom funkcij boste lahko tudi razumeli, kaj Besu naredi pomembnega člana konzorcija Hyperledger.

Specifikacija EEA (Enterprise Ethereum Alliance)

→ Izvaja specifikacijo EEA (Enterprise Ethereum Alliance). Specifikacija zagotavlja, da se lahko poveže z drugimi projekti Ethereum, ki so lahko zaprti in odprtokodni. Specifikacija je zelo pomembna, saj zagotavlja, da projektom ni treba skrbeti zaradi težav z zaklepanjem ponudnikov. Poleg tega dobite tudi standardni vmesnik za nemoteno sestavljanje aplikacij. Besu odlično sodeluje z EEA in mu je uspelo zagotoviti poslovne funkcije.

EVM (navidezni stroj Ethereum)

EVM je jedro blokovne verige Hyperledger Besu. Turing je popoln. Pomaga pri pametnem izvrševanju pogodb prek transakcij blokovne verige Ethereum.

Soglasni algoritmi

Hyperledger Besu ponuja dobre možnosti, ko gre za algoritem konsenza. Že takoj dobite podporo za soglasna algoritma Dokaz o delu in Dokaz o pooblastilu. Algoritmi se uporabljajo za transakcije v omrežju Ethereum.

Dokaz dela → Z dokazilom o delu rudarji lahko opravljajo rudarske dejavnosti na glavnem omrežju Ethereum. Za ta namen se uporablja Ethash.

Dokazilo o pooblastilu → Za dokaz o pooblastilu dobite več protokolov PoA. Če ne veste, PoA deluje samo, če med vozlišči, ki sodelujejo v omrežju, že obstaja zaupanje. Zato so algoritmi PoA idealni za dovoljena omrežja, zlasti tista, ki jih izvajajo podjetja.

  • Kot običajno lahko uporabite IBFT 2.0. Odobreni računi skrbijo za preverjanje blokov in transakcij. Odobreni računi so znani kot potrjevalniki. Skupina potrjevalcev nato deluje kot subjekt moči, kjer lahko glasuje za dodajanje / odstranjevanje potrjevalcev. Ena omejitev je, da IBFT 2.0 ne dovoljuje vilic, vedno pa bo obstajala ena glavna veriga.
  • Clique je zaščitni algoritem, ki zagotavlja odpornost na napake. Lahko prenese do polovice neuspešnih validacijskih programov. Za nadaljevanje postopka ustvarjanja blokov je za IBFT 2.0 potrebno zagnati vsaj 2/3 validacijske naprave.

Skladiščenje

Omrežje Hyperledger Besu je prilagodljivo pri zagotavljanju podpore za shranjevanje. Tako kot druga rešitev blockchain uporablja tudi pristop ključ-vrednost. Kot nalašč uporablja bazo podatkov ključ-vrednost RocksDB. Pomaga zagotoviti trajnost podatkov. Shranjene podatke pa lahko razdelimo v dve podkategoriji.

Blockchain

→ Glave blokov se uporabljajo za oblikovanje verige. Informacije v glavah blokov se uporabljajo za kriptografsko preverjanje stanja verige blokov.

→ Nasprotno pa telesa blokov vsebujejo seznam transakcij naročil za vsak blok

→ Metapodatki o izvršitvi transakcije so shranjeni v potrdilu o transakciji.

Svetovna država

→ Razpršitev stateRoot uporablja vsaka glava bloka za sklicevanje na svetovno stanje.

→ To je preslikava računov, ki jih je treba nasloviti

→ Etersko ravnotežje je shranjeno v računih zunaj

→ Pametne pogodbe vsebujejo kodo in pomnilnik

P2P omrežje

Ko gre za omrežje P2P, Besu izvaja omrežni protokol devp2p Ethereum. Protokol zagotavlja komunikacijo med odjemalci. Deluje tudi kot dodatni podprotokol IBFT2. Odkritje je narejeno po protokolu, ki temelji na UDP, podobno kot internetno omrežje. Za komunikacijo uporablja RLPx – protokol, ki temelji na TCP. RLPx pa uporablja različne podprotokole, vključno z ETH Wire Protocol (za sinhronizacijo stanja transakcije) in podprotokolom IBF (za sprejemanje soglasnih odločitev)

Uporabniški API-ji

Besu ima odlične API-je. API-ji, ki jih ponuja prek protokolov HTTP in WebSocket, vključujejo API-je EEA JSON-RPC in API-je mainhere Ethereum. Podpira tudi API GraphQL.

Spremljanje

Blok veriga Hyperledger Besu podpira funkcije spremljanja – vključno z nadzorom delovanja omrežja in vozlišč. Prometheus se uporablja za spremljanje delovanja vozlišč. Tudi metodo JSON-RPC API je mogoče uporabiti za debug_metrics.

Ko gre za zmogljivost omrežja, se uporabljajo Alethi orodja, vključno z EthStats Network Monitor ali Block Explorer.

Zasebnost

Za zasebnost Besu ponuja zasebnega upravitelja transakcij. Zagotavlja, da udeleženim strankam v transakciji ni treba skrbeti za krajo identitete ali kakršno koli uhajanje informacij.

Dovoljenje

Nazadnje ponuja ustrezno upravljanje dovoljenj, ki zagotavlja samo vozlišča, ki smejo sodelovati.

Hyperledger Besu Architecture

Arhitektura Hyperledger Besu je preprosta in učinkovita. V poglavju o funkcijah smo razpravljali o vseh ključnih komponentah.

Hyperledger Besu Architecture

Ključni trije temeljni sestavni deli Besu vključujejo naslednje.

  • Skladiščenje
  • Ethereum Core
  • Mreženje

Najprej se pogovorimo o jedru Ethereuma. Jedro sestavlja navidezni stroj Ethereum (EVM). Odgovorno je za vsako izvedbo katere koli transakcije. Na vrhu EVM je Tx procesor, ki pomaga EVM učinkovito in uspešno delovati.

Soglasne metode so tudi del jedra Ethereuma. Tu imamo metode soglasja, vključno s PoW, Clique in IBFT2. Drugi dve glavni komponenti jedra Ethereum vključujejo

  • Transaction Pool → Transaction pool shranjuje informacije, povezane s transakcijami
  • Sinhronizator → pomaga sinhronizirati vsa vozlišča in omrežje.

Nenavadno je, da imamo blockchain in svetovno državo. World State je sestavljen iz stanja računa, shranjevanja računov in shranjevanja kode.

Nazadnje obstaja omrežje, ki se upravlja s protokolom Ethereum devp2p. Štiri glavne komponente vključujejo

  • Odkritje
  • RLPx
  • Podprotokol ETH
  • Podprotokol IBF

Sistemske zahteve za Besu

Blok veriga Hyperledger Besu je zelo prilagodljiva, ko gre za sistemske zahteve. Ker so omrežja lahko dinamične narave, vključno s svetovno velikostjo države, številom transakcij, omejitvijo blokade plina in zahtevnostjo poizvedb, se sistemska zahteva lahko zelo razlikuje.

Toda večinoma potrebujete naslednje.

  • 4 GB RAM-a. Če se odločite za zagon Ethereum Mainnet, potem potrebujete 8 GB RAM-a
  • Kar zadeva prostor na disku, potrebujete vsaj 3 TB za popolno sinhronizacijo med delom z glavnim omrežjem Ethereum

Če ste še vedno zmedeni, morate s pomočjo Prometheusa nadzorovati vozlišče, da pozna natančne zahteve glede diska in procesorja. Nadzorna plošča Grafana deluje tudi z Besu, ki ga lahko uporabite za enostavno spremljanje.

Načrt Hyperledger Besu

Dejstvo, da je od oktobra 2018 odprtokodno, je zdaj na voljo za prispevek vsem. Načrt Hyperledger Besu je videti zanimiv. Spodaj so ključni mejniki časovnega načrta, h katerim si prizadevajo.

→ Ustvarite skupine za zasebnost, dovoljenje za račun, dovoljenje za uporabniški vmesnik, nadgradnjo omrežja Istanbul

: Hyperledger Besu 1.2, 31. julij 2019

→ Podpora za tok, spremljanje po meri za IBFT, upravljanje dovoljenj: Hyperledger Besu 1.3, 7. oktober 2019

→ Omrežni odjemalec Multi Ethereum, skupina za več zasebnosti, napredne funkcije zasebnosti, integracija podjetij, Ethereum 2.0, zgodnja leta 2020.

Namestitev binarne distribucije, gradnja iz vira in zagon Besu

V tem razdelku bomo izvedeli, kako namestiti Besu, zgraditi in zagnati v MacOS-u in drugih operacijskih sistemih.

Namestitev binarne distribucije

Če uporabljate Mac OS, ga morate imeti Homebrew in Java JDK za začetek. Potrebujete tudi Javo 11+, saj starejše različice Java niso podprte.

Zdaj zaženite naslednji ukaz za namestitev s programom Homebrew.

pivovarna hiperledger / besu

pivo namestite besu

Če želite preveriti, ali je Besu uspešno nameščen, preverite z naslednjim ukazom.

besu –pomoč

Če uporabljate Unix / Linux / Windows, potem prenesite Besu zapakirane binarne datoteke. Ko jih prenesete, razpakirajte datoteke in pojdite v imenik besu.

Če želite potrditi, da je Besu pravilno nameščen, uporabite besu –pomoč ukaz.

Izdelava iz vira

Če želite Besu zgraditi iz vira, morate klonirati odlagališče Besu.

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

Ko je kloniranje končano, bomo odstranili teste z naslednjim ukazom:

./ gradlew build -x test

Zdaj pojdite v distribucijski imenik z ukazom:

cd build / distribucije /

Od tam morate razširiti arhiv distribucije z naslednjim ukazom.

katran -xzf besu-.tar.gz

Ko so datoteke razširjene, se zdaj premaknite v novo mapo.

cd besu- /

bin / besu –pomoč

Če se zadnji ukaz uspešno zažene, ste uspešno zgradili iz vira.

Za Windows je postopek skoraj enak. Najprej klonirate repozitorij, odstranite teste, odprete distribucijski imenik, ga razširite in nato končno preverite, ali je namestitev uspešna ali ne.

Začetek Besu

Super, zdaj, ko imamo Besu vnaprej nameščen, ga moramo zdaj zagnati. Za začetek morate narediti naslednje.

  • Lokalni blokirani podatki
  • Nastavitev Geneze
  • Potrdite, da vozlišče deluje ali ne
  • Zaženite vozlišče za testiranje

Prvi korak je nastavitev podatkov lokalnega bloka. Če ste se povezali s prejšnjim omrežjem, se morate znebiti podatkov lokalnega bloka. Prav tako lahko nastavite možnost –data-path, da določite nove podatke lokalnega bloka.

Podatke lokalnega bloka lahko izbrišete iz imenika besu / build / distribution / besu-. Tam izbrišite imenik baze podatkov in že ste pripravljeni!

Če uporabljate Mainnet, Goerli, Rinkeby ali Ropsten, potem je konfiguracija geneze določena, ko se povežete z njimi.

Prav tako lahko podate atribut –network = dev, da zaženete konfiguracijo geneze s praznimi zagonskimi vozli. Prav tako nastavi konfiguracijo geneze s fiksno nizko težavnostjo.

Če želite potrditi, ali se vozlišče izvaja, morate uporabiti možnost –rpc – http. Ko končate, uporabite cURL in nato pokličite metode API JSON-RPC. Če je odgovor, se vozlišče izvaja.

Nazadnje, če želite zagnati vozlišče za testiranje, morate uporabiti naslednji ukaz

besu –network = dev –miner-enabled –miner-coinbase = 0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 –rpc-http-cors-origins = ”all” –host-whitelist = ”*” –rpc-ws-enabled –rpc-http-enabled –data- pot = / tmp / tmpDatdir

Zasebnost v Hyperledger Besu

Dovoljena omrežja so znana po svojih lastnostih zasebnosti. Besu ni nič drugačen, saj ponuja odlične možnosti zasebnosti že takoj. Z Besu lahko uporabljate Zasebnost, skladna z EGP ali Besu-razširjena zasebnost.

Za ustvarjanje in upravljanje skupin za zasebnost lahko uporabite že razpoložljive metode API-jev JSON-RPC. Te metode je mogoče uporabiti za ustvarjanje in upravljanje skupin za zasebnost

  • priv_createPrivacyGroup
  • priv_findPrivacyGroup
  • priv_deletePrivacyGroup

Ko gre za transakcije, Besu izvaja samo omejene transakcije. To se naredi za zagotovitev zasebnosti in zasebnost transakcij.

Transakcije podpiše določen ključ ali naključni ključ. Če se želite prijaviti z določenim ključem, morate uporabiti datoteko –privacy-marker-transakcija-podpis-ključa, ki je na voljo pri Hyperledger Besu.

Če vas zanima, si lahko ogledate podrobno vadnico o tem, kako konfigurirati omrežje zasebnih transakcij tukaj. V tej vadnici najdete Orion kot enega od pogojev za začetek.

Dovoljenje v Hyperledger Besu

Dovoljenje je ključni del katerega koli okvira podjetja blockchain. Enako velja za Besu. Vsako pooblaščeno omrežje je okrog ideje, da bi dovolili samo določena vozlišča. Sodelujejo in omogočajo omrežje tako, da opravijo transakcijo ali dovolijo transakcije.

V primeru omrežja enakovrednih omrežij je treba na vozliščih uveljaviti pravila, da se omogoči dovoljenje. Jasno je, da mora biti raven zaupanja že prisotna, preden lahko dovoljeno omrežje začne delovati. Za zagotovitev, da imajo slabi igralci tu minimalno vlogo, je treba sprejeti previdnostne ukrepe. Samski slabi akterji na primer ne morejo vplivati ​​na odločanje mreže. Ustrezna pravila in predpisi lahko tudi pomagajo prepoznati slabe akterje in jih odstraniti, ko jih ujamejo v zlonamernih dejanjih.

Poleg dovoljevanja vozlišč obstaja tudi možnost dovoljenj za račun, ki uveljavljajo več pravil in predpisov. Dovoljenje za račun lahko uporabite za uveljavljanje zahtev glede identitete in vkrcanje. Pomaga tudi začasno ustaviti račune, dodati črne liste prekinjenih pogodb in omejiti račune pri izvajanju dejanj.

Blok veriga Hyperledger Besu ponuja tako lokalno kot onchain.

Lokalno dovoljenje se izvede na ravni vozlišča. Za njegovo uporabo je uporabljena konfiguracijska datoteka z dovoljenji. Ker so dovoljenja lokalna, ne vplivajo na omrežje. To je koristno za delovanje vozlišča, ki je neodvisno od ostalega omrežja. Prav tako je treba zaščititi vozlišča, če se zgodi kaj narobe.

Onchain dovoljenje, po drugi strani pa so kodirani v okviru pametnih pogodb. Dovoljenje Onchain je v celotnem omrežju in vsa vozlišča ga lahko berejo in posodabljajo. Dovoljenje Onchain lahko spreminjate ali posodabljate le z usklajevanjem. Ko je posodobljen, se uporabi tudi v omrežju.

Hiperledger Besu

Napis: Kako deluje lokalno in OnChain Permissioned

Lahko tudi sledite ta vodnik vedeti, kako nastaviti omrežje za izdajo dovoljenj v Besu.

Omeniti je treba še druge stvari

Hyperledger Besu GitHub: Če menite, da lahko prispevate k Hyperledger Besu, si oglejte repozitorij Hyperledger Besu GitHub tukaj.

Trenutno na Besuju ni najboljšega tečaja Hyperledger in zato si lahko ogledate tudi uporabniško dokumentacijo tukaj. Imajo popolne vadnice o tem, kako hitro zagnati omrežja ali kako ustvariti zasebno omrežje.

Zaključek

To nas vodi do konca našega vodnika za začetek Hyperledger Besu. Tu smo zajeli veliko stvari o Besu.

Kmalu bomo pokrivali Hyperledger Fabric in Besu. Zato se ne pozabite naročiti na naše novice.

Kaj tudi vi mislite o tem? Komentirajte spodaj in nam sporočite.