Skip to content

Conversation

@ch1bo
Copy link
Member

@ch1bo ch1bo commented Oct 25, 2025

Adds a chapter on key dependencies and interactions with notably other Cardano protocol features to the Leios technical design and implementation plan as part of #542

In particular this covers on-disk storage, era/hard-fork coordination, Peras, Genesis, and Mithril.

I'm not 100% in the know on all statements contained and will tag a few people for focused review.

Rendered

@ch1bo ch1bo linked an issue Oct 25, 2025 that may be closed by this pull request
12 tasks
@ch1bo ch1bo force-pushed the ch1bo/dependencies-interactions branch from 34981ad to e1c1d19 Compare October 25, 2025 09:29
Copy link
Member Author

@ch1bo ch1bo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tagged potential reviewers on the new sections.


The implementation of Ouroboros Leios represents a substantial evolution of the Cardano consensus protocol that must integrate carefully with existing infrastructure and emerging features. This section examines the critical dependencies that must be satisfied before Leios deployment, identifies synergies with parallel developments, and analyzes potential conflicts that require careful coordination. The analysis informs both the implementation timeline and architectural decisions throughout the development process.

## On-disk storage of ledger state
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nfrisby @jsagredo @lehins I'd be most interested in your review here, thanks.

- Leios vote production thread can be generalized for Peras votes
- Network multiplexer handles three priority levels: Peras > Praos > Leios
- Shared telemetry and monitoring infrastructure
## Era and hard-fork coordination
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lehins @disassembler What is your take on upcoming eras and their schedule across hard-forks?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm planning to update this section based on your comment yesterday @lehins: we should be targeting the next-up era (Dijkstra) even if we might need to move things into a further era later. Besides, if we get the serialization specified and implemented for Dijkstra, we can "feature flag" it behind a protocol version easily and enable Leios in an intra-era hard-fork.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in f65a33c. Would you agree with that take?

- Enables incremental complexity management
Therefore, we suggest to target the `Euler` era for Leios deployment, with the option to advance the timeline into `Dijkstra` if the development schedule permits. This is preferrable because merging features into an era is expected to be easier than splitting an era into two during development. Consequently, targeting `Euler` also provides flexibility in addressing any unexpected technical challenges that emerge during implementation while ensuring that Leios development does not become a blocking dependency for other planned protocol upgrades.

## Interactions with Genesis
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not really a Genesis expert and would love to have this reviewed by someone in the know!

@nfrisby Would you be a good person to ask or you know who would be one?

@ch1bo ch1bo changed the title Write interactions with other protocols sections Leios design: Write interactions with other protocols sections Oct 27, 2025
Copy link
Member Author

@ch1bo ch1bo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed comments by @amesgen

@ch1bo ch1bo force-pushed the ch1bo/dependencies-interactions branch 2 times, most recently from 0f7df84 to 5e93857 Compare October 29, 2025 08:44
@ch1bo ch1bo force-pushed the ch1bo/implementation-plan branch from d345b94 to 659364c Compare October 29, 2025 08:53
Base automatically changed from ch1bo/implementation-plan to main October 29, 2025 08:53
@ch1bo ch1bo force-pushed the ch1bo/dependencies-interactions branch from 5e93857 to c536295 Compare October 29, 2025 08:54
@ch1bo ch1bo requested review from amesgen and jpraynaud October 29, 2025 09:18
Copy link
Member

@amesgen amesgen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving the Peras side of things 👍

Copy link
Member

@jpraynaud jpraynaud left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for the Mithril side 👍

@ch1bo ch1bo force-pushed the ch1bo/dependencies-interactions branch from a54934b to e5ac5c7 Compare October 29, 2025 11:50
@ch1bo ch1bo merged commit 005c45b into main Oct 29, 2025
1 of 2 checks passed
@ch1bo ch1bo deleted the ch1bo/dependencies-interactions branch October 29, 2025 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Write technical design and implementation plan

4 participants