KtorZ Profile picture
Nov 25 18 tweets 5 min read
Some months ago, I was asked what I thought would be #Cardano "next big thing".

At the time, we only had a vague idea of what Leios was. The recent CIP from Duncan & al has shed some more light on it.

Ouroboros Leios is definitely the most promising L1 upgrade to come

👇
The idea behind Leios is (surprisingly) simple. So let's try to make sense of it.

Cardano is a distributed system, where nodes reach consensus by sharing blocks according to a schedule for which they're elected. The more stake they own, the higher the chances of being elected.
Blocks are produced about every 20s, and are propagated to the rest of the network as fast as possible.

If we zoom in a bit on a node and analyze what a node does, we see that most of the time, a node isn't doing much. It is actually idle for a large part of these 20s.
This is partly due to how networking work. Sending data across the planet takes time, and while the data is being sent from a point to another, both ends aren't actually doing anything but waiting. Serializing and deserializing from and to the wire only account for a small time.
Similarly, while a node is serializing data and sending out data to its peers, it is usually not actively validating blocks, because the block throughput isn't usually sufficiently high to keep the node busy at all time. The CPU usage only increases in short spikes.
If you were at the #CardanoSummit2022, you might have seen the pool setup by @C1cADA_Markus on the 3rd floor and observed that the node would only have short spikes of activity every 20s or so.

Said differently, resources are currently under utilized in the node.
Fundamentally, this is because the Cardano blockchain is constructed and validated sequentially (like a chain!)

The idea behind Leios is about utilizing those idle resources, and making the construction of the chain more parallel.

It is about harnessing the true power of UTxO.
Leios proposes to separate the construction of the chain into three new types of blocks, produced at different rates and with different purposes:

- Input blocks (most frequent)
- Endorsement blocks (high confidence agreements)
- Ranking blocks (true consensus)
Ranking blocks are similar to current consensus blocks. They are produced sequentially and serve as 'checkpoints' allowing everyone to regularly agree on some global state.

Yet instead of containing plain transactions, they would only contain references to endorsement blocks.
Endorsement blocks are ways for the chain to reach an agreement, with a relatively high degree of confidence. With them, Leios proposes to introduce endorsement certificates which inform nodes about how many peers (or even, stake) are approving certain events.
For a block producer, it means that at a given point in time, they can now how much of the network stake has approved (or, endorsed) some given transactions without actually having to download them.

This allows nodes to optimistically make consensus decisions at low cost.
Finally, Input blocks are bundle of transactions. They are the actual data payload containing information. They are meant to be produced at a fast rate and validated concurrently. When spread over multiple machines, it means validation happen with some degree of parallelism.
This approach works because of one key assumption/observation: most transactions are actually 'concurrent'.

Or put simply, most transactions deal with different, non conflicting, parts of the ledger (a.k.a. UTxO entries).
A UTxO model makes it relatively easy to assess the concurrent nature of two transactions; for there's no side effect.

It suffices to look at transactions' respective inputs and outputs to know whether they are conflicting with one another. There's no hidden consequences.
This makes Ouroboros Leios a fundamentally *optimistic* consensus algorithm. And because this hypothesis is so important to the system, Leios also includes in its design a way to degrade into a more sequential (pessimistic) mode, which operates very much like Ouroboros Praos.
There are other details which are related to security and usability considerations, as well as still open questions about rewards and incentives in this new scheme.

I'll recommend anyone interested to read the current proposal:
github.com/cardano-founda…

It is very digestable 😊
More, to manage a bit expectations, keep in mind that Leios is undoubtedly far away from now.

This is a massive chunk of work and probably the most ambitious upgrade Cardano has ever attempted (feels like we say this every 6 month?)

Meanwhile, L2 is also booming 😏
Finally, I'd like to point another thread from @zygomeb who's going into some more details about how the VRF leader election is going to work on Leios and gives another perspective on this proposal. A good read as well!



