Skip to content

Commit b59a0a2

Browse files
oduameholgahryniuk
andauthored
Leios documentation update complete review (#310)
* update-1 * Update faq.md * Update how-it-works.md * Update resources.md --------- Co-authored-by: olgahryniuk <[email protected]>
1 parent 9c357fb commit b59a0a2

File tree

3 files changed

+140
-149
lines changed

3 files changed

+140
-149
lines changed

site/docs/faq.md

+80-78
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@ and endorser blocks (EBs) that validate them, enhancing the network’s capacity
1717

1818
Leios offers several significant advantages:
1919

20-
- **Higher throughput and lower latency.** By splitting transaction processing
20+
- **Higher throughput and lower latency:** by splitting transaction processing
2121
into IB and EB stages, Leios handles more transactions in parallel, enabling
22-
faster and more responsive applications.
23-
- **Better user experience.** Faster transaction processing means quicker
24-
confirmations for wallet users and dApp interactions.
25-
- **Flexible diffusion strategies.** Nodes can choose how to share blocks (e.g.,
26-
prioritizing newest or oldest data), optimizing network performance based on
27-
conditions.
28-
- **Enhanced cryptography.** Leios uses Boneh–Lynn–Shacham (BLS) signatures for
22+
faster and more responsive applications
23+
- **Better user experience:** faster transaction processing means quicker
24+
confirmations for wallet users and DApp interactions
25+
- **Flexible diffusion strategies:** nodes can choose how to share blocks (eg,
26+
prioritizing the newest or the oldest data), optimizing network performance based on
27+
conditions
28+
- **Enhanced cryptography:** Leios uses Boneh–Lynn–Shacham (BLS) signatures for
2929
aggregated verification and verifiable random functions (VRFs) for fair leader
30-
selection.
31-
- **Robust simulations and formal methods.** Rust and Haskell simulations
30+
selection
31+
- **Robust simulations and formal methods:** Rust and Haskell simulations
3232
measure real-world performance, and executable specifications ensure
33-
correctness.
34-
- **Scalable cost model.** A cost calculator helps node operators estimate
35-
expenses (e.g., storage, CPU usage).
33+
correctness
34+
- **Scalable cost model:** a cost calculator helps node operators estimate
35+
expenses (for example, storage and CPU usage).
3636

37-
## What does Leios mean for Cardano users (e.g., wallet users, dApp developers)?
37+
## What does Leios mean for Cardano users (eg, wallet users, DApp developers)?
3838

3939
For everyday users, Leios means faster transaction confirmations and a smoother
40-
experience in wallets and dApps—think near-instant payments or interactions
40+
experience in wallets and DApps—think near-instant payments or interactions
4141
instead of waiting 20 seconds or more. For developers, it offers higher
4242
throughput (more transactions per second), enabling complex, high-volume
4343
applications like decentralized exchanges or gaming platforms. However, wallets,
@@ -47,21 +47,21 @@ EBs, RBs), so expect some transition as it rolls out.
4747
## What are the risks or trade-offs of Leios?
4848

4949
Leios prioritizes scalability, but it’s not without trade-offs. Parallel
50-
processing increases demands on node operators (e.g., more CPU, bandwidth,
50+
processing increases demands on node operators (eg, more CPU, bandwidth,
5151
storage), potentially raising costs or requiring better hardware. The complexity
52-
of three block types (IBs, EBs, RBs) could also introduce new bugs or delays
52+
of the three block types (IBs, EBs, RBs) could also introduce new bugs or delays
5353
during implementation. However, extensive simulations and formal methods aim to
5454
minimize these risks, ensuring Leios remains secure and reliable as it matures.
5555

5656
## What are IBs, EBs, and RBs in Leios?
5757

5858
Leios uses three distinct block types:
5959

60-
- **IB (input block):** a block that contains transactions. Produced by nodes
60+
- **IB (input block)**. A block that contains transactions. Produced by nodes
6161
that win the IB sortition lottery.
62-
- **EB (endorser block):** a block that references one or more IBs, providing
62+
- **EB (endorser block)**. A block that references one or more IBs, providing
6363
endorsements. Produced by nodes that win the EB sortition lottery.
64-
- **RB (ranking block):** a block that ranks or orders other blocks as part of
64+
- **RB (ranking block)**. A block that ranks or orders other blocks as part of
6565
the consensus mechanism.
6666

6767
Each block type plays a distinct role in moving transactions from submission to
@@ -70,42 +70,46 @@ occur every ~20 seconds.
7070

7171
## What is the relationship between Ouroboros, Peras, and Leios?
7272

73-
### Ouroboros: The Foundation
73+
### Ouroboros: the foundation
7474

7575
- What it is: Ouroboros is the overarching family of proof-of-stake (PoS)
7676
consensus protocols that powers Cardano. It’s designed to be secure,
7777
energy-efficient, and provably fair, replacing proof-of-work (PoW) systems
7878
like Bitcoin’s.
79-
- Key Features:
79+
- Key features:
8080
- Slot-based time division (epochs and slots, with slots typically 1 second
81-
long in earlier versions, now 20 seconds in Praos for block production).
82-
- Stake pool leaders elected based on stake to mint blocks.
83-
- Formal mathematical proofs of security (e.g., resistance to attacks like
84-
double-spending or chain forks).
81+
long in earlier versions, now 20 seconds in Praos for block production)
82+
- Stake pool leaders elected based on stake to mint blocks
83+
- Formal mathematical proofs of security (for example, resistance to attacks like
84+
double-spending or chain forks)
8585
- Role: Ouroboros is the bedrock consensus mechanism that Peras and Leios build
8686
upon or refine.
8787

