Skip to content

Commit 45bccdf

Browse files
Weekly Update 2025-04-14 (#306)
* site: weekly update
1 parent fae742b commit 45bccdf

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: Weekly Summary – April 14, 2025
3+
authors:
4+
- will
5+
tags: [progress, update, weekly]
6+
---
7+
8+
This week, the team achieved significant milestones in both the Haskell and Rust simulations, improved cost estimates, and conducted comprehensive analyses of transaction lifecycle and Full Leios simulations.
9+
10+
### Simulation improvements
11+
12+
#### Haskell simulation
13+
- Completed first draft of new mini protocols for leios diffusion
14+
- Protocols modeled after BlockFetch and node-to-node Tx-Submission from ouroboros-network
15+
- IB-relay, EB-relay, Vote-relay for header diffusion and body announcements
16+
- IB-fetch, EB-fetch for body diffusion
17+
- CatchUp protocol for older blocks
18+
- See `simulation/docs/network-spec` for complete protocol details
19+
- Renamed `short-leios` command to `leios` since it now covers full variant as well
20+
- `short-leios` is kept as alias for compatibility
21+
22+
#### Rust simulation
23+
- Fixed conformance with shared trace format
24+
- Fixed bug with voting logic which was preventing EBs from receiving enough votes to get on-chain
25+
- Updated visualization to use smaller trace files to prepare for hosting on docs site
26+
27+
### Revisions to cost dashboard
28+
29+
The [cost dashboard](https://leios.cardano-scaling.org/cost-estimator/) was updated with lower and more realistic IO estimates.
30+
31+
### Analysis of transaction lifecycle
32+
33+
The Jupyter notebook [Analysis of transaction lifecycle](https://github.com/input-output-hk/ouroboros-leios/blob/leios-2025w17/analysis/tx-to-block.ipynb) estimates the delay imposed by each of the seven stages of Full Leios as a transaction moves from memory pool to being referenced by a Praos block.
34+
35+
Key findings from the analysis:
36+
1. There seems little advantage to moving to stage lengths less than 10 slots
37+
2. The number of shards should be kept small enough so that the IB rate per shard is high relative to the stage length
38+
3. Low EB rates result in many orphaned IBs
39+
4. Realistic parameter settings result in an approximately two-minute delay between transaction submission and its referencing by an RB
40+
41+
Potential next steps:
42+
- Translating this model into Delta QSD to include network effects
43+
- Comparing this model's results to output of the Rust simulator
44+
- Elaborating the model to represent the memory-pool and ledger variants under consideration
45+
46+
### Simulation and analysis of Full Leios
47+
48+
The team conducted comprehensive simulations using both Haskell and Rust simulators at tag [leios-2025w16](https://github.com/input-output-hk/ouroboros-leios/releases/tag/leios-2025w16). The simulations covered 648 scenarios of Full and Short Leios with varied parameters:
49+
- IB production rate
50+
- IB size
51+
- EB production rate
52+
- Stage length
53+
- CPU constraints
54+
55+
Two new output files were generated:
56+
1. Summary of network, disk, and CPU resource usage over the course of the simulation
57+
2. Vertices and edges of the "Leios graph" showing linkages between transactions, IBs, EBs, RBs, and votes (can be visualized as an interactive web page)
58+
59+
Key findings:
60+
- Agreement between Rust and Haskell simulations is generally quite close
61+
- The Haskell simulation experiences network congestion at 16 IB/s, but the Rust simulation does not
62+
- The Rust simulation uses more CPU at high IB rates than the Haskell simulation
63+
- The Rust simulation sometimes does not produce enough votes to certify an EB
64+
65+
Detailed results are available in the Jupyter notebook [analysis/sims/2025w16/analysis.ipynb](https://github.com/input-output-hk/ouroboros-leios/blob/leios-2025w17/analysis/sims/2025w16/analysis.ipynb).

0 commit comments

Comments
 (0)