Keep buidling, stay awesome 💛

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with KtorZ

KtorZ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @_KtorZ_

Sep 27
Today was CIP editors meeting #54. We selected a few CIPs related to wallets and dApps integration, and we'll try to keep doing similar themed meetings moving forward.

Here's a summary of what we covered 👇
An addition to CIP-0030 (github.com/cardano-founda…) − the wallets ↔ DApps connector, to introduce a new endpoint allowing DApps to retrieve a chain identifier from the wallet. This allows distinguishing between multiple test networks (e.g. preprod vs preview).
CIP-0053? (github.com/cardano-founda…) proposes to standardize wallet backend interfaces across the Cardano network, in a similar fashion to what exists with web3.js on Ethereum. However deemed redundant / not needed in front of existing solutions like, e.g., Koios. Likely rejected
Read 11 tweets
Aug 7
Today is Sunday. Like every Sunday. But today, let's talk about *the mempool*. And more specifically, the Cardano's mempool(s).

Buckle up 👇
Let's start with a definition: what's a mempool?

It is a virtual buffer of memory where (valid) transactions sit before being inserted in a block.

Every node has one, including those that do not produce any block.
Using some protocol that I'll cover later, nodes of the network constantly share their mempool with one another (a.k.a 'making data available').

Block producers need them to produce blocks, and other nodes want to ensure good service for their users submitting transactions.
Read 17 tweets
May 28
The Hard-Fork Combinator (a.k.a HFC): the good, the bad & the ugly.

A tale of software engineering 👇
With the upcoming Vasil hard-fork, it is time to upgrade existing software to live through it. As many already know, Cardano's secret sauce for such upgrades hides behind something called "The Hard-Fork Combinator".

But, what exactly is that thing?
The HFC is an approach that makes Cardano behave not as one protocol, but a sequence of sub-protocols.

We typically call each sub-protocol an 'era'. Each era has its own configuration, its own rules and its own data-structures and formats.
Read 16 tweets
May 12
1/5

Situations like this always make me reflect on what I do as a software engineer. I've been working in the FinTech & Blockchain industries for a while now and it's so easy to get something wrong that would then have massive consequences.

Some thoughts...
2/5

Even fully tested and formally verified software might experience issues. More testing and formalism reduces the risk but it's never zero. Plus it often depends on hypotheses you make and hypotheses are hard to formulate when they are intrinsically linked to social behaviors
3/5

At this stage, what I expect from @InputOutputHK and @COTInetwork is a (public) postmortem analysis of UST, as a case study to validate or reformulate hypotheses made for Djed. Being fully algorithmic means that, you can't get it wrong.
Read 5 tweets
Jan 15
Let's talk about transaction finality on Cardano today, because I keep seeing all sort of (wrong) claims on social medias, discord and al. (1/n)

👇
Firstly, we need to distinguish two things:

Finality vs Latency;

or as some call it, 'chain confirmation' vs 'transaction confirmation' though I really dislike the term 'confirmation' in this context (there's really no one actively 'confirming' anything).
Latency is the time it takes for a transaction to appear on the blockchain, in a block. Finality is the time it takes for a transaction to become immutable.

Why is that different?

Because the system is decentralized! And that means the information is only *eventually* true.
Read 14 tweets
Nov 17, 2021
It seems like many people in the #Cardano community, builders or not, still don't know about the #CIP!

So let me explain a bit, and quickly dive into some of them👇👇

1/n
CIP stands for 'Cardano Improvement Proposal' and refers to both a process and a collection of technical solutions to common problems of the Cardano ecosystem.

Proposals take the form of written specification files, hosted in a public code repository:

github.com/cardano-founda…
The CIP is geared towards the community and everyone is welcome to participate in the discussions.

There are different types of CIP for different purpose, some are informational (i.e. explaining how something work) and some are standards to facilitate interoperability.
Read 13 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(