Skip to content

Commit 4e0b55a

Browse files
committed
Introduce a two phased approach as part of specification
1 parent 58ab653 commit 4e0b55a

File tree

1 file changed

+25
-16
lines changed

1 file changed

+25
-16
lines changed

docs/cip/README.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,18 @@ Ouroboros Praos cannot support the high transaction volume needed to generate th
7070
>
7171
> If a proposal defines structure of on-chain data it must include a CDDL schema.
7272
73-
### Non-normative overview of Leios
73+
Given the problem statement and motivation given above, but also considering our [analysis]() and identified [trade-offs](), we propose to implement Leios in a phased approach:
7474

75-
> [!IMPORTANT]
76-
>
77-
> - [ ] Write this section after the details of the recommended variant of Full Leios have been settled.
75+
- **Phase 1**: enable economically sustainable throughput targeting `100 TPS` (average sized) with minimal compromises
76+
- **Phase 2**: further enhance concurrency to allow for higher order of magnitude throughput `1000+ TPS`, but with significant changes required
77+
78+
Consequently we will give a detailed specification for a **Phase 1 Leios** protocol and while only sketching options for **Phase 2 Leios**.
7879

79-
### Ledger design challenges and properties
80+
> [!WARNING]
81+
>
82+
> TODO: cover phase1/2 split this idea into rationale and path to active sections
8083
81-
#### Leios protocol overview
84+
### Leios protocol overview (Phase 1)
8285

8386
To understand the ledger design challenges, it's essential first to understand the key components of the Leios protocol:
8487

@@ -89,25 +92,31 @@ To understand the ledger design challenges, it's essential first to understand t
8992
4. **Endorse** - EBs generated at stage start
9093
5. **Vote** - voting on EBs and certificate creation
9194

92-
##### Five-Stage Pipeline
95+
#### Five-Stage Pipeline
96+
9397
The protocol operates through a structured five-stage pipeline: (1) **Propose** - IBs generated uniformly, (2) **Deliver 1** - IB diffusion using freshest-first strategy, (3) **Deliver 2** - complete IB delivery, (4) **Endorse** - EBs generated at stage start, (5) **Vote** - voting on EBs and certificate creation. This pipeline approach enables concurrent transaction processing while maintaining deterministic ordering and conflict resolution.
9498

95-
##### Input Blocks (IBs)
99+
#### Input Blocks (IBs)
100+
96101
Transaction-containing blocks produced at a uniform rate during the "Propose" stage of each [pipeline](#pipeline). IBs are generated by stake pools that win VRF-based [sortition](#sortition), with the protocol utilizing approximately one-third of available network bandwidth for IB traffic. Multiple IBs can be produced concurrently across the network.
97102

98-
##### Endorser Blocks (EBs)
103+
#### Endorser Blocks (EBs)
104+
99105
Aggregation blocks that reference multiple IBs from the current pipeline. EBs are produced at the beginning of the "Endorse" stage by selected stake pools. An EB represents a consensus view of which IBs should be included in the permanent ledger, referencing all IBs that were delivered by specific pipeline deadlines.
100106

101-
##### Votes and Certificates
107+
#### Votes and Certificates
108+
102109
During the "Vote" stage, stake pools [vote](#vote) on EBs if they meet strict criteria: all referenced IBs must be available, all IBs seen by the "Deliver 1" deadline must be referenced, and all referenced IBs must validate. When enough votes are collected (achieving a [quorum](#quorum)), a [certificate](#certificate) is created and included in an RB.
103110

104-
##### Ranking Blocks (RBs)
111+
#### Ranking Blocks (RBs)
112+
105113
The main Praos consensus chain blocks that contain at most one certificate per block, attesting to the validity of an EB. RBs anchor the Leios consensus into the established Praos security model and may also contain regular transactions.
106-
#### Fundamental challenges
114+
115+
### Fundamental challenges
107116

108117
The concurrent nature of input block (IB) production in Leios introduces fundamental challenges that don't exist in sequential blockchain protocols like Praos. Unlike Praos where blocks are produced sequentially, Leios allows multiple input blocks to be created concurrently within the [network diffusion time](#network-diffusion-time) window. This creates new challenges that must be addressed at the ledger level.
109118

110-
#### Core challenges
119+
### Core challenges
111120

112121
The primary challenges introduced by concurrent block production include:
113122

@@ -118,7 +127,7 @@ The primary challenges introduced by concurrent block production include:
118127

119128
These challenges arise because blocks produced within the network diffusion time cannot coordinate to avoid conflicts, creating an inherent concurrency window where conflicts are inevitable. In typical Leios deployments with stage lengths of 10-30 seconds, this results in approximately 3-5 concurrent IBs per pipeline, with additional concurrency across multiple pipeline instances.
120129

121-
#### Design properties framework
130+
### Design properties framework
122131

123132
The ledger design aims to satisfy seven key properties, though not all can be achieved simultaneously due to fundamental trade-offs:
124133

@@ -135,7 +144,7 @@ The ledger design aims to satisfy seven key properties, though not all can be ac
135144
- **(P6)** Non-conflicting transaction sequences can be submitted in one batch
136145
- **(P7)** Transactions can reference recently submitted UTxOs
137146

138-
#### Fundamental trade-offs
147+
### Fundamental trade-offs
139148

140149
The concurrent nature of Leios creates inherent trade-offs between these properties:
141150

@@ -149,7 +158,7 @@ No conflicts (P1) ⟹ Cannot have immediate inclusion (¬P5)
149158

150159
The key insight is that to achieve low latency (P5), we must accept the possibility of conflicts, which then requires careful handling of fee payment mechanisms.
151160

152-
#### Main design approaches
161+
### Main design approaches
153162

154163
Three primary approaches have been identified to address these challenges:
155164

0 commit comments

Comments
 (0)