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.
The problem
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.
Architecture-based simulation
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.
Pareto analysis
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.
Modelling
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.
Simulation analysis
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.
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
A packaged executable bundling the desktop application with the core engine, the shared models and their dependencies. Download it, start it, run simulations.
Coming soon
For developers
Install the 3SIM features into Eclipse, add the standalone-initialisation libraries, and wire up JavaFX. Longer, but it gives you the sources.
IBlockchainBenchThree views of the desktop application.



If you use BlockchainBench in academic work, please cite it:
@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.