Skip to content

Commit 452236a

Browse files
committed
Introduce a two phased approach as part of specification
1 parent a64e130 commit 452236a

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

docs/cip/README.md

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,14 @@ 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
7877

79-
### Ledger design challenges and properties
78+
Consequently we will give a detailed specification for a **Phase 1 Leios** protocol and while only sketching options for **Phase 2 Leios**.
8079

81-
#### Leios protocol overview
80+
### Leios protocol overview (Phase 1)
8281

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

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

92-
##### Five-Stage Pipeline
91+
#### Five-Stage Pipeline
92+
9393
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.
9494

95-
##### Input Blocks (IBs)
95+
#### Input Blocks (IBs)
96+
9697
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.
9798

98-
##### Endorser Blocks (EBs)
99+
#### Endorser Blocks (EBs)
100+
99101
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.
100102

101-
##### Votes and Certificates
103+
#### Votes and Certificates
104+
102105
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.
103106

104-
##### Ranking Blocks (RBs)
107+
#### Ranking Blocks (RBs)
108+
105109
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
110+
111+
### Fundamental challenges
107112

108113
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.
109114

110-
#### Core challenges
115+
### Core challenges
111116

112117
The primary challenges introduced by concurrent block production include:
113118

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

119124
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.
120125

121-
#### Design properties framework
126+
### Design properties framework
122127

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

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

138-
#### Fundamental trade-offs
143+
### Fundamental trade-offs
139144

140145
The concurrent nature of Leios creates inherent trade-offs between these properties:
141146

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

150155
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.
151156

152-
#### Main design approaches
157+
### Main design approaches
153158

154159
Three primary approaches have been identified to address these challenges:
155160

0 commit comments

Comments
 (0)