Skip to content

BlockchainBench

Simulate blockchain configurations, measure them along decentralization, security and scalability, and find the Pareto-optimal trade-offs.

The problem

A blockchain cannot have everything

Decentralization, security and scalability pull against each other. Involve more validation nodes and communication overhead grows, so throughput falls. Harden consensus with more demanding algorithms and fewer machines can participate, so decentralization falls.

BlockchainBench makes that trade-off measurable instead of anecdotal: every configuration you simulate becomes a point on all three axes at once.

DecentralizationSecurityScalability

Architecture-based simulation

Built on Palladio and 3SIM

Configurations are simulated against the Palladio blockchain systems platform (3SIM / BSCM), driven headlessly in standalone mode. You submit a set of simulation configurations together with one base configuration that holds the parameters they share.

Out of it comes a Pareto analysis over the three trilemma axes and a comparison across the runs of the group. Every run is measured for wall-clock time and memory and persisted as a typed JSON document, so experiments stay traceable and reproducible.

InputSimulationConfigurationsBase Configshared parametersBlockchainModelBlockchainBench3SIM / PalladioOutputParetoAnalysisSimulationComparisonJSON Exportone file per run

Pareto analysis

Find the best compromises, not one winner

Because no configuration maximizes all three axes, the useful answer is a set of configurations that nothing else beats outright. BlockchainBench normalizes the raw metrics onto a common scale, projects every run into the unit cube, and computes the non-dominated front.

The result is explored in an interactive 3D view: drag to rotate, scroll to zoom, and check individual runs to highlight them. Dominated runs stay visible but recede, so the front is easy to read.

DecentralizationSecurityScalability

Modelling

Build the systems you want to compare

A blockchain system is described as a model: the peer-to-peer topology, how many validation nodes exist and how they are allocated across geographical regions, the component repository, and the properties of the transactions flowing through it.

The built-in editor walks that model as a tree and edits any element in place. Save it, point a configuration at it, and it goes straight into the next simulation group.

EuropeNorth AmericaAsiavalidation nodes · P2P topology · regions

Simulation analysis

Compare runs metric by metric

Every run keeps its full record: the input configuration, the base configuration, wall-clock time and memory, and each metric with its unit, standard deviation and coefficient of variation.

Any single metric can be charted across all runs of a group, with the selected run set against the group average — which makes an outlier obvious long before you open the raw numbers.

group averageRun 1Run 2Run 3Run 4Run 5selected runother runsaverage value

Run batches, not one-offs

Submit a whole CSV of configurations at once. Runs execute sequentially on a worker thread and you poll for progress — from the desktop UI or headlessly.

Two evaluation modes

A normal trilemma run measures throughput, decentralization and reliability. An attack run simulates a selfish-mining and double-spending adversary.

Monte-Carlo or single runs

Average out randomness over many rounds, reported with standard deviation and coefficient of variation — or run one deterministic simulation.

Build your own models

Create and edit blockchain system models directly, then feed them straight into a simulation group.

Two routes, depending on whether you want to use the tool or work on it.

For users

Standalone build

A packaged executable bundling the desktop application with the core engine, the shared models and their dependencies. Download it, start it, run simulations.

  • No Eclipse installation
  • No update sites or build path setup

Coming soon

For developers

Build from source

Install the 3SIM features into Eclipse, add the standalone-initialisation libraries, and wire up JavaFX. Longer, but it gives you the sources.

  • Extend the metric registry or add simulation modes
  • Drive the engine yourself through IBlockchainBench
Setup guide

Three views of the desktop application.

If you use BlockchainBench in academic work, please cite it:

BibTeX
@software{blockchainbench,
title = {BlockchainBench: A Benchmarking Harness for the Blockchain Trilemma},
author = {TODO},
year = {2026},
url = {https://gitlab.uni-ulm.de/sp_qdse/blockchainbench}
}

Built at Ulm University, Institute of Software Engineering and Programming Languages.