A public blockchain, also known as an open or permissionless blockchain, is one where anybody can join the network freely and establish a node. Because of their open nature, these blockchains must be secured with cryptography and a consensus system like proof-of-work.
A private or permissioned blockchain, on the other hand, requires each node to be approved before joining. Because nodes are considered to be trusted, the layers of security do not need to be as robust.
Hyperledger Burrow is software that can be used to run nodes in a permissioned blockchain network. Because the participants in permissioned blockchains are known and trusted by the rest of the network, it is possible to achieve higher speeds and throughput than permissionless chains.
Unlike proof-of-work blockchains such as Ethereum, Hyperledger Burrow uses a Byzantine Fault-Tolerant consensus algorithm to establish transaction finality. There are no mining or transaction costs, and it can execute smart contracts at a much greater scale than open blockchains.
While it is similar to many other Hyperledger blockchain tools, the focus for Hyperledger Burrow is to provide a "clean and simple" developer experience.
The key component of Hyperledger Burrow is a permissioned implementation of the Ethereum Virtual Machine, which allows it to interact with smart contracts on other Ethereum-based networks.
Byzantine Fault Tolerance is a mechanism that enables a decentralized, trustless network to function even in the presence of malfunctioning or malicious nodes. Most common consensus mechanisms, like proof of work and proof of stake, are designed to be Byzantine Fault Tolerant.
The Byzantine node refers to the traitor node which could lie or mislead other nodes in the network intentionally. The byzantine node could also mislead or lie to the nodes that are involved in the consensus protocol. A perfectly operational blockchain network would ensure that Byzantine Fault Tolerance in blockchain helps it in overcoming failures. Byzantine nodes or malicious nodes can lead to certain pitfalls known as Byzantine failures.
Users could come across two distinct types of Byzantine failures, with the first one being completely technical in nature. A slight technical error in the node could affect its functionality, and in some cases, it might stop responding or working altogether. The other type of Byzantine failure refers to arbitrary node failure. In the case of an arbitrary node failure, a node might show the following traits,
Byzantine Fault Tolerance helps in overcoming all these challenges effectively by reducing the impact of malicious nodes. It can protect the network from dangerous system failures and ensure the ideal functioning of the network