<p>Input endorsers are originally discussed in the <a href="https://eprint.iacr.org/2016/889.pdf" rel="nofollow noreferrer">Ouroboros</a> paper and could be potentially be used to create specific high-throughput layer 1 Ouroboros variants.</p>
<p>To get the idea, check out this part of the paper:</p>
<blockquote>
<p>Input endorsers, stakeholder delegates, anonymous communication. In
the final stage of our design, we augment the protocol with two new
roles for the entities that are maintaining the ledger and consider
the benefits of anonymous communication. Input-endorsers create a
second layer of transaction endorsing prior to block inclusion. This
mechanism enables the protocol to withstand deviations such as selfish
mining and enables us to show that honest behaviour is an approximate
Nash equilibrium under reasonable assumptions regarding the costs of
running the protocol. Note that input-endorsers are assigned to slots
in the same way that slot leaders are, and inputs included in blocks
are only acceptable if they are endorsed by an eligible
input-endorser. Second, the delegation feature allows stakeholders to
transfer committee participation to selected delegates that assume the
responsibility of the stakeholders in running the protocol (including
participation to the MPC and issuance of blocks).</p>
</blockquote>

CC BY-SA 4.0
2021-11-19T20:26:54.193Z
I don't understand how this leads to more throughput. If the system can process 40 times more transactions per second, doesn't that lead to 40 times bigger state growth and therefore 40 times bigger storage requirements? How do input endorsers address this?
user142
CC BY-SA 4.0
2021-11-19T20:34:05.647Z
They do not address it, the input endorsers won't help with the growing storage requirement at all. They will just help by validating the inputs that are later minted by the slot leader, therefore offloading a lot of validating tasks to a different party in the system, allow the system to increase the trasanctional throughput by few factors.
Marek Mahut - StakeNuts
CC BY-SA 4.0
2021-12-02T12:57:52.737Z
Are we saying input endorsers do computation on behalf of Slot Leaders?  Right now doing that seems to have no value as computational requirements are small.  Also what benefit would this scheme provide a user, their transaction would still not be confirmed.
Scalextrix
CC BY-SA 4.0
2021-11-19T19:58:40.293Z
2021-11-19T19:58:40.293Z
Marek Mahut - StakeNuts
<p>The core idea of input endorsers is to separate transaction selection from block production. The Ouroboros protocol - just like it randomly selects block producers according to their staked Ada - would additionally randomly select input endorsers also according to the same staked Ada. Input endorsers would select transactions from the mempool and propagate these transactions through the network. All nodes could then process these endorsed transactions before the block producers bundle previously endorsed transactions into blocks.</p>
<p>According to the <a href="https://iohk.io/en/research/library/papers/ouroborosa-provably-secure-proof-of-stake-blockchain-protocol/" rel="nofollow noreferrer">Ouroboros paper</a>:</p>
<blockquote>
<p>Input-endorsers create a second layer of transaction endorsing prior to block inclusion. [..] Note that input-endorsers are assigned to slots in the same way that slot leaders are, and inputs included in blocks are only acceptable if they are endorsed by an eligible input-endorser.</p>
</blockquote>
<p>also</p>
<blockquote>
<p>Note that blocks and endorsed inputs are diffused independently with each block containing from 0 up to d endorsed inputs.</p>
</blockquote>
<p>To understand how this makes Cardano more scalable you need to understand what the current scalability bottlenecks are. Currently, a node will produce a block and then propagate it through the network. The next block producer will then hopefully create the next block on top of this previous block. There needs to be enough time in between the blocks to allow the new block to be created and propagated through the whole network. Otherwise you get more forks in the blockchain since some block producers would start producing their block before they received the previous block. More forks are a security risk since it allows an attacker with less than 50% of the stake to more easily create a longer chain. This leads to a situation where nodes spend most of their time just waiting for blocks to propagate.</p>
<p>Input endorsers solve this bottleneck. Since input endorsers cannot create forks (endorsed transactions are not yet ordered) they can be run at an increased rate without risking the security of the chain and since blocks contain only endorsed (and therefore already processed) transactions you can easily put more transactions into each block without increasing the time it takes to produce a block.</p>
<p><a href="https://youtu.be/PF1SW7e137A?t=1760" rel="nofollow noreferrer">Here</a>'s a short video explanation of input endorsers from the Cardano Summit 2021 by IOHK researcher <a href="https://iohk.io/en/team/peter-gazi" rel="nofollow noreferrer">Peter Gaži</a>.</p>
<p>The concept of input endorsers seems to share a lot of similarities to a paper called <a href="https://arxiv.org/abs/1909.11261" rel="nofollow noreferrer">Prism: Scaling Bitcoin by 10,000x</a>. There's a <a href="https://youtu.be/gTJyDtuWvUQ" rel="nofollow noreferrer">video presentation on Prism</a> that I found helpful in understanding the scalability aspect of input endorsers.</p>

