Skip to content

Commit ace84dc

Browse files
authored
Preliminary analysis of mainnet transaction validation times (#465)
* Preliminary analysis of block and transaction validation times * Updated logbook
1 parent e271b13 commit ace84dc

File tree

3 files changed

+857
-1
lines changed

3 files changed

+857
-1
lines changed

Logbook.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22

33
## 2025-07-19
44

5+
### Preliminary analysis of block and transaction validation times
6+
7+
We undertook basic preliminary analysis of block and transaction validation times for Cardano `mainnet` since Epoch 350.
8+
9+
Findings:
10+
11+
1. The `db-analyser` tool can be used to measure the Cardno block-application time, either including or not including verifying transaction signatures and running Plutus scripts.
12+
2. The output of this tool is quite noisy and does not include enough of the explanatory variable for predicting CPU times for transactions or blocks.
13+
3. The missing explanatory variables (size of UTxO set, number of inputs, number of outputs, etc.) can be extracted from the ledger or `cardano-db-sync`.
14+
4. For transaction signature verification and Plutus script execution, the median times are . . .
15+
- 0.53 ms/tx
16+
- 0.29 ms/kB
17+
- Jointly via a linear model, 0.066 ms/tx plus 0.221 ms/kB.
18+
5. The noise in the data and the uncertainty in predictions make the above values unsuitable for estimating individual transactions but suitable for bulk estimates of many blocks.
19+
6. A more sophisticated double general linear model could be used to generate artificial transaction workloads.
20+
21+
See [the Jupyter notebook](analysis/timings/preliminary.ipynb) for evidence and details.
22+
523
### Study of timestep effects in simulators
624

725
We compared the 1000 TPS Full Leios simulation results (Rust) at two time resolutions, 0.100 ms and 0.025 ms. No significant differences in results were found. This means that we can safely run simulations at the coarser time step; such enable greater parallelism in the simulator and shorter wallclock times. See [the Jupyter notebook](analysis/sims/2025w27/analysis.ipynb) for comparisons, evidence, and details.

analysis/linear-leios-probabilities.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"p_\\text{cert} = (1 - f) ^ {(L_\\text{vote} + L_\\text{diff})} .\n",
2424
"$$\n",
2525
"\n",
26-
"Let $rho$ be the ratio of the maximum size of an EB to the maximum size of an RB. Also let $\\digamma$ be the ratio of Leios throughput to Praos throughput. One computes this as\n",
26+
"Let $\\rho$ be the ratio of the maximum size of an EB to the maximum size of an RB. Also let $\\digamma$ be the ratio of Leios throughput to Praos throughput. One computes this as\n",
2727
"\n",
2828
"$$\n",
2929
"\\digamma = (1 - p_\\text{cert}) + p_\\text{cert} \\cdot (1 + \\rho) = 1 + \\rho \\cdot (1 - f) ^ {(L_\\text{vote} + L_\\text{diff})}\n",

0 commit comments

Comments
 (0)