Skip to content

Commit 0d58120

Browse files
ch1boyveshauser
authored andcommitted
Re-order chapters and sketch implementation design chapter
1 parent c268113 commit 0d58120

File tree

1 file changed

+91
-52
lines changed

1 file changed

+91
-52
lines changed

docs/leios-design/README.md

Lines changed: 91 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,6 @@ This document is a living artifact and will be updated as implementation progres
2323
| 0.1 | 2025-10-15 | Sebastian Nagel | Initial draft |
2424

2525

26-
#### Key Design Principles
27-
28-
> [!WARNING]
29-
> TODO: Needed, useful? What else to "front-load" before going into detail about architecture changes?
30-
31-
- **Security First**: Preserve Praos security guarantees throughout deployment
32-
- **Early Validation**: Test critical assumptions before full implementation
33-
- **Incremental Delivery**: Enable phased rollout with measurable milestones
34-
- **Ecosystem Compatibility**: Minimize disruption to existing infrastructure
3526

3627
# Overview
3728

@@ -56,6 +47,49 @@ As it was the case for the Praos variant of Ouroboros (TODO: cite shelley networ
5647
> - bounding resource usage and/or prioritizing certain tasks over others will be crucial for the system to act
5748
> - this stresses importance of non-functional requirements (per component), performance engineering and conducting benchmarks along the way
5849
50+
# Risks and mitigations
51+
52+
> [!WARNING]
53+
> TODO: Introduce chapter as being the bridge between changes and implementation plan; also, these are only selected aspects that inform the implementation (and not cover principal risks to the protocol or things that are avoided by design)
54+
55+
> [!NOTE]
56+
> Alternative: Move this chapter between Introduction/Overview and Architecture/Changes? Understanding the key threats does not require intimate understanding of node-level components, but having the key threats enumerated allows us to reference them when discussing details in the architecture chapter.
57+
58+
## Key threats
59+
60+
> [!WARNING]
61+
> TODO: Selection of key threats and attacks that further inform the design and/or implementation plan. Incorporate / reference the full [threat model](../threat-model.md)
62+
63+
### Protocol bursts
64+
65+
> [!WARNING]
66+
> TODO: important because
67+
> - was a prominent case in research
68+
> - acknowledges the wealth of data to be processed
69+
> - mitigation: freshest-first delivery / prioritization between praos and leios traffic
70+
> - motivates experiments/features revolving around resource management
71+
> - reference/include/move related RSK-.. items from impact analysis
72+
73+
### Data withholding
74+
75+
> [!WARNING]
76+
> TODO: important because
77+
> - can be done from stake- and network-based attackers
78+
> - trivially impacts high-throughput because no certifications happening
79+
> - however, more advanced, potential avenue to attack blockchain safety (impact praos security argument) when carefully partitioning the network
80+
> - mitigation: L_diff following the [security argument](https://github.com/cardano-scaling/CIPs/blob/leios/CIP-0164/README.md#protocol-security)
81+
> - motivates validation of optimistic and worst-case diffusion paths
82+
83+
## Assumptions to validate early
84+
85+
> [!WARNING]
86+
> TODO: Which assumptions in the CIP / on the protocol security need to be validated as early as possible?
87+
>
88+
> - Worst case diffusion of EBs given certain honest stake (certifying the EB) is realistic
89+
> - The cardano network stack can realize freshest first delivery (sufficiently well)
90+
> - A real ledger can (re-)process orders of magnitude higher loads as expected
91+
> - ...?
92+
5993
# Architecture
6094

6195
Ouroboros Leios is a significant change to the consensus protocol, but does not require fundamental changes to the overall architecture of the Cardano node. Several new components will be needed for the new responsibilities related to producing and relaying Endorser Blocks (EBs) and voting on them, as well as changes to existing components to support higher throughput and freshest-first-delivery. The following diagram illustrates the key components of a relay node where new and updated components are marked in purple:
@@ -607,56 +641,61 @@ Genesis (Ouroboros Genesis) enables nodes to bootstrap from the genesis block wi
607641
- Genesis nodes must understand Euler era blocks and track EB certification status
608642
- Initial Leios deployment can use trusted snapshots; full Genesis integration follows after Leios stabilization
609643

610-
# Risks and mitigations
611-
612-
> [!WARNING]
613-
> TODO: Introduce chapter as being the bridge between changes and implementation plan; also, these are only selected aspects that inform the implementation (and not cover principal risks to the protocol or things that are avoided by design)
614-
615-
> [!NOTE]
616-
> Alternative: Move this chapter between Introduction/Overview and Architecture/Changes? Understanding the key threats does not require intimate understanding of node-level components, but having the key threats enumerated allows us to reference them when discussing details in the architecture chapter.
617-
618-
## Key threats
619-
620-
> [!WARNING]
621-
> TODO: Selection of key threats and attacks that further inform the design and/or implementation plan. Incorporate / reference the full [threat model](../threat-model.md)
622-
623-
### Protocol bursts
624-
625-
> [!WARNING]
626-
> TODO: important because
627-
> - was a prominent case in research
628-
> - acknowledges the wealth of data to be processed
629-
> - motivates freshest-first delivery / prioritization between praos and leios traffic, and experiments/features revolving around this
630-
> - reference/include/move related RSK-.. items from impact analysis
631-
632-
### Data withholding
644+
# Implementation plan
633645

634646
> [!WARNING]
635-
> TODO: important because
636-
> - can be done from stake- and network-based attackers
637-
> - trivially impacts high-throughput because no certifications happening
638-
> - however, more advanced, potential avenue to attack blockchain safety (impact praos security argument) when carefully partitioning the network
639-
> - motivates validation of optimistic and worst-case diffusion paths
640-
641-
## Assumptions to validate early
647+
> TODO: Goals of this chapter / what to answer:
648+
> - Motivate a rough simulations -> prototype -> testnet plan;
649+
> - What kind of prototypes should we build?
650+
> - What experiments / tests should we conduct (on a testnet)?
651+
> - Are there non-explorative ways to validate?
652+
> - Which techniques help to mitigate which risks?
653+
> - What role does formal methods play here?
642654
643655
> [!WARNING]
644-
> TODO: Which assumptions in the CIP / on the protocol security need to be validated as early as possible?
656+
> TODO: potential outline
645657
>
646-
> - Worst case diffusion of EBs given certain honest stake (certifying the EB) is realistic
647-
> - The cardano network stack can realize freshest first delivery (sufficiently well)
648-
> - A real ledger can (re-)process orders of magnitude higher loads as expected
649-
> - ...?
650-
651-
## Validation approach
652-
653-
> [!WARNING]
654-
> TODO: What kind of prototypes should we build? What experiments / tests should we conduct (on a testnet)? Are there non-explorative ways to validate? Which techniques help to mitigate which risks? What role does formal methods play here?
655-
656-
# Implementation plan
658+
> - intro for a plan
659+
> - r&d is not a straight path (waterfall)
660+
> - mature a protocol design through various SRLs to be deployed onto cardano (intro from https://leios.cardano-scaling.org/docs/roadmap ?)
661+
> - introduce principles of validating early, continuous delivery and transparency (https://leios.cardano-scaling.org/docs/strategy#principles)
662+
> - increasing developer confidence, but also the confidence of governing bodies (SPOs and dReps) -> acceptance
663+
> - refer back to risks and mitigation chapter (what to validate early)
664+
> - which techniques are at our disposal?
665+
> - put simulation, prototyping/experiments, modeling, testing on a 4 quadrant picture?
666+
> - formal methods
667+
> - trails of evidence
668+
> - ensure correctness throughout multiple implementations along maturity and diversity dimensions
669+
> - trace verification
670+
> - simulations
671+
> - summarize what simulations bring to the table
672+
> - why two simulators?
673+
> - strengths and limitations of simulation
674+
> - keep maintenaining them?
675+
> - full control = great for adversarial scenarios, but accuracy needs to be validated
676+
> - prototypes
677+
> - what differentiates a prototype from a simulation or real implementation
678+
> - network prototype / diffusion only
679+
> - controlled environments: small devnets, P&T cluster
680+
> - antithesis to bridge the gap
681+
> - load tests to explore behavior using real network (latencies!)
682+
> - adversarial tests to explore attack scenarios
683+
> - other prototypes
684+
> - ledger validation benchmark
685+
> - crypto primitives prototype?
686+
> - public testnet
687+
> - what problem does it solve over testing in controlled environments
688+
> - what experiments to run on a public testnet
689+
> - "experience the throughput" (and chain growth) -> which parameters are good for the community?
690+
> - software readiness levels and what powers the testnet
691+
> - mature prototypes vs. implementing changes from scratch to get release candidates
692+
> - testnet as an integration point (instructions, tools, APIs)
657693
658694
> [!WARNING]
659-
> TODO: Motivate a rough simulations -> prototype -> testnet plan;
695+
> TODO: more thoughts
696+
> - why (deltaq) modeling? quick results and continued utility in parameterization
697+
> - parameterization in general as a (communication) tool; see also Peras' parameterization dashboard https://github.com/tweag/cardano-peras/issues/54
698+
> - what's left for the hard-fork after all this? more-and-more testing / maturing, governance-related topics (new protocol parameters, hard-fork coordination)
660699
661700
# Glossary
662701

0 commit comments

Comments
 (0)