Hyperledger Besu – De open source Hyperledger Public Blockchain

Wilt u meer weten over Hyperledger Besu? Dan bent u bij ons aan het juiste adres.

De wereld van blockchain bloeit met spannende projecten. Het draait allemaal om het brengen van de beste oplossing voor bedrijven die gebruik willen maken van blockchain.

Hyperledger is een van de grootste DLT-projecten die er zijn. Het is een open-source samenwerking om de beste inspanningen te leveren voor het bevorderen van blockchain-technologie. Met wereldwijde inspanningen wil Linux Foundation een raamwerk bouwen dat bedrijven wereldwijd kunnen volgen. Leiders uit verschillende branches nemen deel aan het project, waaronder het bankwezen, toeleveringsketens, productie, financiën en technologie.

Hyperledger bestaat uit verschillende projecten, waaronder de meest populaire Hyperledger Fabric.

Maak kennis met Hyperledger Besu, een nieuw open source-project dat onlangs is toegevoegd aan de Hyperledger-lijst met projecten.

Wat is Hyperledger Besu?

Hyperledger Besu is het eerste openbare blockchain-project dat officieel lid wordt van Hyperledger. Voordat het het overnam, staat het bekend als het Pantheon van ConsenSys. Het nieuwe lid werd voor het eerst voorgesteld voor toevoeging aan het consortiumlid op 8 augustus.

Dat is een grote stap, aangezien we geweldige projecten hebben binnen het consortium, waaronder Hyperledger Fabric en Hyperledger Sawtooth, ondersteund door respectievelijk IBM en Intel..

Op 29 augustus 2019 werd aangekondigd dat de Hyperledger Besu deel uitmaakt van het consortium. Het was een geweldige toevoeging, aangezien het de eerste openbare blockchain is die toetreedt tot de gelederen van Hyperledger waar alleen geautoriseerde blockchains deel van uitmaken.

Dus, wat is Hyperledger Besu?

Het is een open-source Ethereum-client die is ontwikkeld met een Apache 2.0-licentie. Het is ook geschreven in Java en maakt gebruik van het openbare Ethereum-netwerk. Andere belangrijke technologieën die worden gebruikt om Besu functioneel te maken, zijn Gorli, Rinkeby en Ropsten.

Als het gaat om de consensusmethode, maakt het gebruik van Proof of Authority (Clique en IBFT 2.0) en Proof of Work (Ethash).

Al met al is het een geweldige oplossing waarmee bedrijven schaalbare, krachtige applicaties op een particulier netwerk kunnen bouwen. Bovendien wordt het ook geleverd met de ondersteuning van toestemming en privacy.


Wat is een Ethereum-client?

Als je goed hebt opgelet, weet je al dat we Besu hebben genoemd als een Ethereum-klant. Dus, wat is het een Ethereum-klant? Laten we onderzoeken.

Ethereum-client is software die wordt gebruikt om het Ethereum-protocol te implementeren. In eenvoudige bewoordingen kan het worden gebruikt om de volgende dingen te doen:

  • Creëer een uitvoeringsomgeving in Ethereum-blockchain voor het verwerken van transacties
  • Permanente gegevensopslag inclusief het opslaan van transactie-uitvoering
  • Schakel peer-to-peer (P2P) netwerkcommunicatie tussen knooppunten in
  • Biedt API’s voor veilige ontwikkeling en blockchain-interactie.

Wat kunt u doen met Hyperledger Besu? Gebruiksscenario’s van Hyperledger Besu

Laten we, om een ​​beter idee te krijgen van wat Hyperledger Besu blockchain, de dingen leren die kunnen worden gedaan met het Hyperledger Besu-netwerk.

Het eerste dat opvalt aan Besu is de opdrachtregelinterface. Het biedt ook de JSON-RPC API. Beide kunnen worden gebruikt om knooppunten op het Ethereum-netwerk te bewaken, te debuggen, te onderhouden en uit te voeren.

Kortom, het kan worden gebruikt voor dingen die erg lijken op waartoe een Ethereum-netwerk in staat is:

  • Gedecentraliseerde app (dApp) ontwikkeling
  • Slimme contractontwikkeling
  • Ether mijnbouw

