# Request For Proposals: Decentralized Sequencer Selection

**URL:** <https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350>\
**Category:** Aztec\
**Tags:** rfp, sequencers\
**Created:** [May 9, 2023, 4:12pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350 "2023-05-09T16:12:32Z")\
**Posts on this page:** 16\
**Page:** 2

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [May 16, 2023, 1:08pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/22 "2023-05-16T13:08:37Z")

</div>

Interesting! Thank you for the insight and context. I think that at the moment, I’m not personally concerned about bootstrapping a significant enough number of validators, or interest in participating in the network. Additionally, I’d be opposed fundamentally relying on other network’s validators opt-ing in, as they are less likely to be dedicated to upgrades/etc., with less longterm community alignment.

Do you see any overlap between this approach & “shared sequencers”?

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [May 16, 2023, 1:25pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/23 "2023-05-16T13:25:11Z")

</div>

> [@0x-Stoic](#):
>
> So not sure what needs to be proved, unless you mean some entity needs to coordinate the proving of the aggregate proof and push down to L1?

Yes, there are two “stages” of proving coordination generally required or assumed.

1 - Proof delegation - breaking up which parts of a block’s private transactions will be worked on, and by whom. @jaosef’s PBS proposal handles this nicely with provers voting on what they want to work on.

> The block proposer assembles block votes into a block transcript, detailing which provers will create which part of the proof tree from the available votes on the L2 gossip network.

Generally this design decision comes from the idea in Aztec that if the block is built with invalid transactions, or the provers work on a block that doesn’t end up in a rollup, that could waste a significant amount of time resulting in an uncle block (2-10+ minutes, potentially, across 100s-1000s of machines…). So they need strong commitments prior to beginning the parallel proving.

2 - Proof aggregation - After the proving network is completed, someone or some mechanism must be in place for aggregating all of these individual proofs and putting them into a single final rollup which gets published to the Eth mainnet. (stealing this photo from Joe’s proposal, which may be a helpful mental model)

 ![Screenshot 2023-05-16 at 9.17.41 AM](https://europe1.discourse-cdn.com/flex013/uploads/aztec/original/1X/dee267b45e28227cfa854c0aa64734301cf4d927.jpeg)

Lastly, I’d say that this RFP allows you to assume that these are “problems to be solved later” (via a subsequent RFP) - hence why it’s not explicitly outlined. The goal is to get to a point in time in which the proving network knows there’s a valid block being built, and/or sequencer to listen to.

Does this all make sense & help clarify?

---

<div class="post-metadata">

**Author:** ![jrg](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/jrg/32/190_2.png) [@jrg](https://forum.aztec.network/u/jrg)\
**Post date:** [May 16, 2023, 10:42pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/24 "2023-05-16T22:42:32Z")

</div>

Hey @cooper-aztecLabs -

When you say “sequencer selection should not prioritize the best hardware or largest actors” is this meant to preclude PoS?

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [May 17, 2023, 1:42pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/25 "2023-05-17T13:42:15Z")

</div>

Hey @jrg 🥳 thanks for the comment!

I think PoS is definitely on the table, and directionally where you see Whisky/Joe’s PBS proposal going. With respect to not prioritizing best hardware or largest actors, this is a (perhaps poor) way to try and prioritize a design that doesn’t consolidate on “fastest provers/sequencers win” → as this could result in a single monopolistic entity controlling block production, likely in a very large cloud instance, that sort of thing. I think that Joe’s proposal is more likely to become centralized around very sophisticated proposers, but does a nice job ensuring that the proving network and rest of rollup production is well distributed.

My proposals way of addressing this is that it randomly chooses a leader from the entire set of sequencers that are currently staked. Therefore, if you have a machine that meets the minimum performance requirements, and if you have met the minimum staking requirements, then you have some (small) guarantee that you have a random chance to produce a block (eventually). This is nice to have, because in a worst case censorship scenario, users would still have a chance to build their own blocks, and include their own transactions.

---

<div class="post-metadata">

**Author:** ![0xPetra](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/0xpetra/32/305_2.png) [@0xPetra](https://forum.aztec.network/u/0xPetra)\
**Post date:** [May 18, 2023, 1:33pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/26 "2023-05-18T13:33:13Z")

</div>

I think it would be interesting to add the role interoperability plays in the discussion. Reading about shared sequencer solutions like Espresso and Astria, or watching the OP Stack approach, apparently having a shared sequencer can enable interoperability between chains. I’m super intrigued by how public/private state would work in such cases.

This also defines if Aztec-based chains would be more of a sister chain that shares the sequencer and L1 contracts or an L3 that uses Aztec as a settlement layer.

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [May 19, 2023, 5:44pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/27 "2023-05-19T17:44:52Z")

</div>

> [@\[Proposal\] Sequencer Selection: Cookie Jar!](http://forum.aztec.network/t/proposal-sequencer-selection-cookie-jar/448):
>
> Title Cookie Jar Proposed by [Zac Williamson](https://twitter.com/Zac_Aztec), [Cooper Kunz](https://twitter.com/cooper_kunz)Summary We propose a privacy-preserving sequencer selection algorithm that employs a bidding mechanism to determine the right to create a rollup in a fully decentralized network, based off of Ethereum 2.0’s current proof of stake mechanism. In Aztec, block producers must be known ahead of time as they coordinate block production (i.e., they post block state to the L2 gossip network, accept proofs from the proof pool, and coordinate rollu…

---

<div class="post-metadata">

**Author:** ![Anon](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Anon](https://forum.aztec.network/u/Anon)\
**Post date:** [May 23, 2023, 11:17pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/28 "2023-05-23T23:17:56Z")

</div>

> [@\[Proposal\] Based Rollup - Simple, Decentralized, Tokenless, Sequencerless L2](http://forum.aztec.network/t/proposal-based-rollup-simple-decentralized-tokenless-sequencerless-l2/479):
>
> Based Rollup. An L1 contract that allows anyone to submit valid L2 blocks. crLists may be submitted on L1. Blocks are built by L1 searchers/builders from a mempool. crLists are transaction lists required for inclusion in a future block. They may be compressed, e.g. [[to, sig], [nullifier, proof], [nullifier, proof]] -\> compress([[[to], [nullifier], [nullifier], proof]]) Fees for crLists may be calculated to target a minimum block production rate. Network risk is minimized compared to alter…

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [May 23, 2023, 11:47pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/29 "2023-05-23T23:47:45Z")

</div>

> [@\[Proposal\] Sequencer Selection: Sequencer Schmequencer](http://forum.aztec.network/t/proposal-sequencer-selection-sequencer-schmequencer/478):
>
> Title Sequencer Schmequencer Proposed by@MikeSummary Our proposal draws inspiration from Ouroboros. By using Verifiable Random Functions (VRFs) to rank sequencers, the participant with the lowest VRF output gets designated as the leader for block/rollup production. Other participants function as backups, ensuring network liveness and reliability. This approach fosters fairness, decentralization, and network liveness. Details The proposed protocol revolves around the following steps: T…

---

<div class="post-metadata">

**Author:** ![benedikt-espresso](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/benedikt-espresso/32/211_2.png) [@benedikt-espresso](https://forum.aztec.network/u/benedikt-espresso)\
**Post date:** [May 24, 2023, 5:23am UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/30 "2023-05-24T05:23:13Z")

</div>

> [@\[Proposal\] Sequencer Selection: Irish Coffee](http://forum.aztec.network/t/proposal-sequencer-selection-irish-coffee/483):
>
> Decentralized Sequencing Proposal: Irish Coffee Proposed by: [Espresso Systems](https://www.espressosys.com/) team This proposal is an adaptation of the [Whisk-y proposal](http://forum.aztec.network/t/whisk-y-should-we-use-whisk-for-sequencer-selection/365). It replaces the Single Secret Leader Election (SSLE) with a VRF, making it significantly more lightweight and efficient. The protocol is inspired by [Chia/PoSAT](https://arxiv.org/abs/2010.08154) but we are replacing the need for a VDF with Ethereum itself. That is, Ethereum serves as a timing and a beacon service. Future versions of Ethereum’s beacon might actually rely on a VDF themselves. …

---

<div class="post-metadata">

**Author:** ![ben-espresso](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/ben-espresso/32/213_2.png) [@ben-espresso](https://forum.aztec.network/u/ben-espresso)\
**Post date:** [May 24, 2023, 7:05pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/31 "2023-05-24T19:05:53Z")

</div>

> [@\[Proposal\] Sequencer Selection: Espresso Martini](http://forum.aztec.network/t/proposal-sequencer-selection-espresso-martini/486):
>
> Decentralized Sequencing Proposal: Espresso Martini Proposed by: [Espresso Systems](https://www.espressosys.com/) team Summary This proposal is an extension to any base decentralized sequencing design (e.g., total anarchy, [Whisk-y](http://forum.aztec.network/t/whisk-y-should-we-use-whisk-for-sequencer-selection/365), [Cookie Jar](http://forum.aztec.network/t/proposal-sequencer-selection-cookie-jar/448), [Irish Coffee](http://forum.aztec.network/t/proposal-sequencer-selection-irish-coffee/483), etc.) that preserves the same security properties but adds pre-confirmations to improve the user experience. More precisely, clients who trust that less than a threshold of the sequencer staking set is corrupt (e.g., 33%) can obtain fast pre-confirmations of transaction su…

---

<div class="post-metadata">

**Author:** ![Praneeth-Ethereal](https://avatars.discourse-cdn.com/v4/letter/p/41988e/32.png) [@Praneeth-Ethereal](https://forum.aztec.network/u/Praneeth-Ethereal)\
**Post date:** [May 31, 2023, 10:16pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/32 "2023-05-31T22:16:51Z")

</div>

I would like to suggest adding an increased notion of censorship resistance to any leader-based protocols for sequencers, by utilising some of the directions proposed wrt fair ordering proposed in modified versions of [Themis](https://eprint.iacr.org/2021/1465) (and later on, in [Multiplicity](https://blog.duality.xyz/introducing-multiplicity/)). This presumes some form of leader-based consensus mechanism between sequencers in the network (which should hopefully not be too resource heavy).

We want to enable a form of coarse-grained ordering and then utilise fine-grained auction mechanisms (potentially driven by MEV projections - [this](https://research.arbitrum.io/t/transaction-ordering-policy/127/2) is a fine discussion) in order to reduce a single proposer’s monopoly on txn inclusion and drive better time-scales for eventual inclusion (hopefully linked to network latency and also in the process, avoid some of the complexities associated with Themis). The core idea, proposed in Duality’s Multiplicity blog post, relies on a modification to any leader-based consensus protocol for sequencers - and allow the leader to collect all orders from consensus nodes and subject them to a fair aggregation protocol (and a proof of correctness): this could be the leader choosing to include a certain number of txn bundles from sequencer signed bundles - and other nodes determining the validity of the leader’s construction and choosing to accept/reject accordingly. The number mentioned previously, could be stake-weighted, or more interestingly, linked to sequencer reputation or uptime (and maybe relying on Noir). The idea for the latter is essentially a proof of uptime/sequencer performance, which could be linked as a VDF taking the beacon chain state + number of bundles produced till date as input - credits to the Obol team as well as the delay tower proposal by the 0L team).

This might be a nice fit for an ecosystem with a small number of sequencers and also help with establishing a base towards including contributions from a larger pool of sequencers in a stake-independent dimension.

The last point I would like to highlight (even as part of the inclusion criteria) is getting feedback from the Aztec team and the broader community as it relates to sequencer-specific behaviour (on the network propagation/compute piece) - including other forms of ‘witnesses’ (via network telemetry and some efforts on the proof of bandwidth gadgets) in order to facilitate proper stakeholder behaviour if un-incentivized/not on the happy path for L2 epochs.

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [June 1, 2023, 11:11pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/33 "2023-06-01T23:11:40Z")

</div>

> [@\[Proposal\] Sequencer Selection: Fernet](http://forum.aztec.network/t/proposal-sequencer-selection-fernet/533/):
>
> Update: The latest version of this proposal can be found [here](https://hackmd.io/@aztec-network/fernet). Fair Election Randomized Natively on Ethereum Trustlessly (Fernet) is similar to Whisk-y, Schmequencer, and Irish Coffee in that it relies on randomness for sequencer selection. However, it doesn’t select a fixed set of leaders, but assigns a weight to each of them to secretly rank them. Whether a sequencer chooses to propose a block or not depends on their expected rank. This proposal also draws from B52 in that there’s a strong s…

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [June 1, 2023, 11:17pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/34 "2023-06-01T23:17:36Z")

</div>

Hello all, to our knowledge everyone currently working on a proposal has posted… So we are doing a final call for proposals! Please respond to this comment within the next 48 hours if you’re currently working on something that has not yet been published on this forum. Otherwise the submission window will close. Discussions, feedback, etc., are all still highly valuable and very much appreciated.

Thank you to everyone who’s participated so far!

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [June 6, 2023, 3:51pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/35 "2023-06-06T15:51:02Z")

</div>

Following up here to confirm that the submission deadline has closed 🎊 Thanks so much for to those who’ve submitted proposals. Note that there’s still plenty of debate, feedback, and discussion to be had

---

<div class="post-metadata">

**Author:** ![wertolitik4](https://avatars.discourse-cdn.com/v4/letter/w/b3f665/32.png) [@wertolitik4](https://forum.aztec.network/u/wertolitik4)\
**Post date:** [August 6, 2023, 10:13am UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/37 "2023-08-06T10:13:33Z")

</div>

For me it’s awesome but at the time i have no idea how to do it

---

<div class="post-metadata">

**Author:** ![cooper-aztecLabs](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/cooper-azteclabs/32/130_2.png) [@cooper-aztecLabs](https://forum.aztec.network/u/cooper-aztecLabs)\
**Post date:** [September 21, 2023, 3:26pm UTC](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/38 "2023-09-21T15:26:03Z")

</div>

I’m excited to share that this week we announced the decision to continuing to iterate on and improve fernet, versus [b52](http://forum.aztec.network/) the other [finalist candidate](https://medium.com/aztec-protocol/aztec-sequencer-selection-finalists-122dbc6bb4) which was previously announced on July 13th.

Please read this week’s Fernet announcement here for more information: [https://medium.com/aztec-protocol/announcing-fernet-aztecs-decentralized-sequencer-selection-protocol-dd06194d572f](https://medium.com/aztec-protocol/announcing-fernet-aztecs-decentralized-sequencer-selection-protocol-dd06194d572f) as well as insight into some outstanding (but very interesting) design decisions!

Thank you to everyone who has participated! The value of your contributions cannot be understated.

Excited to continue designing, debating, and building fully in public.

Also quick reminder we have an active [rfp](http://forum.aztec.network/t/request-for-proposals-upgrade-mechanisms/605) for upgrade mechanisms!

[Previous page](https://forum.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350.md?page=1)
