- 
                Notifications
    You must be signed in to change notification settings 
- Fork 9
Leios design: Write interactions with other protocols sections #594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
34981ad    to
    e1c1d19      
    Compare
  
    There was a problem hiding this 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 | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - 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 | 
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 | 
There was a problem hiding this comment.
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?
There was a problem hiding this 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
0f7df84    to
    5e93857      
    Compare
  
    d345b94    to
    659364c      
    Compare
  
    5e93857    to
    c536295      
    Compare
  
    There was a problem hiding this 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 👍
There was a problem hiding this 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 👍
a54934b    to
    e5ac5c7      
    Compare
  
    
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