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
Copy file name to clipboardExpand all lines: docs/cip/README.md
+25-16Lines changed: 25 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,15 +70,18 @@ Ouroboros Praos cannot support the high transaction volume needed to generate th
70
70
>
71
71
> If a proposal defines structure of on-chain data it must include a CDDL schema.
72
72
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:
74
74
75
-
> [!IMPORTANT]
76
-
>
77
-
> -[ ] Write this section after the details of the recommended variant of Full Leios have been settled.
-**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**.
78
79
79
-
### Ledger design challenges and properties
80
+
> [!WARNING]
81
+
>
82
+
> TODO: cover phase1/2 split this idea into rationale and path to active sections
80
83
81
-
####Leios protocol overview
84
+
### Leios protocol overview (Phase 1)
82
85
83
86
To understand the ledger design challenges, it's essential first to understand the key components of the Leios protocol:
84
87
@@ -89,25 +92,31 @@ To understand the ledger design challenges, it's essential first to understand t
89
92
4.**Endorse** - EBs generated at stage start
90
93
5.**Vote** - voting on EBs and certificate creation
91
94
92
-
##### Five-Stage Pipeline
95
+
#### Five-Stage Pipeline
96
+
93
97
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.
94
98
95
-
##### Input Blocks (IBs)
99
+
#### Input Blocks (IBs)
100
+
96
101
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.
97
102
98
-
##### Endorser Blocks (EBs)
103
+
#### Endorser Blocks (EBs)
104
+
99
105
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.
100
106
101
-
##### Votes and Certificates
107
+
#### Votes and Certificates
108
+
102
109
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.
103
110
104
-
##### Ranking Blocks (RBs)
111
+
#### Ranking Blocks (RBs)
112
+
105
113
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
107
116
108
117
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.
109
118
110
-
####Core challenges
119
+
### Core challenges
111
120
112
121
The primary challenges introduced by concurrent block production include:
113
122
@@ -118,7 +127,7 @@ The primary challenges introduced by concurrent block production include:
118
127
119
128
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.
120
129
121
-
####Design properties framework
130
+
### Design properties framework
122
131
123
132
The ledger design aims to satisfy seven key properties, though not all can be achieved simultaneously due to fundamental trade-offs:
124
133
@@ -135,7 +144,7 @@ The ledger design aims to satisfy seven key properties, though not all can be ac
135
144
-**(P6)** Non-conflicting transaction sequences can be submitted in one batch
136
145
-**(P7)** Transactions can reference recently submitted UTxOs
137
146
138
-
####Fundamental trade-offs
147
+
### Fundamental trade-offs
139
148
140
149
The concurrent nature of Leios creates inherent trade-offs between these properties:
141
150
@@ -149,7 +158,7 @@ No conflicts (P1) ⟹ Cannot have immediate inclusion (¬P5)
149
158
150
159
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.
151
160
152
-
####Main design approaches
161
+
### Main design approaches
153
162
154
163
Three primary approaches have been identified to address these challenges:
0 commit comments