Als het gaat om technische ondersteuning, biedt het algemene tools voor dApp en slimme contractontwikkeling. Het ondersteunt tools zoals Remix, Truffle en web3j. Het is echter mogelijk dat u bij Besu geen ondersteuning voor sleutelbeheer kunt vinden. Daarvoor moet u EthSigner gebruiken die er feilloos mee samenwerkt en u de tool geeft voor een goed sleutelbeheer. Het Hyperledger Besu-netwerk is ideaal voor zakelijke behoeften, wat betekent dat er veel gebruiksscenario’s van Hyperledger Besu zijn.

Besu Belangrijkste kenmerken: Hoe Hyperledger Besu werkt

Nu ons begrip van het Hyperledger Besu-netwerk sterker is geworden, is het nu tijd om de functies ervan te bespreken. Door de functies door te nemen, zult u ook kunnen begrijpen wat Besu zo belangrijk maakt als een belangrijk lid van het Hyperledger-consortium.

EER-specificatie (Enterprise Ethereum Alliance)

→ Het implementeert de EEA-specificatie (Enterprise Ethereum Alliance). De specificatie zorgt ervoor dat het verbinding kan maken met andere Ethereum-projecten die zowel gesloten als open source kunnen zijn. De specificatie is erg belangrijk omdat het ervoor zorgt dat projecten zich geen zorgen hoeven te maken over problemen met leveranciersvergrendeling. Bovendien krijgt u ook de standaardinterface voor het naadloos bouwen van applicaties. Besu werkt uitstekend samen met EEA en slaagt erin om zakelijke functies aan te bieden.

EVM (Ethereum virtuele machine)

De EVM vormt de kern van de blockchain van Hyperledger Besu. Het is Turing compleet. Het helpt bij de slimme contractuitvoering via de Ethereum blockchain-transacties.

Consensus-algoritmen

Hyperledger Besu biedt goede opties als het gaat om het consensusalgoritme. U krijgt standaard ondersteuning voor zowel Proof of Work als Proof of Authority consensusalgoritmen. De algoritmen worden gebruikt om transacties uit te voeren op het Ethereum-netwerk.

Proof of Work → Met Proof of Work kunnen mijnwerkers mijnactiviteiten uitvoeren op het Ethereum-mainnet. Voor dit doel wordt Ethash gebruikt.

Bewijs van autoriteit → Voor bewijs van autoriteit krijgt u meerdere PoA-protocollen. Als u het niet weet, werkt PoA alleen als er al een vertrouwd vertrouwen bestaat tussen de knooppunten die aan het netwerk deelnemen. Dat is de reden waarom PoA-algoritmen ideaal zijn voor netwerken met toestemming, vooral die welke door bedrijven worden geïmplementeerd.

  • U kunt IBFT 2.0 uit de doos gebruiken. Goedgekeurde accounts zorgen voor de blokkering en transactievalidatie. De goedgekeurde accounts worden validators genoemd. De groep validators fungeert dan als een machtsentiteit, waar ze kunnen stemmen voor het toevoegen / verwijderen van validators. Een beperking is dat IBFT 2.0 geen vorken toestaat, en dat er altijd één hoofdketen zal zijn.
  • Clique is een beveiligingsalgoritme dat zorgt voor fouttolerantie. Het kan tot de helft van falende validators tolereren. Voor IBFT 2.0 is het nodig om ten minste 2/3 van de validators uit te voeren om door te gaan met het maken van blokken.

Opslag

Het Hyperledger Besu-netwerk is flexibel als het gaat om het bieden van opslagondersteuning. Net als andere blockchain-oplossingen maakt het ook gebruik van de key-value-benadering. Het maakt gebruik van de sleutelwaarde-database van RocksDB. Het helpt om gegevenspersistentie te bieden. De opgeslagen gegevens kunnen echter worden onderverdeeld in twee subcategorieën.

Blockchain

→ De block headers worden gebruikt om de ketting te vormen. De informatie in de block headers wordt gebruikt om de blockchain-status cryptografisch te verifiëren.

→ De bloklichamen bevatten daarentegen de ordertransactielijst voor elk blok

→ De metagegevens van de transactie-uitvoering worden opgeslagen in de transactiebon.

Wereldstaat

→ De stateRoot-hash wordt door elke blokheader gebruikt om naar de wereldstatus te verwijzen.

→ Het is de toewijzing van accounts aan adressen

→ Het ethersaldo wordt opgeslagen op externe accounts

→ Slimme contracten bevatten de code en opslag

