Understanding Hyperledger Besu, the technology on the rise.
The project formerly known as Pantheon which is now Hyperledger Besu, enables the construction of public Blockchain through an Ethereum client and permissioned blockchain. The core development of Besu has been led by Pegasys, an engineering team linked to Consensys. Airtrace is aware that the essence of Blockchain technology is transparency but also privacy in certain aspects, which is why Besu has been chosen for building the infrastructure.
Hyperldeger Besu is an open source Ethereum client written in java. Its main utility is to enable the use of public networks such as Ethereum and to create private networks for companies based on Blockchain technology. Besu is compatible with Ethereum's mainnet and test networks such as Ropsten. On the other hand, it includes the EVM (Ethereum Virtual Machine), thus enabling the execution and deployment of Smart Contracts and Dapps in both public and private or consortium networks. In addition, it is compatible with ethereum development tools such as Truffle, Remix (Solidity) or web3j.
Besu follows the technical specifications of the EEA (Ethereum Enterprise Alliance), an organization that aims to create open standards within the Ethereum ecosystem to accelerate the adoption of this technology.
Hyperldeger Besu can keep transactions secure and private depending on the needs of the business and also allows the configuration of different access permissions thus having local permissions at the node level and chain permissions at the network level. In addition, both nodes and the network can be managed through third-party tools and it has a block explorer that gives real-time information of what is happening (Grafana & Prometheus). Deploying a node on the ethereum public network can give more trust and additional transparency to use cases. However, you cannot connect to a public network and a private network at the same time.
Grafana & Prometheus
The use of "Grafana" software for data visualization and Prometheus for data collection and processing are two technologies that Hyperledger Besu makes available to us. On the one hand, Grafana is an open-source software tool that allows the visualization of previously collected time series data. This data can be visualized in a fully understandable graph and on the other hand Prometheus is a monitoring and alerting software that stores all the data and metrics in the database as time series to be used later by Grafana to display them in graphs. The main objective is to present the monitoring data more understandably and pleasantly.
The utility of an Ethereum client
An Ethereum client is any node capable of parsing and verifying the blockchain, Smart Contracts, and everything related to the blockchain. Through a client, developers can be allowed to interact through APIs with the network and other nodes on the chain. In addition, you can process transactions, store data, enable P2P communications between nodes, make use of third-party tools such as Truffle or Remix (Solidity) for Smart Contracts. The most widely used programming languages are Go, Rust, Java, and C#.
Nodes in Besu
Hyperledger Besu allows working with two types of Nodes. First, there are the Full Nodes. This type of nodes allows sending and signing transactions, checking current balances, accessing the current state of the network and checking the current data of a DApp. However, they cannot serve the network with all data requests, i.e. they cannot access the balance of an account in an old block. Archive Nodes, on the other hand, can perform the same actions as full nodes, but also store the intermediate states of each account and contract from the genesis block, thus being able to access "historical" data. Each node uses a private/public key pair and a node address that is used as the node identifier.
Privacy by Tessera Nodes
An important feature of Besu is the way in which it can provide privacy when handling private transactions. Transactions between participants that are private cannot be seen by other participants. On the other hand, the content or list of participants is also not accessible to other participants, thus providing a high degree of privacy through Tessera nodes.
Each node must have an associated Tessera node for this privacy to work. In this way, private transactions between participants will be generated in Besu nodes and then passed to the associated Tessera nodes to manage them. Finally, Tessera nodes will encrypt and distribute the private transactions among the other Tessera nodes involved in the transaction. Both the private transaction distributed by the Tessera nodes and the transaction on the public blockchain have an associated nonce
Although each participant in the Besu network must have two types of associated nodes, the network can also be configured so that more than one participant can use the same Besu node and associated Tessera. That is, privacy groups can be managed using the Enterprise Ethereum Alliance privacy (EEA) to indicate the recipient(s) and Besu-Extended privacy to indicate the ID of the privacy group containing the recipient(s).
Tessera nodes can thus manage private transactions using the group identifier that contains a set of nodes. Each Tessera node contains the public state for the blockchain and the private
Consensus protocols in Besu
When deploying the Besu client on a node, the type of consensus with which a client will work must be indicated. Some of the protocols are:
|Ethash (Proof Of Work):||This is the protocol used by the Ethereum network on the mainnet.|
|Clique (Proof of Authority||It is used for private networks and for Ethereum's Rinkeby and Goerli testnet. Transactions and blocks are validated in turn by what are known as "Signers" which are pre-approved accounts. To add new signers a vote must be taken.|
|IBFT 2.0 (Proof of Authority):||This system can be used in private networks as well. Accounts (known as validators) take turns validating transactions and blocks. For a block to be added to the chain, at least 66% of validators must sign the block. On the other hand, adding a new validator requires more than 50% approval.|
|Quorum IBFT 1.0 (Proof of Authority):||It is mainly used in Quorum networks and does not allow Besu nodes to be validators but they can send and receive transactions. However, it can neither validate transactions nor blocks.|
Through H.Besu we can create scalable and high-performance applications, which is a very important point when creating a project with high expectations such as Airtrace. Besu provides opportunities for enterprises to leverage the benefits of public network use cases and also adds an extra layer of privacy, further balancing the trilemma of scalability, security, and decentralization..
On the other hand, Hyperledger Besu is gaining a lot of momentum lately and is being adopted by different entities that see its potential use. Airtrace sees great potential in the use of Besu for building the Blockchain and it is believed as some say that with the use of a public blockchain we are making use of the "essence" of a Blockchain: decentralization. From Airtrace we intend to create an easy and simple way for you to adapt Blockchain technology in your processes through API calls (and more tools that will be seen later) that allow you to access the network based on Hyperledger Besu transparently, securely and without major complications.