Skip to content
A comparison of Ethereum clients
Nischal Sharma

Published On - April 18, 2023

A comparison of Ethereum clients

Ethereum has a diverse ecosystem of clients that run on the network. An Ethereum client represents the software needed to allow Ethereum nodes to read and verify blocks on the Ethereum blockchain and Ethereum-based smart contracts. An Ethereum client also enables developers to interact with the network and its nodes through several programming languages.

Examples of Ethereum clients include Geth (go-ethereum), Hyperledger Besu, Teku and Lighthouse. The former two are known as execution clients, responsible for executing smart contracts and transactions on the network, the latter two are consensus clients responsible for providing consensus or agreement between nodes. As blockchains are massively distributed, decentralised networks, having consensus is very important, as those nodes that are executing transactions need to be in sync with each other.

Each client has its strengths and weaknesses, and choosing the right one for your needs is critical. In this blog post, we will compare the three popular Ethereum clients: Besu, Geth, and GoQuorum.

A brief history of Ethereum Clients

 

Hyperledger_Besu_color 2

 

Besu is an open-source Ethereum client developed under the Hyperledger umbrella. It is written in Java and is known for its scalability and performance. Besu supports Proof of Work (PoW), Proof of Stake (PoS) and Proof of Authority (POA) consensus algorithms like QBFT, IBFT and others, making it a versatile client. Besu also supports privacy and permissioning through its integration with the Tessera, which can be used to create private transactions.

Besu, formerly known as Pantheon, was created in 2018 by PegaSys, a software company that is part of the ConsenSys family. The client is actively developed and has a strong community of contributors, including us here at Web3 Labs. Besu is compatible with the Ethereum Virtual Machine (EVM) and supports among others the Solidity smart contract programming language.

 

Kl-bliNn_400x400

Geth is one of the original Ethereum clients and is written in Go. It is the most widely used client on the Ethereum network and is known for its stability and reliability. Geth supports PoW and PoA consensus, in addition to PoS as used on mainnet.

Geth was created in 2014 by Ethereum co-founder Jeffrey Wilcke. The client is actively developed and has a large community of contributors. Geth is compatible with the EVM and supports the Solidity and other EVM compatible smart contract programming languages.

 

logo

 

GoQuorum is an open-source Ethereum client developed by J.P. Morgan. It is written in Go and is designed for use in enterprise blockchain solutions. GoQuorum supports PoA (Proof of Authority) consensus algorithms like QBFT, IBFT and others. The client includes privacy features through its integration with the Tessera.

GoQuorum was created in 2016 by J.P. Morgan and is actively developed. The client came about as a fork of Geth, and as such is licensed under the GPL open source licence.

Comparing Ethereum Clients

Now that we have an overview of each client, let's compare them based on several criteria:

A comparison of Ethereum Clients
  Besu Geth GoQuorum
Performance

Besu is known for its scalability and performance, making it an excellent choice for enterprise use cases.

Geth is also performant, but it has a limit on the number of transactions per second that it can handle.

 

GoQuorum is designed for use in enterprise blockchain solutions and is highly scalable.

 

Consensus Algorithm

Besu supports both PoW, PoS and PoA consensus algorithms, making it versatile.

Geth currently supports PoW and PoS consensus.

 

GoQuorum supports only PoA consensus algorithms.

 

Privacy

Besu supports privacy through its integration with Tessera.

 

Geth does not support any private transactions.

 

GoQuorum supports privacy through its integration with Tessera.

Development

All three clients are actively developed, have large communities of contributors and are compatible with the EVM and support Solidity and other EVM compatible smart contract programming languages.

Usage

Besu is built for enterprise and production use cases.

 

Geth is used more for production (Ethereum mainnet) and development & testing of smart contracts on mainnet.

GoQuorum is primarily used in private blockchain networks.

 

Public vs private

Besu is used in both public and private blockchain networks.

Geth is used in public networks.

 

GoQuorum is primarily used in private networks.

 

Features

Besu has a number of enterprise features, such as privacy, permissioning, and integration with enterprise systems.

 

Geth has a strong focus on the core Ethereum protocol, and has a number of developer tools and libraries.

 

GoQuorum has been designed for use in private networks, and includes features such as privacy, permissioning, and a raft consensus mechanism.

 

Choosing the right Ethereum client depends on your specific use case. If you need high performance, scalability and privacy features, Besu or GoQuorum may be the right choice. If you prioritise stability, reliability and fast Ethereum core protocols support, Geth may be the way to go. All three clients are actively developed and have large communities of contributors, making them excellent choices for building on the Ethereum network.

 

If you want to understand these clients better and how they can help you with your blockchain network needs, why not reach out to us here at Web3 Labs?

 
 
The Chainlens Blockchain Explorer provides all of the business metrics you need to support your blockchain and smart contract applications.
We provide SLA-backed production support for Ethereum networks running Quorum and Hyperledger Besu.
Traditional financial markets infrastructure is being redefined by blockchain and DLT technology. We can ensure you’re prepared.
With dedicated support from the creators of Web3j you can ensure you have a trusted partner to support your most critical blockchain applications.
Ethereum, Quorum, Hyperledger Besu