P2P-netwerken

Als het gaat om P2P-netwerken, implementeert Besu het devp2p Ethereum-netwerkprotocol. Het protocol zorgt voor communicatie tussen klanten. Het fungeert ook als een aanvullend IBFT2-subprotocol. De ontdekking wordt gedaan met behulp van een op UDP gebaseerd protocol, vergelijkbaar met wat een internetnetwerk doet. Voor communicatie gebruikt het de RLPx – een op TCP gebaseerd protocol. De RLPx daarentegen gebruikt verschillende subprotocollen, waaronder het ETH Wire Protocol (voor synchronisatie van transactiestatus) en IBF-subprotocol (voor het nemen van consensusbeslissingen)

Gebruikersgerichte API’s

Besu wordt geleverd met uitstekende API’s. De API’s die het biedt via het HTTP- en WebSocket-protocol, omvatten EER JSON-RPC-API’s en mainnet Ethereum-API’s. Het ondersteunt ook GraphQL API.

Toezicht houden

Hyperledger Besu blockchain ondersteunt monitoringfuncties – inclusief netwerk- en knooppuntprestatiemonitor. Prometheus wordt gebruikt om de prestaties van knooppunten te bewaken. Ook kan de JSON-RPC API-methode worden gebruikt voor debug_metrics.

Als het gaat om netwerkprestaties, worden Alethi-tools gebruikt, waaronder de EthStats Network Monitor of Block Explorer.

Privacy

Voor privacy biedt Besu een Private Transaction Manager aan. Het zorgt ervoor dat de betrokken partijen bij een transactie zich geen zorgen hoeven te maken over hun identiteitsdiefstal of het lekken van informatie.

Toestemming

Ten slotte biedt het een goed toestemmingsbeheer dat ervoor zorgt dat alleen knooppunten mogen deelnemen.

Hyperledger Besu-architectuur

De Hyperledger Besu-architectuur is eenvoudig en effectief. We hebben alle belangrijke componenten besproken in het gedeelte met functies.

Hyperledger Besu-architectuur

De belangrijkste drie kerncomponenten van de Besu zijn de volgende.

  • Opslag
  • Ethereum Core
  • Netwerken

Laten we eerst de Ethereum-kern bespreken. De kern bestaat uit de Ethereum Virtual Machine (EVM). Het is verantwoordelijk voor het uitvoeren van een transactie. Bovenop de EVM is er Tx Processor die EVM helpt efficiënt en effectief te functioneren.

Consensusmethoden maken ook deel uit van de Ethereum-kern. Hier hebben we consensusmethoden, waaronder PoW, Clique en IBFT2. De andere twee hoofdcomponenten van de Ethereum-kern zijn onder meer

  • Transactiepool → De transactiepool slaat transactiegerelateerde informatie op
  • Synchronizer → helpt bij het synchroniseren van alle knooppunten en het netwerk.

Voor vreemd hebben we blockchain en wereldstaat. World State bestaat uit Account State, Account Storage en Code Storage.

Ten slotte is er een netwerk dat wordt beheerd met behulp van het Ethereum devp2p-protocol. De vier belangrijkste componenten zijn:

  • Ontdekking
  • RLPx
  • ETH-subprotocol
  • IBF-subprotocol

Systeemvereisten voor Besu

Hyperledger Besu blockchain is erg flexibel als het gaat om systeemvereisten. Omdat netwerken dynamisch van aard kunnen zijn, inclusief de grootte van de wereldstaat, het aantal transacties, de limiet voor blokkeergas en de complexiteit van vragen, kan de systeemvereiste sterk variëren.

Maar voor het grootste deel heeft u het volgende nodig.

  • 4 GB RAM. Als u besluit om Ethereum Mainnet uit te voeren, heeft u 8 GB RAM nodig
  • In termen van schijfruimte heb je minimaal 3 TB nodig voor volledige synchronisatie tijdens het werken met Ethereum mainnet

Als u nog steeds in de war bent, moet u Prometheus gebruiken om het knooppunt te controleren om de exacte schijf- en CPU-vereisten te kennen. Ook werkt het Grafana-dashboard met Besu, waarmee u eenvoudig kunt monitoren.

Roadmap van Hyperledger Besu

