3

Charles Hoskinson talked about input endorsers in a recent livestream 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?

3

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!

1

Input endorsers are originally discussed in the Ouroboros 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).

3
  • 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
    Nov 19 '21 at 20:26
  • 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. Nov 19 '21 at 20:34
  • 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
    Dec 2 '21 at 12:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.