AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


Benchmarking Resource Usage of Blockchain Clients

Authors

;

Term

4. term

Education

Publication year

2023

Abstract

Denne kandidatafhandling undersøger, hvordan man kan benchmarke blockchain-klienters forbrug af computermæssige ressourcer fremfor kun transaktionsgennemløb. Spørgsmålet er: Hvordan kan ressourceforbrug benchmarkes i populære blockchain-klienter i et privat netværk? Forfatterne designer og bygger et proof-of-concept udelukkende med standardkomponenter: Docker til at orkestrere containeriserede noder og Glances til at overvåge CPU, hukommelse og netværksforbrug. Flere blockchains blev overvejet, og private netværk blev forsøgt for Bitcoin, Ethereum og Hyperledger Sawtooth; kun Ethereum-klienten Geth nåede en stabil tilstand og blev benchmarket. På en universitetsserver kørte gruppen Ethereum-netværk med konsensusmekanismerne Ethash (proof of work) og Clique (proof of authority) og indsamlede ressource-målinger, opsummeret i tabeller og grafer. Resultaterne viser, at proof of authority i dette setup havde markant lavere CPU-forbrug end proof of work, tilsvarende netværksforbrug og hurtigere vækst i hukommelsesforbrug. Arbejdet demonstrerer, at det er muligt at benchmarke blockchain-klienters ressourceforbrug med standardværktøjer og peger på begrænsninger og fremtidige forbedringer for at generalisere metoden.

This master’s thesis investigates how to benchmark the computational resource usage of blockchain clients rather than focusing solely on transaction throughput. It asks: How can resource usage be benchmarked in popular blockchain clients inside a private network? The authors design and build a proof of concept using only off-the-shelf components: Docker to orchestrate containerized nodes and Glances to monitor CPU, memory, and network consumption. Several blockchains were considered, and private networks were attempted for Bitcoin, Ethereum, and Hyperledger Sawtooth; only the Ethereum client Geth reached a stable state and was benchmarked. On a university server, the team ran Ethereum networks using the Ethash proof-of-work and Clique proof-of-authority mechanisms and collected resource metrics, summarized in tables and graphs. The results show that, in this setup, proof of authority had significantly lower CPU usage than proof of work, similar network usage, and faster growth in memory consumption. The work demonstrates the feasibility of benchmarking blockchain clients’ resource usage with off-the-shelf tooling and points to limitations and future improvements needed to generalize the approach.

[This summary has been generated with the help of AI directly from the project (PDF)]