Het feit dat het sinds oktober 2018 open source is geworden, staat nu open voor bijdragen door iedereen. De roadmap van de Hyperledger Besu ziet er interessant uit. Hieronder staan ​​de belangrijkste mijlpalen van de roadmap waarnaar ze streven.

→ Bouw privacygroepen, account toestemming, toestemming gebruikersinterface, Istanbul netwerkupgrade

: Hyperledger Besu 1.2, 31 juli 2019

→ Stream-ondersteuning, aangepaste monitoring voor IBFT, machtigingsbeheer: Hyperledger Besu 1.3, 7 oktober 2019

→ Multi Ethereum-netwerkclient, Cross-Privacy Group, Geavanceerde privacyfuncties, Enterprise-integratie, Ethereum 2.0, begin 2020.

Binaire distributie installeren, bouwen vanaf de bron en Besu starten

In deze sectie zullen we leren hoe u Besu installeert, bouwt en start op MacOS en andere besturingssystemen.

Binaire distributie installeren

Als u Mac OS gebruikt, heeft u Homebrew en Java JDK om aan de slag te gaan. U hebt ook Java 11+ nodig, aangezien eerdere Java-versies niet worden ondersteund.

Voer nu de volgende opdracht uit om te installeren met Homebrew.

brouwen kraan hyperledger / besu

brouwen installeren besu

Om te controleren of Besu met succes is geïnstalleerd, controleert u met de volgende opdracht.

besu – helpen

Als u Unix / Linux / Windows gebruikt, moet u Besu downloaden verpakte binaire bestanden. Pak na het downloaden de bestanden uit en ga naar de besu- directory.

Gebruik het besu – helpen opdracht.

Bouw vanuit de bron

Om Besu vanaf de broncode op te bouwen, moet u de Besu-repository klonen.

git clone –recursive https://github.com/hyperledger/besu.git

Zodra het klonen is voltooid, zullen we tests elimineren met behulp van de volgende opdracht:

./ gradlew build -x test

Ga nu naar de distributiemap met de opdracht:

cd build / distributons /

Van daaruit moet u het distributiearchief uitbreiden met de volgende opdracht.

tar -xzf besu-.tar.gz

Nu de bestanden zijn uitgevouwen, gaat u naar de nieuwe map.

cd besu- /

bin / besu –help

Als de laatste opdracht met succes wordt uitgevoerd, hebt u met succes gebouwd vanaf de bron.

Voor Windows is het proces bijna hetzelfde. Je begint met het klonen van de repository, het verwijderen van tests, gaat naar de distributiemap, breidt het uit en controleert ten slotte of de installatie succesvol is of niet.

Besu beginnen

Geweldig, nu Besu vooraf is geïnstalleerd, moeten we het nu uitvoeren. Om te beginnen, moet u de volgende stappen uitvoeren.

  • Lokale blokgegevens
  • Genesis-configuratie
  • Controleer of het knooppunt actief is of niet
  • Voer Node uit om te testen

De eerste stap is het opzetten van lokale blokgegevens. Als u verbinding hebt gemaakt met een eerder netwerk, moet u de lokale blokgegevens verwijderen. U kunt ook de optie –data-path configureren om de nieuwe lokale blokgegevens op te geven.

U kunt de lokale blokgegevens verwijderen uit de directory besu / build / distribution / besu-. Verwijder daar de databasemap en u bent klaar om te gaan!

Als u Mainnet, Goerli, Rinkeby of Ropsten gebruikt, wordt de genesisconfiguratie gespecificeerd wanneer u verbinding met hen maakt.

Je kunt ook het –network = dev attribuut specificeren om de genesis configuratie te starten met lege bootnodes. Het stelt ook de genesisconfiguratie in met een vaste lage moeilijkheidsgraad.

Om te bevestigen of het knooppunt actief is, moet u de –rpc – http-enabled optie gebruiken. Als u klaar bent, gebruikt u cURL en roept u vervolgens de JSON-RPC API-methoden aan. Als er een antwoord is, is het knooppunt actief.

Ten slotte moet u de volgende opdracht gebruiken om een ​​knooppunt uit te voeren voor testen

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

Privacy in Hyperledger Besu

Toegestane netwerken staan ​​bekend om hun privacyfuncties. Besu is niet anders, omdat het out-of-the-box uitstekende privacy-opties biedt. Met Besu kunt u gebruiken EER-conforme privacy of Besu-uitgebreide privacy.

