Voleu conèixer Hyperledger Besu? Si ho feu, heu arribat al lloc correcte.
El món de la cadena de blocs floreix amb projectes emocionants. Es tracta d’aportar la millor solució a les empreses que vulguin fer ús del blockchain.
Hyperledger és un dels projectes DLT més grans que hi ha. És una col·laboració de codi obert per aconseguir el millor esforç per avançar en la tecnologia blockchain. Amb un esforç global, Linux Foundation vol construir un marc que les empreses puguin seguir a tot el món. Líders de diverses verticals participen en el projecte, inclosos els serveis bancaris, cadenes de subministrament, fabricació, finances i tecnologia.
Hyperledger consta de diversos projectes, inclòs el més popular Hyperledger Fabric.
Coneix Hyperledger Besu, un nou projecte de codi obert que s’ha afegit recentment a la llista de projectes Hyperledger.
Què és Hyperledger Besu?
Hyperledger Besu és el primer projecte de blockchain públic que s’uneix oficialment a Hyperledger. Abans de prendre el relleu, es coneix com el Panteó de ConsenSys. El nou membre es va proposar per primera vegada que s’incorporés al membre del consorci el 8 d’agost.
És un gran pas tenint en compte que tenim grans projectes dins del consorci, inclosos Hyperledger Fabric i Hyperledger Sawtooth, recolzats tant per IBM com per Intel, respectivament..
El 29 d’agost de 2019 es va anunciar que Hyperledger Besu formaria part del consorci. Va ser una gran addició tenint en compte que és la primera cadena de blocs pública que s’uneix a les files d’Hyperledger on només formen part les cadenes de blocs autoritzades..
Llavors, què és Hyperledger Besu?
És un client Ethereum de codi obert que es desenvolupa amb una llicència Apache 2.0. També està escrit en Java i fa ús de la xarxa pública Ethereum. Altres tecnologies clau utilitzades per fer funcional Besu són Gorli, Rinkeby i Ropsten.
Pel que fa al mètode de consens, utilitza la prova d’autoritat (Clique i IBFT 2.0) i la prova de treball (Ethash).
Tot plegat, és una gran solució que permet a les empreses construir aplicacions escalables i d’alt rendiment en una xarxa privada. A més, també inclou el suport de permisos i privadesa.
Què és un client Ethereum?
Si heu prestat atenció, ja sabeu que hem esmentat Besu com a client d’Ethereum. Llavors, què és un client Ethereum? Explorem.
El client Ethereum és un programari que s’utilitza per implementar el protocol Ethereum. En paraules simples, es pot utilitzar per fer les coses següents:
- Creeu un entorn d’execució a la cadena de blocs d’Ethereum per processar transaccions
- Emmagatzematge de dades persistent que inclou l’emmagatzematge de l’execució de transaccions
- Activeu la comunicació de xarxa peer-to-peer (P2P) entre nodes
- Ofereix API per al desenvolupament segur i la interacció de blockchain.
Quines coses podeu fer amb Hyperledger Besu? Casos d’ús de Hyperledger Besu
Per tenir una millor idea de quina cadena de blocs d’Hyperledger Besu, aprenem les coses que es poden fer amb la xarxa Hyperledger Besu.
El primer que notareu sobre Besu és la seva interfície de línia d’ordres. També ofereix l’API JSON-RPC. Tots dos es poden utilitzar per supervisar, depurar, mantenir i executar nodes a la xarxa Ethereum.
En resum, es pot utilitzar per a coses molt similars a les que pot fer una xarxa Ethereum:
- Desenvolupament d’aplicacions descentralitzades (dApp)
- Desenvolupament de contractes intel·ligents
- Mineria d’èter
Pel que fa a l’assistència tècnica, ofereix eines comunes per al desenvolupament de dApp i contractes intel·ligents. Admet eines com Remix, Truffle i web3j. Tanmateix, és possible que no trobeu assistència clau per a la gestió a Besu. Per a això, heu d’utilitzar EthSigner que funcioni perfectament amb ell, proporcionant-vos l’eina per a una correcta gestió de claus. La xarxa Hyperledger Besu és ideal per a necessitats empresarials, cosa que significa que hi ha molts casos d’ús de Hyperledger Besu.
Funcions clau de Besu: Com funciona Hyperledger Besu
Ara que la nostra comprensió de la xarxa Hyperledger Besu s’ha consolidat, ara és hora de debatre-ne les característiques. En revisar les funcions, també podreu entendre què fa que Besu sigui un membre important del consorci Hyperledger.
Especificació EEA (Enterprise Ethereum Alliance)
→ Implementa l’especificació EEA (Enterprise Ethereum Alliance). L’especificació garanteix que es pot connectar amb altres projectes d’Ethereum que poden ser tancats i de codi obert. L’especificació és molt important, ja que garanteix que els projectes no s’hagin de preocupar pels problemes de bloqueig del proveïdor. A més, també obtindreu la interfície estàndard per a la creació d’aplicacions sense problemes. Besu funciona molt bé amb l’EEA i té èxit en proporcionar funcions empresarials.
EVM (màquina virtual Ethereum)
L’EVM és el nucli de la cadena de blocs Hyperledger Besu. És complet Turing. Ajuda a l’execució del contracte intel·ligent mitjançant les transaccions de blockchain d’Ethereum.
Algorismes de consens
Hyperledger Besu ofereix bones opcions pel que fa a l’algorisme de consens. Fora de la caixa, obtindreu assistència tant per als algorismes de consens de prova de treball com de prova d’autoritat. Els algoritmes s’utilitzen per fer transaccions a la xarxa Ethereum.
Prova del treball → Amb la prova del treball, els miners poden fer activitat minera a la xarxa principal Ethereum. A l’efecte, s’utilitza Ethash.
Prova d’autoritat → Per obtenir una prova d’autoritat, obteniu diversos protocols PoA. Si no ho sabeu, PoA només funciona si hi ha una confiança ja establerta entre els nodes que participen a la xarxa. Per això, els algoritmes PoA són ideals per a xarxes amb permís, especialment aquelles que són implementades per empreses.
- Fora de la caixa, podeu utilitzar IBFT 2.0. Els comptes aprovats s’encarreguen dels blocs i de la validació de les transaccions. Els comptes aprovats es coneixen com a validadors. El grup de validadors actua llavors com una entitat de poder, on poden votar per afegir / eliminar validadors. Una limitació és que IBFT 2.0 no permet les bifurcacions i sempre hi haurà una única cadena principal.
- Clique és un algorisme de protecció que garanteix la tolerància a fallades. Pot tolerar fins a la meitat dels validadors fallits. Per a IBFT 2.0, cal executar com a mínim 2/3 dels validadors per continuar el procés de creació de blocs.
Emmagatzematge
La xarxa Hyperledger Besu és flexible a l’hora de proporcionar assistència d’emmagatzematge. Igual que una altra solució blockchain, també utilitza l’enfocament valor-clau. Fora de la caixa, utilitza la base de dades de valors clau RocksDB. Ajuda a proporcionar persistència de dades. Tanmateix, les dades emmagatzemades es poden dividir en dues subcategories.
Blockchain
→ Les capçaleres de blocs s’utilitzen per formar la cadena. La informació de les capçaleres de blocs s’utilitza per verificar l’estat de la cadena de blocs criptogràficament.
→ Els cossos de blocs, d’altra banda, contenen la llista de transaccions de comandes per a cada bloc
→ Les metadades d’execució de la transacció s’emmagatzemen al rebut de la transacció.
Estat Mundial
→ El hash stateRoot és utilitzat per totes les capçaleres de blocs per fer referència a l’estat mundial.
→ És el mapatge de comptes a tractar
→ El saldo èter s’emmagatzema en comptes de propietat externa
→ Els contractes intel·ligents contenen el codi i l’emmagatzematge
Xarxes P2P
Quan es tracta de xarxes P2P, Besu implementa el protocol de xarxa devp2p Ethereum. El protocol garanteix la comunicació entre clients. També actua com un sub-protocol IBFT2 addicional. El descobriment es fa mitjançant un protocol basat en UDP, similar al que fa una xarxa d’Internet. Per a la comunicació, utilitza el RLPx, un protocol basat en TCP. El RLPx, d’altra banda, utilitza diversos subprotocols, inclòs el protocol ETH Wire Protocol (per a la sincronització de l’estat de la transacció) i el subprotocol IBF (per prendre decisions de consens)
API orientades a l’usuari
Besu ve amb excel·lents API. Les API que proporciona a través del protocol HTTP i WebSocket inclouen API JSON-RPC EEA i API Ethereum mainnet. També és compatible amb l’API GraphQL.
Seguiment
La cadena de blocs Hyperledger Besu admet funcions de supervisió, inclòs el monitor de rendiment de xarxa i de node. Prometeu s’utilitza per controlar el rendiment dels nodes. A més, el mètode API JSON-RPC es pot utilitzar per a debug_metrics.
Pel que fa al rendiment de la xarxa, s’utilitzen eines Alethi, com ara EthStats Network Monitor o Block Explorer.
Privadesa
Per privadesa, Besu ofereix un gestor de transaccions privades. Assegura que les parts implicades en una transacció no s’han de preocupar pel seu robatori d’identitat ni per qualsevol filtració d’informació.
Permisos
Per últim, ofereix una gestió de permisos adequada que assegura que només hi participin els nodes.
Hyperledger Besu Architecture
L’arquitectura Hyperledger Besu és senzilla i eficaç. Hem analitzat tots els components clau a la secció de funcions.
Els tres components principals del Besu inclouen els següents.
- Emmagatzematge
- Nucli Ethereum
- Xarxes
Parlem primer del nucli d’Ethereum. El nucli consisteix en la màquina virtual Ethereum (EVM). És responsable de qualsevol execució de qualsevol transacció. A sobre de l’EVM, hi ha el processador Tx que ajuda a que l’EVM funcioni de manera eficient i eficaç.
Els mètodes de consens també formen part del nucli d’Ethereum. Aquí tenim mètodes de consens, incloent PoW, Clique i IBFT2. Els altres dos components principals del nucli d’Ethereum inclouen
- Grup de transaccions → El grup de transaccions emmagatzema informació relacionada amb les transaccions
- Sincronitzador → ajuda a sincronitzar tots els nodes i la xarxa.
Per estrany, tenim blockchain i World State. World State consisteix en estat de compte, emmagatzematge de comptes i emmagatzematge de codi.
Per últim, hi ha xarxes que s’utilitzen mitjançant el protocol devp2p Ethereum. Els quatre components principals inclouen
- Descobriment
- RLPx
- Sub-protocol ETH
- Sub-Protocol IBF
Requisits del sistema per a Besu
La cadena de blocs Hyperledger Besu és molt flexible pel que fa als requisits del sistema. Com que les xarxes poden tenir una naturalesa dinàmica, inclosa la mida de l’estat mundial, el nombre de transaccions, el límit de gasos de bloqueig i la complexitat de les consultes, el requisit del sistema pot variar molt.
Però, en la seva majoria, necessiteu el següent.
- 4 GB de memòria RAM. Si decidiu executar Ethereum Mainnet, necessiteu 8 GB de RAM
- Pel que fa a l’espai en disc, necessiteu almenys 3 TB per a una sincronització completa mentre treballeu amb Ethereum mainnet
Si encara esteu confós, haureu d’utilitzar Prometheus per supervisar el node i conèixer els requisits exactes del disc i de la CPU. A més, el tauler de Grafana funciona amb Besu, que podeu utilitzar per supervisar fàcilment.
Full de ruta Hyperledger Besu
El fet de ser de codi obert des de l’octubre del 2018, ara està obert a la contribució de tothom. El full de ruta del Hyperledger Besu sembla interessant. A continuació es mostren les fites clau del full de ruta que pretenen.
→ Creeu grups de privadesa, permisos de comptes, permís d’interfície d’usuari, actualització de la xarxa d’Istanbul
: Hyperledger Besu 1.2, 31 de juliol de 2019
→ Suport de flux, supervisió personalitzada per a IBFT, governança de permisos: Hyperledger Besu 1.3, 07 d’octubre de 2019
→ Client de xarxa multi Ethereum, grup de privadesa, funcions avançades de privadesa, integració empresarial, Ethereum 2.0, principis de 2020.
Instal·lació de la distribució binària, construcció des de la font i inici de Besu
En aquesta secció, aprendrem com instal·lar Besu, construir-lo i iniciar-lo en MacOS i altres sistemes operatius.
Instal·lació de la distribució binària
Si utilitzeu Mac OS, cal que en tingueu Homebrew i Java JDK per començar. També necessiteu Java 11+ ja que les versions anteriors de Java no són compatibles.
Ara, executeu l’ordre següent per instal·lar-la amb Homebrew.
brew tap hyperledger / besu
brew install besu
Per comprovar si Besu s’ha instal·lat correctament, comproveu amb l’ordre següent.
besu –help
Si utilitzeu Unix / Linux / Windows, descarregueu Besu binaris empaquetats. Un cop descarregats, descomprimiu els fitxers i aneu al directori besu-.
Per confirmar que Besu està instal·lat correctament, utilitzeu el fitxer besu –help comandament.
Construeix a partir de Source
Per construir Besu des de la font, heu de clonar el dipòsit Besu.
git clone –recursiu https://github.com/hyperledger/besu.git
Un cop feta la clonació, eliminarem les proves mitjançant l’ordre següent:
./ gradlew build -x test
Ara, aneu al directori de distribució mitjançant l’ordre:
cd build / distributors /
A partir d’aquí, haureu d’ampliar l’arxiu de distribució mitjançant l’ordre següent.
tar -xzf besu-.tar.gz
Amb els fitxers ampliats, passeu ara a la nova carpeta.
cd besu- /
bin / besu –help
Si l’última ordre s’executa correctament, s’ha creat correctament des de l’origen.
Per a Windows, el procés és pràcticament el mateix. Comenceu clonant el dipòsit, eliminant les proves, anant al directori de distribució, ampliant-lo i, finalment, comproveu si la instal·lació té èxit o no.
A partir de Besu
Impressionant, ara que tenim Besu preinstal·lat, ara l’hem d’executar. Per començar, heu de fer els passos següents.
- Dades de blocs locals
- Configuració del Gènesi
- Confirmeu que el node s’està executant o no
- Executeu el node per fer proves
El primer pas és configurar dades de blocs locals. Si us heu connectat a una xarxa anterior, haureu de desfer-vos de les dades de blocs locals. També podeu configurar l’opció –data-path per especificar les noves dades de blocs locals.
Podeu eliminar les dades de blocs locals del directori besu / build / distribution / besu-. Allà, suprimiu el directori de la base de dades i ja podeu començar!
Si feu servir Mainnet, Goerli, Rinkeby o Ropsten, la configuració de gènesi s’especifica quan us connecteu amb ells.
També podeu especificar l’atribut –network = dev per iniciar la configuració de gènesi amb nodes d’arrencada buits. A més, estableix la configuració de gènesi amb una dificultat baixa fixa.
Per confirmar si el node s’està executant, heu d’utilitzar l’opció habilitada per a –rpc – http. Un cop fet, utilitzeu cURL i, a continuació, truqueu als mètodes de l’API JSON-RPC. Si hi ha una resposta, el node s’està executant.
Finalment, per executar el node per provar-lo, heu d’utilitzar l’ordre següent
besu –network = dev –miner-enabled –miner-coinbase = 0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 –rpc-http-cors-sources = ”all” –host-whitelist = ”*” –rpc-ws-enabled –rpc-http-enabled –data path = / tmp / tmpDatdir
Privadesa a Hyperledger Besu
Les xarxes amb permís són conegudes per les seves funcions de privadesa. Besu no és diferent, ja que ofereix excel·lents opcions de privadesa. Amb Besu, podeu utilitzar-lo Privadesa conforme a l’EEE o Besu-Privadesa ampliada.
Per crear i gestionar grups de privadesa, podeu utilitzar els mètodes de l’API JSON-RPC ja disponibles. Aquests mètodes es poden utilitzar per crear i gestionar grups de privadesa
- priv_createPrivacyGroup
- priv_findPrivacyGroup
- priv_deletePrivacyGroup
Quan es tracta de transaccions, Besu només implementa transaccions restringides. Això es fa per garantir la privadesa i fer que les transaccions siguin privades.
Les transaccions es signen mitjançant una clau específica o una clau aleatòria. Si voleu iniciar la sessió amb una clau específica, haureu d’utilitzar el fitxer –privacy-marker-transaction-signature-key-file, que està disponible amb Hyperledger Besu.
Si esteu interessats, podeu consultar un tutorial detallat sobre com configurar la xarxa de transaccions privades aquí. Al tutorial, podeu trobar Orion com un dels requisits previs per començar.
Permisos a Hyperledger Besu
El permís és una part fonamental de qualsevol marc de cadena de blocs empresarial. El mateix passa amb Besu. Qualsevol xarxa amb permís envolta la idea de permetre només nodes específics. Participen i habiliten la xarxa fent una transacció o permetent transaccions.
En el cas d’una xarxa peer-to-peer, s’ha d’aplicar les regles dels nodes perquè es puguin fer permisos. És evident que ja és necessari un nivell de confiança per estar present abans que una xarxa amb permís es pugui publicar. Per garantir que els mals actors tenen un paper mínim aquí, cal prendre precaucions. Els actors dolents solters, per exemple, no poden afectar la presa de decisions de la xarxa. Unes normes i regles adequades també poden ajudar a identificar els actors dolents i eliminar-los quan són atrapats fent accions malicioses.
A part dels permisos de node, també hi ha una opció de permisos de compte que fan complir més normes i regulacions. El permís de compte es pot utilitzar per fer complir els requisits d’identitat i la incorporació. També ajuda a suspendre els comptes, a incloure a la llista negra els contractes trencats i a restringir els comptes en realitzar accions.
La cadena de blocs Hyperledger Besu proporciona tant local com onchain.
→ Permís local es fa a nivell de node. Per implementar-lo, s’utilitza un fitxer de configuració de permisos. Com que els permisos són locals, no afecten la xarxa. Això és útil sobre com funciona el node, que són independents de la resta de la xarxa. També cal protegir els nodes si passa alguna cosa malament.
→ Permisos onchain, d’altra banda, es codifiquen dins dels contractes intel·ligents. Els permisos Onchain són a tota la xarxa i tots els nodes el poden llegir i actualitzar. Els permisos Onchain només es poden modificar o actualitzar amb coordinació. A més, un cop s’actualitza, s’aplica a tota la xarxa.
Peu de foto: Funcionament dels permisos locals i OnChain
També podeu seguir aquesta guia per saber com configurar una xarxa de permisos a Besu.
Altres coses que val la pena esmentar
Hyperledger Besu GitHub: Si creieu que podeu contribuir a Hyperledger Besu, podeu consultar el dipòsit de Hyperledger Besu GitHub aquí.
Actualment, no hi ha el millor curs d’Hyperledger a Besu i, per això, també podeu consultar la documentació de l’usuari aquí. Tenen tutorials complets sobre com iniciar les xarxes de manera ràpida o com crear una xarxa privada.
Conclusió
Això ens condueix al final de la nostra guia d’inici de Hyperledger Besu. Aquí hem tractat moltes coses sobre Besu.
Aviat tractarem Hyperledger Fabric contra Besu aviat. Així que no oblideu subscriure-us al nostre butlletí.
A més, què en penseu? Comenta a continuació i fes-nos-ho saber.