You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operational readiness encompasses stake pool operator testing in their environments, updated procedures and training, clearly documented upgrade procedures, updated monitoring and alerting systems, and prepared support channels. The hard fork combinator enables relatively smooth transitions, but Leios represents substantial consensus changes. Conservative timeline estimates must account for discovering and addressing unexpected issues - a normal part of the hard-fork scheduling process. The months of validation and refinement required before prudent mainnet deployment reflect the critical nature of modifications to a system holding substantial economic value and providing essential services that users depend upon.
185
185
186
186
> [!WARNING]
187
-
> TODO: more thoughts
187
+
>
188
+
> TODO: more thoughts:
189
+
>
188
190
> - why (deltaq) modeling? quick results and continued utility in parameterization
189
191
> - parameterization in general as a (communication) tool; see also Peras' parameterization dashboard https://github.com/tweag/cardano-peras/issues/54
190
192
> - what's left for the hard-fork after all this? more-and-more testing / maturing, governance-related topics (new protocol parameters, hard-fork coordination)
@@ -196,6 +198,7 @@ The changes necessary to realizing Leios must integrate carefully with existing
196
198
## On-disk storage of ledger state
197
199
198
200
> [!WARNING]
201
+
>
199
202
> TODO: Add some links and references to UTxO-HD and Ledger-HD specification and status
200
203
201
204
The transition from memory-based to disk-based ledger state storage represents a fundamental prerequisite for Leios deployment. This dependency stems directly from the throughput characteristics that Leios is designed to enable.
@@ -246,6 +249,7 @@ Ouroboros Genesis enables nodes to bootstrap safely from the genesis block with
246
249
**Chain synchronization** in general becomes more complex under Leios due to the multi-layered block structure. Syncing nodes must fetch both ranking blocks and their associated certified endorser blocks to construct a complete view of the chain. A node that downloads only ranking blocks cannot reconstruct the complete ledger state, as the actual transactions content resides within closures of the endorser blocks referenced by certificates on the ranking blocks. The `LeiosFetch` mini-protocol addresses this requirement through the `MsgLeiosBlockRangeRequest` message type, enabling efficient batch fetching of complete block ranges during synchronization. This allows nodes to request not only a range of ranking blocks but also all associated endorser blocks and their transaction closures in coordinated requests. Parallel fetching from multiple peers becomes critical for synchronization performance, as the data volume substantially exceeds that of traditional Praos blocks.
247
250
248
251
> ![WARNING]
252
+
>
249
253
> TODO: Chain synchronization / syncing node discussion could be moved to the respective section in the architecture/changes chapter
250
254
251
255
## Impact on Mithril
@@ -261,17 +265,21 @@ In summary, Leios will not require fundamental changes to Mithril's architecture
261
265
# Risks and mitigations
262
266
263
267
> [!WARNING]
268
+
>
264
269
> TODO: Introduce chapter as being the bridge between implementation plan and concrete technical design; 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)
265
270
266
271
## Key threats
267
272
268
273
> [!WARNING]
274
+
>
269
275
> 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)
270
276
271
277
### Protocol bursts
272
278
273
279
> [!WARNING]
280
+
>
274
281
> TODO: important because
282
+
>
275
283
> - was a prominent case in research
276
284
> - acknowledges the wealth of data to be processed
277
285
> - mitigation: freshest-first delivery / prioritization between praos and leios traffic
@@ -281,7 +289,9 @@ In summary, Leios will not require fundamental changes to Mithril's architecture
281
289
### Data withholding
282
290
283
291
> [!WARNING]
292
+
>
284
293
> TODO: important because
294
+
>
285
295
> - can be done from stake- and network-based attackers
286
296
> - trivially impacts high-throughput because no certifications happening
287
297
> - however, more advanced, potential avenue to attack blockchain safety (impact praos security argument) when carefully partitioning the network
@@ -291,6 +301,7 @@ In summary, Leios will not require fundamental changes to Mithril's architecture
291
301
## Assumptions to validate early
292
302
293
303
> [!WARNING]
304
+
>
294
305
> TODO: Which assumptions in the CIP / on the protocol security need to be validated as early as possible?
295
306
>
296
307
> - Worst case diffusion of EBs given certain honest stake (certifying the EB) is realistic
@@ -307,6 +318,7 @@ In summary, Leios will not require fundamental changes to Mithril's architecture
307
318
> When transferring things from impact analysis, the **REQ-...** requirements are as well as the **NEW-..** and **UPD-..** references were kept. Not sure if we need all of them to references between concepts and designs.
308
319
309
320
> [!WARNING]
321
+
>
310
322
> TODO: How to structure the changes best? Group them by layer/component or responsibility?
311
323
>
312
324
> Behavior-based sketch:
@@ -386,11 +398,13 @@ In summary, Leios will not require fundamental changes to Mithril's architecture
386
398
While being a significant change to the consensus protocol, Leios 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:
387
399
388
400
> [!WARNING]
401
+
>
389
402
> TODO: Should consider adding Leios prefixes to VoteStore (to not confuse with PerasVoteDB), i.e. LeiosVoteDB?
390
403
391
404

392
405
393
406
> [!WARNING]
407
+
>
394
408
> TODO: Explain why focus on relay node (upstream/downstream relationship); briefly mention block producer node differences; Add similar diagram for block producer? block and vote production not shown in relay diagram
395
409
396
410
## Consensus
@@ -589,6 +603,7 @@ Concretely, this means defining the `PParams` and `PParamsUpdate` types for the
589
603
Traditionally, the ledger component defines the serialization format of blocks and transactions. CIP-164 introduces three new types that need to be serialized and deserialized:
590
604
591
605
> [!WARNING]
606
+
>
592
607
> TODO: Serialization of votes a consensus component responsibility?
593
608
594
609
- **REQ-LedgerSerializationRB** The ranking block body contents must be deterministically de-/serializable from/to bytes using CBOR encoding.
0 commit comments