Om privacygroepen te maken en te beheren, kunt u de reeds beschikbare JSON-RPC API-methoden gebruiken. Deze methoden kunnen worden gebruikt om privacygroepen te maken en te beheren

  • priv_createPrivacyGroup
  • priv_findPrivacyGroup
  • priv_deletePrivacyGroup

Als het om transacties gaat, voert Besu alleen beperkte transacties uit. Dit wordt gedaan om de privacy te waarborgen en transacties privacy te garanderen.

De transacties worden ondertekend door een specifieke sleutel of een willekeurige sleutel. Als u zich wilt aanmelden met een specifieke sleutel, moet u het –privacy-marker-transaction-signing-key-bestand gebruiken, dat beschikbaar is bij Hyperledger Besu.

Als u geïnteresseerd bent, kunt u een gedetailleerde zelfstudie bekijken over het configureren van een privétransactienetwerk hier. In de tutorial kun je zien dat Orion een van de voorwaarden is om aan de slag te gaan.

Toestemming in Hyperledger Besu

Toestemming is een cruciaal onderdeel van elk blockchain-framework voor ondernemingen. Hetzelfde geldt voor Besu. Elk netwerk met toestemming omringt het idee om alleen specifieke knooppunten toe te staan. Ze nemen deel en maken het netwerk mogelijk door een transactie uit te voeren of transacties toe te staan.

In het geval van een peer-to-peer-netwerk is het vereist om regels op knooppunten af ​​te dwingen, zodat toestemming kan worden verleend. Het is duidelijk dat er al een zekere mate van vertrouwen nodig is voordat een netwerk met toestemming live kan gaan. Om ervoor te zorgen dat slechte acteurs hier een minimale rol spelen, moeten voorzorgsmaatregelen worden genomen. Enkele slechte actoren kunnen bijvoorbeeld geen invloed hebben op de besluitvorming van het netwerk. Juiste regels en voorschriften kunnen ook helpen bij het identificeren van slechte actoren en ze verwijderen wanneer ze worden betrapt op het uitvoeren van kwaadwillende acties.

Afgezien van knooppunttoestemmingen, is er ook een optie voor accountmachtigingen die meer regels en voorschriften afdwingen. Accounttoestemming kan worden gebruikt om identiteitsvereisten en onboarding af te dwingen. Het helpt ook om accounts op te schorten, kapotte contracten op de zwarte lijst te zetten en accounts te beperken bij het uitvoeren van acties.

Hyperledger Besu blockchain biedt zowel lokale als onchain.

Lokale toestemming wordt gedaan op knooppuntniveau. Om het te implementeren, wordt een configuratiebestand voor machtigingen gebruikt. Aangezien de machtigingen lokaal zijn, hebben ze geen invloed op het netwerk. Dit is handig over hoe het knooppunt functioneert – die onafhankelijk zijn van de rest van het netwerk. Het is ook vereist om knooppunten te beschermen als er iets mis is.

Onchain-toestemming, aan de andere kant, worden gecodeerd in slimme contracten. Onchain-toestemming is netwerkbreed en alle knooppunten kunnen deze lezen en bijwerken. Onchain-toestemming kan alleen worden gewijzigd of bijgewerkt met coördinatie. Als het eenmaal is bijgewerkt, wordt het ook op het netwerk toegepast.

Hyperledger Besu

Bijschrift: hoe Local en OnChain Permissioned werken

U kunt ook volgen deze gids om te weten hoe u een machtigingsnetwerk in Besu moet opzetten.

Andere dingen die het vermelden waard zijn

Hyperledger Besu GitHub: Als je denkt dat je kunt bijdragen aan Hyperledger Besu, kun je de Hyperledger Besu GitHub-repository bekijken hier.

Momenteel is er geen beste Hyperledger-cursus op Besu, en daarom kunt u ook de gebruikersdocumentatie raadplegen hier. Ze hebben volledige zelfstudies over het snel starten van netwerken of het maken van een particulier netwerk.

Gevolgtrekking

Dit leidt ons naar het einde van onze Hyperledger Besu-handleiding Aan de slag. Hier hebben we veel dingen over Besu besproken.

We zullen binnenkort Hyperledger Fabric vs Besu bespreken. Vergeet u dus niet in te schrijven op onze nieuwsbrief.

En wat vind je ervan? Reageer hieronder en laat het ons weten.

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