## 6 Tools
### Blockchain Platforms
#### 6.2.1 Hyperledger  
Hyperledger provides several Distributed Ledger Technologies (DLT) for various enterprise business applications. These technologies were built to be integrable with each other for mutual benefits.  
Hyperledger Besu [95] is an Ethereum client made to interact with public Ethereum networks and private networks that run on an EVM. Even so, it has the proper permission schemes for consortium networks. Besu offers the possibility to utilize PoW, PoA, and IBFT consensus protocols, and it is programmed in Java. Through the integration of tools like Truffle, Remix, and web3j, Besu offers the means for smart contract and decentralized applications (dapps) development. However, Besu does not provide support for key management (creation, attribution, authentication), relying on a third-party key management tool, like EthSigner.  
Hyperledger Burrow [96] is a Blockchain node and smart contract execution engine that runs on an EVM and is optimized for public networks, but can also work in permissioned (private or consortium) networks. Burrow is developed in Go and offers consensus through BFT with the Tendermint algorithm. It was made to make Blockchain implementation simple, light, and fast. Burrow provides developers with bare-metal implementation instead of virtualization (containers). Smart contracts in Burrow are On-Chain and are written in the native language. It trades configurability and modularity with tight coupling of components, which removes the need to care about the underlying infrastructure.  
Hyperledger Fabric [97] is a framework, developed in Go, for private permissioned networks. It is highly modular, configurable, and pluggable, giving the developers the freedom to choose what technologies to implement and how to implement them (e.g., consensus protocols). Even so, generic Fabric works with PoS, but it can be changed to any intended one. Smart contracts are installed in the nodes and are developed in Golang before version 1.0, inclusive, or in Javascript from version 1.1 forward, and run in container environments. That said, a new approach to how peer nodes verify the execution of smart contracts removes the worry of non-determinism since deviant results are filtered before consensus, which allows Smart contracts to be written in standard programming languages and executed in a parallel fashion. Finally, Fabric does not require the implementation of a cryptocurrency for consensus.  
Hyperledger Iroha [98] is a simple Blockchain framework, written in C++, for private permissioned networks, that is made to help and ease application development with a variety of libraries, offering a lower complexity and easier management solution, with verifiable data consistency at low costs (with no mining, since it does not have a cryptocurrency) of Blockchain. It uses the high-performance YAC consensus protocol and provides built-in smart contracts (commands), which are On-Chain. Iroha presents robust permission and role-based access control over the nodes and the network.  
Hyperledger Sawtooth [99] is a highly modular and configurable Blockchain framework for private networks that offers an easy environment for application developers by allowing them to program in any language. Contract abstraction allows developers to write contract logic in the language of their choice through SDK transaction processors. Sawtooth offers Raft, PBFT, and PoET as options for consensus protocols, and a novelty is the fact that these consensus protocols can change during runtime to cater to the needs of the users. In Sawtooth's architecture, there is only one node type, which eases development, simplifying interactions.