CC BY-SA 4.0
2022-02-19T17:04:33.173Z
2022-05-19T11:44:54.083Z
2022-05-19T11:44:54.083Z
user142
<p>Here is a link to the original Ouroboros paper from 2016:</p>
<p><a href="https://eprint.iacr.org/2016/889.pdf" rel="nofollow noreferrer">https://eprint.iacr.org/2016/889.pdf</a></p>
<p>If you scroll to section 8.1, input endorsers (IE) are discussed and generalized in close proximity to block producers (BP). Both are stakeholder entities in that the power to go about their tasks is constrained by the amount of stake delegated to them.</p>
<p>We are familiar what this means in the case of BPs - block production capacity (limited by stake threshold) and chain verification (unlimited).</p>
<p>However, <strong>during periods of surging transaction volumes, BPs may be unable to keep up with network demand and continuous sequences of blocks may be completely full.</strong> This is where IEs come in. They are able to aggregate transactions and keep track of all submitted transactions, even those that haven't been included on chain <em>yet</em>. After the surge has settled, an IE would be able to check if some of the transactions it has processed have <em>not</em> made it on-chain, and if so, they'd be able to submit those transactions late, up to a certain late-time (assuming the UTXOs haven't yet been spent in an already on-chain tx).</p>
<p>I like to think of IE's almost like backup mempools with special privelages. The details of how <em>many</em> and how <em>late</em> endorsed transactions may be submitted on-chain will be a future protocol parameter, and will be constrained by a stake-threshold; much in the same way that an individual BPs power is constrained.</p>
<p>Hope this helps!</p>

CC BY-SA 4.0
2021-11-19T20:40:35.660Z
2021-12-24T23:18:52.197Z
2021-12-24T23:18:52.197Z
zhekson
<p>Charles Hoskinson talked about input endorsers in a <a href="https://www.youtube.com/watch?v=Lf2C4fq4ZY4" rel="nofollow noreferrer">recent livestream</a> and said they could improve the throughput of the base ledger by a factor of 20 to 40. What are input endorsers and how do they work? How do they achieve scalability? Where can I learn more?</p>

CC BY-SA 4.0
2022-01-29T08:11:37.293Z
[Here](https://youtu.be/PF1SW7e137A?t=1760)'s an explanation of input endorsers by IOHK researcher Peter Gaži.
user142
<ledger><ouroboros><scalability>
What are input endorsers and how do they make Cardano more scalable?
# What are input endorsers and how do they make Cardano more scalable?

(Asked by: username_0 on 2021-11-19)

Charles Hoskinson talked about input endorsers in a [recent livestream](https://www.youtube.com/watch?v=Lf2C4fq4ZY4) and said they could improve the throughput of the base ledger by a factor of 20 to 40. What are input endorsers and how do they work? How do they achieve scalability? Where can I learn more?

**Tags:** ledger, ouroboros, scalability
> **Comments:**
> **username_0**: [Here](https://youtu.be/PF1SW7e137A?t=1760)'s an explanation of input endorsers by IOHK researcher Peter Gaži.  

---

## 3 answers

### Answer by username_0 on 2022-02-19. Score: 2 | Accepted answer

The core idea of input endorsers is to separate transaction selection from block production. The Ouroboros protocol - just like it randomly selects block producers according to their staked Ada - would additionally randomly select input endorsers also according to the same staked Ada. Input endorsers would select transactions from the mempool and propagate these transactions through the network. All nodes could then process these endorsed transactions before the block producers bundle previously endorsed transactions into blocks.

According to the [Ouroboros paper](https://iohk.io/en/research/library/papers/ouroborosa-provably-secure-proof-of-stake-blockchain-protocol/):

> Input-endorsers create a second layer of transaction endorsing prior to block inclusion. [..] Note that input-endorsers are assigned to slots in the same way that slot leaders are, and inputs included in blocks are only acceptable if they are endorsed by an eligible input-endorser.

also

> Note that blocks and endorsed inputs are diffused independently with each block containing from 0 up to d endorsed inputs.

To understand how this makes Cardano more scalable you need to understand what the current scalability bottlenecks are. Currently, a node will produce a block and then propagate it through the network. The next block producer will then hopefully create the next block on top of this previous block. There needs to be enough time in between the blocks to allow the new block to be created and propagated through the whole network. Otherwise you get more forks in the blockchain since some block producers would start producing their block before they received the previous block. More forks are a security risk since it allows an attacker with less than 50% of the stake to more easily create a longer chain. This leads to a situation where nodes spend most of their time just waiting for blocks to propagate.

Input endorsers solve this bottleneck. Since input endorsers cannot create forks (endorsed transactions are not yet ordered) they can be run at an increased rate without risking the security of the chain and since blocks contain only endorsed (and therefore already processed) transactions you can easily put more transactions into each block without increasing the time it takes to produce a block.

[Here](https://youtu.be/PF1SW7e137A?t=1760)'s a short video explanation of input endorsers from the Cardano Summit 2021 by IOHK researcher [Peter Gaži](https://iohk.io/en/team/peter-gazi).

The concept of input endorsers seems to share a lot of similarities to a paper called [Prism: Scaling Bitcoin by 10,000x](https://arxiv.org/abs/1909.11261). There's a [video presentation on Prism](https://youtu.be/gTJyDtuWvUQ) that I found helpful in understanding the scalability aspect of input endorsers.


---

### Answer by username_3 on 2021-11-19. Score: 5

Here is a link to the original Ouroboros paper from 2016:

<https://eprint.iacr.org/2016/889.pdf>

If you scroll to section 8.1, input endorsers (IE) are discussed and generalized in close proximity to block producers (BP). Both are stakeholder entities in that the power to go about their tasks is constrained by the amount of stake delegated to them.

We are familiar what this means in the case of BPs - block production capacity (limited by stake threshold) and chain verification (unlimited).

However, **during periods of surging transaction volumes, BPs may be unable to keep up with network demand and continuous sequences of blocks may be completely full.** This is where IEs come in. They are able to aggregate transactions and keep track of all submitted transactions, even those that haven't been included on chain *yet*. After the surge has settled, an IE would be able to check if some of the transactions it has processed have *not* made it on-chain, and if so, they'd be able to submit those transactions late, up to a certain late-time (assuming the UTXOs haven't yet been spent in an already on-chain tx).

I like to think of IE's almost like backup mempools with special privelages. The details of how *many* and how *late* endorsed transactions may be submitted on-chain will be a future protocol parameter, and will be constrained by a stake-threshold; much in the same way that an individual BPs power is constrained.

Hope this helps!


---

### Answer by username_1 on 2021-11-19. Score: 1

Input endorsers are originally discussed in the [Ouroboros](https://eprint.iacr.org/2016/889.pdf) paper and could be potentially be used to create specific high-throughput layer 1 Ouroboros variants.

To get the idea, check out this part of the paper:

> Input endorsers, stakeholder delegates, anonymous communication. In
> the final stage of our design, we augment the protocol with two new
> roles for the entities that are maintaining the ledger and consider
> the benefits of anonymous communication. Input-endorsers create a
> second layer of transaction endorsing prior to block inclusion. This
> mechanism enables the protocol to withstand deviations such as selfish
> mining and enables us to show that honest behaviour is an approximate
> Nash equilibrium under reasonable assumptions regarding the costs of
> running the protocol. Note that input-endorsers are assigned to slots
> in the same way that slot leaders are, and inputs included in blocks
> are only acceptable if they are endorsed by an eligible
> input-endorser. Second, the delegation feature allows stakeholders to
> transfer committee participation to selected delegates that assume the
> responsibility of the stakeholders in running the protocol (including
> participation to the MPC and issuance of blocks).

> **Comments:**
> **username_0**: I don't understand how this leads to more throughput. If the system can process 40 times more transactions per second, doesn't that lead to 40 times bigger state growth and therefore 40 times bigger storage requirements? How do input endorsers address this?  
> **username_1**: They do not address it, the input endorsers won't help with the growing storage requirement at all. They will just help by validating the inputs that are later minted by the slot leader, therefore offloading a lot of validating tasks to a different party in the system, allow the system to increase the trasanctional throughput by few factors.  
> **username_2**: Are we saying input endorsers do computation on behalf of Slot Leaders?  Right now doing that seems to have no value as computational requirements are small.  Also what benefit would this scheme provide a user, their transaction would still not be confirmed.  

---