88-
### Peras: A Modular Upgrade
88+
### Peras: a modular upgrade
8989

9090
- What it is: Peras is a proposed evolution of Ouroboros aimed at improving
9191
efficiency and modularity.
92-
- Key Features:
93-
- Separation of Concerns: Peras splits consensus into modular components, such
92+
- Key features:
93+
- Separation of concerns. Peras splits consensus into modular components, such
9494
as transaction ordering, validation, and ledger state updates, to allow
9595
parallel processing and flexibility.
96-
- Improved Finality: It introduces mechanisms for faster confirmation times,
96+
- Improved finality. It introduces mechanisms for faster confirmation times.
97+
- Separation of concerns. Peras splits consensus into modular components, such
98+
as transaction ordering, validation, and ledger state updates to allow
99+
parallel processing and flexibility.
100+
- Improved finality. It introduces mechanisms for faster confirmation times,
97101
potentially reducing the time to finality compared to Praos’ 20-second block
98102
intervals.
99-
- Adaptability: Designed to integrate with future scaling solutions (like
103+
- Adaptability. Designed to integrate with future scaling solutions (like
100104
Leios) and sidechains or layer-2 systems.
101105
- Relationship to Ouroboros:
102106
- Peras is a direct descendant of Ouroboros Praos, refining its mechanics
103-
while staying within the PoS framework. It’s like an Ouroboros 2.0,
107+
while staying within the PoS framework. It’s like an 'Ouroboros 2.0,'
104108
optimizing the core protocol without fundamentally changing its PoS nature.
105109
- It serves as a bridge between the foundational Ouroboros Praos and more
106110
radical scalability-focused variants like Leios.
107111

108-
### Leios: A Scalability Leap
112+
### Leios: a scalability leap
109113

110114
- What it is: Ouroboros Leios is a specific variant of the Ouroboros family,
111115
designed to dramatically increase Cardano’s throughput (transactions per
@@ -114,43 +118,43 @@ occur every ~20 seconds.
114118
research community.
115119
- Relationship to Ouroboros:
116120
- Leios is a specialized extension of Ouroboros, taking the core PoS mechanics
117-
and rearchitecting block production for scalability.
121+
and re-architecting block production for scalability.
118122
- It retains Ouroboros’ security model but reimagines how transactions are
119123
ingested and validated, making it a next-generation Ouroboros variant.
120124

121-
### The Relationship
125+
### The relationship
122126

123-
- Ouroboros as the Core:
127+
- Ouroboros as the core:
124128
- Ouroboros (especially Praos) is the foundational consensus protocol that
125129
defines Cardano’s PoS system. Both Peras and Leios are built on this
126130
foundation, inheriting its security properties and stake-based governance.
127-
- Peras as an Intermediate Step:
131+
- Peras as an intermediate step:
128132
- Peras enhances Ouroboros by introducing modularity and efficiency
129133
improvements, potentially laying the groundwork for integrating advanced
130134
features like those in Leios. It’s a stepping stone that refines Praos’
131135
mechanics, making it more adaptable to future needs.
132-
- Leios as a Scalability Solution:
136+
- Leios as a scalability solution:
133137
- Leios takes Ouroboros further by addressing throughput limitations head-on.
134138
It uses the same PoS principles but introduces a parallel processing model
135139
that Peras’ modularity could theoretically support or complement.
136-
- Leios can be seen as a plugin or evolution that fits into the Ouroboros
140+
- Leios can be seen as a 'plugin' or evolution that fits into the Ouroboros
137141
ecosystem, possibly relying on Peras’ groundwork for smoother integration.
138-
- Timeline and Evolution:
139-
- Ouroboros Praos → Current live protocol
140-
- Peras → A near-future refinement for flexibility and efficiency
141-
- Leios → A long-term scalability solution, still in research/development,
142+
- Timeline and evolution:
143+
- Ouroboros Praos → current live protocol.
144+
- Peras → a near-future refinement for flexibility and efficiency.
145+
- Leios → a long-term scalability solution, still in research/development,
142146
aimed at making Cardano competitive with high-TPS blockchains like Solana or
143-
Ethereum layer-2s
147+
Ethereum layer-2s.
144148

145149
## What's the state of an IB before an EB or RB gets created for it? Is it visible, is it usable?
146150

147-
Before an Endorsement Block (EB) or Ranking Block (RB) is created, an Input
148-
Block (IB) is a proposed set of transactions in a preliminary state. Here’s what
151+
Before an endorsement block (EB) or ranking block (RB) is created, an input
152+
block (IB) is a proposed set of transactions in a preliminary state. Here’s what
149153
that means:
150154

151-
### State of an Input Block
155+
### State of an IB
152156

153-
An IB is minted by a node (e.g., a stake pool operator) and contains unconfirmed
157+
An IB is minted by a node (eg, a stake pool operator) and contains unconfirmed
154158
transactions from the mempool. It’s cryptographically signed for authenticity
155159
but hasn’t been validated or finalized by the network, leaving it in a pending
156160
state.
@@ -159,12 +163,12 @@ state.
159163

160164
Once minted, the IB is broadcast and visible to all nodes. This allows them to
161165
inspect its transactions and start validation, a key part of Leios’ parallel
162-
processing design. However, visibility doesn’t mean it’s acceptedit’s just a
166+
processing design. However, visibility doesn’t mean it’s acceptedit’s just a
163167
proposal.
164168

165169
### Usability
166170

167-
The IB isn’t usable yetits transactions can’t be spent or relied upon because
171+
The IB isn’t usable yetits transactions can’t be spent or relied upon because
168172
they lack consensus and finality. Only after EBs endorse it and an RB finalizes
169173
it does it become part of the blockchain’s official state. Until then, it could
170174
still be discarded if it fails validation.
@@ -174,36 +178,34 @@ still be discarded if it fails validation.
174178
Leios boosts performance by processing transactions in parallel, even though
175179
final confirmation still takes 20 seconds. Here’s how:
176180

177-
### Parallel Processing Boost
181+
### Parallel processing boost
178182

179-
Think of Leios like a factory: In Ouroboros Praos, one worker (a slot leader)
183+
Think of Leios like a factory: in Ouroboros Praos, one worker (a slot leader)
180184
builds a block every 20 seconds. In Leios, dozens of workers (nodes) create
181-
Input Blocks (IBs) continuously, others check them with Endorsement Blocks
182-
(EBs), and a supervisor (Ranking Block, RB) approves the batch every 20 seconds.
185+
IBs continuously, others check them with EBs, and a supervisor (RB) approves the batch every 20 seconds.
183186
This parallelism lets the network handle far more transactions in that
184-
timepotentially 10x to 100x more than Praos.
187+
timepotentially 10x to 100x more than Praos.
185188

186-
### Splitting the Work
189+
### Splitting the work
187190

188-
- **IBs**: Propose transactions frequently and in parallel.
189-
- **EBs**: Validate IBs concurrently across nodes.
190-
- **RBs**: Finalize everything every 20 seconds, ensuring security. Unlike
191+
- **IBs**. Propose transactions frequently and in parallel.
192+
- **EBs**. Validate IBs concurrently across nodes.
193+
- **RBs**. Finalize everything every 20 seconds, ensuring security. Unlike
191194
Praos, where one block does it all, Leios splits these roles so transaction
192195
processing isn’t bottlenecked by the 20-second RB interval.
193196

194-
### Practical Gains
197+
### Practical gains
195198

196199
While IBs aren’t spendable until an RB confirms them, EBs provide early
197200
confidence, letting apps (like wallets) act on them sooner for low-risk tasks
198-
(e.g., showing balances). The 20-second RB is a security anchor, not a
201+
(for example, showing balances). The 20-second RB is a security anchor, not a
199202
limit—hundreds of IBs can queue up in that window, massively increasing
200203
throughput.
201204

202205
## How does Leios maintain security with parallel processing?
203206

204207
Leios preserves Cardano’s strong security by combining parallel transaction
205-
processing with a sequential finality layer. Input Blocks (IBs) and Endorsement
206-
Blocks (EBs) are produced in parallel, but Ranking Blocks (RBs) finalize the
208+
processing with a sequential finality layer. IBs and EBs are produced in parallel, but RBs finalize the
207209
ledger every 20 seconds, ensuring a single, consistent chain. This prevents
208210
double-spending or forks by resolving conflicts at the RB stage. Additionally,
209211
cryptographic tools like BLS signatures and VRFs ensure that only valid blocks
@@ -214,9 +216,9 @@ guarantees.
214216

215217
Leios finalizes blocks through a structured voting mechanism. Nodes may adopt:
216218

217-
- **Single-stage voting:** all votes are broadcast in one phase, possibly
218-
resulting in a longer CPU usage 'tail' during high throughput.
219-
- **Send-recv (two-stage) voting:** votes are first sent, then a follow-up
219+
- **Single-stage voting**: all votes are broadcast in one phase, possibly
220+
resulting in a longer CPU usage 'tail' during high throughput
221+
- **Send-recv (two-stage) voting**: votes are first sent, then a follow-up
220222
receive phase ensures broader propagation before final tallies.
221223

222224
You can configure voting through parameters such as leios-vote-send-recv-stages
@@ -233,9 +235,9 @@ sortition' because once a node proves it was selected to produce a block or vote
233235

234236
Leios supports multiple strategies for propagating blocks and votes:
235237

236-
- **Oldest-first:** prioritizes older blocks or transactions
237-
- **Freshest-first:** focuses on the newest blocks or transactions first
238-
- **Peer-order:** requests blocks in the order peers announce them.
238+
- **Oldest-first**: prioritizes older blocks or transactions
239+
- **Freshest-first**: focuses on the newest blocks or transactions first
240+
- **Peer-order**: requests blocks in the order peers announce them.
239241

240242
Your choice of strategy can affect latency, network load, and overall
241243
throughput.
@@ -253,11 +255,11 @@ sharding, but it is not yet part of Leios.
253255
Leios incorporates multiple cryptographic techniques to ensure security and
254256
efficiency:
255257

256-
- BLS signatures: allows efficient aggregation of many signatures into one,
258+
- BLS signatures: allow efficient aggregation of many signatures into one,
257259
reducing verification overhead
258260
- Mithril or Musen protocols: used for voting and proof aggregation, depending
259261
on the context
260-
- VRFs: ensures fair selection of nodes for block production
262+
- VRFs: ensure fair selection of nodes for block production.
261263

262264
Recent benchmarking shows that aggregated BLS verification significantly speeds
263265
up certificate validation.
@@ -290,11 +292,11 @@ Developers continually refine these simulations based on real-world data.
290292

291293
Based on preliminary internal testing and simulations:
292294

293-
- **Block size:** commonly set to about one-third of the available link capacity
295+
- **Block size**: commonly set to about one-third of the available link capacity
294296
for IBs
295-
- **Voting stages:** choose single-stage or send-recv, depending on reliability
297+
- **Voting stages**: choose single-stage or send-recv, depending on reliability
296298
and speed requirements
297-
- **Diffusion strategy:** many operators use 'freshest-first,' though
299+
- **Diffusion strategy**: many operators use 'freshest-first,' though
298300
'peer-order' may help maintain compatibility with older setups.
299301

300302
Operators can adjust these parameters, which evolve through community votes.
@@ -306,7 +308,7 @@ You can follow:
306308
- Weekly updates on the Ouroboros Leios site
307309
- Technical reports for deeper insights
308310
- Leios glossary for definitions of commonly used terms
309-
- Public GitHub repositories that host source code and simulations
311+
- Public GitHub repositories that host source code and simulations.
310312

311313
These resources provide transparency and regular updates on ongoing development.
312314

@@ -315,9 +317,9 @@ These resources provide transparency and regular updates on ongoing development.
315317
Leios changes how transactions are validated and how blocks and memory pools
316318
operate, potentially affecting:
317319

318-
- **Wallets and SDKs,** which need to accommodate new block types (IBs and EBs)
319-
- **Explorers,** which must handle higher throughput and multi-block referencing
320-
- **Indexers and APIs,** which will see more granular block and vote data.
320+
- **Wallets and SDKs**, which need to accommodate new block types (IBs and EBs)
321+
- **Explorers**, which must handle higher throughput and multi-block referencing
322+
- **Indexers and APIs**, which will see more granular block and vote data.
321323

322324
Weekly updates provide a deeper analysis of these topics, including how advanced
323325
indexing and potential sharding solutions might eventually mitigate challenges.

0 commit comments

Comments
 (0)