|
1 | 1 | --- |
2 | | -title: Weekly Summary - 2025-04-07 |
| 2 | +title: Weekly Summary - April 7, 2025 |
3 | 3 | authors: |
4 | 4 | - will |
5 | 5 | tags: [progress, update, weekly] |
6 | 6 | --- |
7 | 7 |
|
8 | 8 | This week, the team continued their efforts in refining the protocol and its simulation capabilities. The team made significant progress in addressing various topics. |
9 | 9 |
|
10 | | -# Workshop summaries |
| 10 | +### Simulation improvements |
11 | 11 |
|
12 | | -Unfortunately, there are no workshop summaries for this week. If another week is provided, I can assist further. |
| 12 | +#### Haskell simulation |
| 13 | +- Started specification of a new relay protocol for IB header diffusion without body |
| 14 | +- Improved the shared log format by removing redundancies and harmonizing naming |
| 15 | +- Added support for extra events required by conformance testing, including `SlotEvent` and `NoBlockEvent` |
| 16 | + - These events can be enabled using the `--conformance-events` flag with `--shared-log-format`. |
13 | 17 |
|
14 | | -## Simulation progress |
| 18 | +#### Rust simulation |
| 19 | +- Updated traces to match the new standardized trace format |
| 20 | +- Fixed a critical bug related to CPU scheduling where nodes were using more cores than allocated. |
15 | 21 |
|
16 | | -- **Haskell simulation** |
17 | | - - Started specification of a new relay protocol for IB header diffusion without body, documented in `simulation/docs/network-spec`. |
18 | | - - Removed redundancies and harmonized naming in `--shared-log-format`, with a new base schema both simulations share in `data/simulation/trace.shared.d.ts`. |
19 | | - - Added support for extra events required by conformance testing, including `SlotEvent` and `NoBlockEvent` in the schema. |
| 22 | +### Analysis workflow optimization |
20 | 23 |
|
21 | | -## Ongoing investigations |
| 24 | +The team significantly improved the workflow for analyzing both Haskell and Rust simulations: |
22 | 25 |
|
23 | | -- Investigating the effects of dishonest nodes that diffuse unbounded amounts of old IBs on IB delivery reliability and protocol performance under such conditions. |
24 | | -- Working on quantifying settlement times and their impact on protocol performance. |
25 | | -- Exploring integration possibilities with Ouroboros Peras, mainly focusing on potentially reusing their voting mechanism to reduce resource consumption. |
| 26 | +- Replaced MongoDB with more efficient `jq` queries using map-reduce operations |
| 27 | +- Created reusable library functions for plotting with R |
| 28 | +- Revised and streamlined scripts for creating, executing, and analyzing simulations |
| 29 | +- Made the Jupyter notebook for analyses more generic and reusable |
| 30 | +- Successfully tested the new workflow on tag `leios-2025w15` |
26 | 31 |
|
27 | | -## Additional resources |
| 32 | +These improvements will enable faster setup and execution of future simulation experiments, with quicker turnaround times for analysis. During this optimization work, several discrepancies between the Haskell and Rust simulations were identified and documented as GitHub issues for future investigation. |
28 | 33 |
|
29 | | -- [GitHub discussions](https://github.com/input-output-hk/ouroboros-leios/discussions/243) – EB ledger states and 'history rewriting' effects. |
| 34 | +### Edinburgh Workshop Recaps |
| 35 | + |
| 36 | +The Edinburgh Workshop documentation has been made available, covering key discussions and decisions: |
| 37 | + |
| 38 | +#### Day 1 Highlights |
| 39 | +- Explored ledger design options comparing Labeled UTxOs (Explicit Shards) vs Accounts (Implicit Shards) approaches |
| 40 | +- Discussed conformance testing strategies including QuickCheck Dynamic and Trace Verification approaches |
| 41 | +- Analyzed critical edge cases for user onboarding and system properties |
| 42 | + |
| 43 | +#### Day 2 Highlights |
| 44 | +- Detailed analysis of Leios node costs at different TPS levels |
| 45 | +- Key findings on resource usage: |
| 46 | + - At 10 TPS: 1.8x increase in egress and 6x increase in compute compared to Praos |
| 47 | + - At 1K TPS: Significant scaling improvements with better resource efficiency |
| 48 | +- Recommendations for potential integration with Peras, particularly for voting mechanism optimization |
| 49 | +- Discussion of performance characteristics at both high and low throughput levels |
| 50 | + |
| 51 | +#### Day 3 Highlights |
| 52 | +- In-depth discussion of optimistic ledger state references, exploring three main approaches: |
| 53 | + 1. RB Reference: Highest security but highest latency |
| 54 | + 2. EB Reference: Balanced approach with medium security and latency |
| 55 | + 3. EB-DAG: Advanced approach using directed acyclic graph structure |
| 56 | +- Key advantages of the EB-DAG approach: |
| 57 | + - Achieves low latency while maintaining security |
| 58 | + - Provides strong inclusion guarantees for EBs |
| 59 | + - Enables efficient state management and reconstruction |
| 60 | + - Creates complete, verifiable chain history |
| 61 | +- Implementation considerations for state management and block ordering in the EB-DAG approach |
| 62 | + |
| 63 | +For detailed information, see the full workshop recaps in the [Leios documentation](https://github.com/input-output-hk/ouroboros-leios/tree/main/docs/workshop). |
0 commit comments