Episode 320 - A Deep Dive into Shared Sequencers with Espresso's Ben Fisch
17 Apr 2024 · 1:02:30
Hosts Anna Rose and Brendan Farmer talk with Ben Fisch, CEO of Espresso Systems, about the current landscape of Layer 2 sequencing and how a shared sequencer marketplace like Espresso works. They discuss how MEV factors into shared sequencing, splitting the sequencer role into distinct subroles, and how these pieces fit together across rollups.
Speakers
Topics
Transcript
[Music] welcome to zero knowledge I'm your host Anna Rose in this podcast we will be exploring the latest in zero knowledge research and the decentralized web as well as new paradigms that promise to change the way we interact and transact online this week guest co-host Brendan and I interview Ben Fish from espresso systems we dive into the world of L2 sequencing shared sequencing me in the new system the marketplace espresso is building and so much more quick disclosure I'm an investor in espresso
systems through zkv and zkv is also exploring working with the system and yet I feel I had so much to learn from this interview about what they're building and how different actors can get involved in it hope this helps to shed a little bit of light on the shared sequencing concept for you too now before we kick off I just want to let you know about an upcoming hackathon we are getting very excited about ZK hack CCO is now set to happen from May 17th to 19th in kco in the spirit of ZK hack Lisbon and ZK hack Istanbul we will be hosting Hackers from all over the world to join us for a weekend of building and experimenting with ZK Tech we already have some amazing sponsors confirmed like Mina 01 Labs polygon alzero scroll
Avil nethermind and more if you're interested in participating apply as a hacker there will be prizes and bounties to be won new friends and collaborators to meet and great workshops to get you up to date on ZK tooling hope to see you there I've added the link in the show notes and you can also visit ZK Haack cow.com to learn more now Tanya will share a little bit about this week's sponsors launching soon nada's a proof of stake L1 blockchain focused on multi-chain asset agnostic privacy via a unified set namada is native ly interoperable with fast finality chains via IBC and with ethereum using a trust minimized Bridge any compatible assets from these ecosystems whether fungible
or non-fungible can join nada's unified shielded set effectively erasing the fragmentation of privacy sets that has limited multi-chain privacy guarantees in the past by remaining within the shielded set users can utilize shielded actions to engage privately with applications on various chains including ethereum osmosis and Celestia that are not natively private nada's unique incentivization is embodied in a shielded set rewards these rewards function as a bootstrapping tool rewarding multi-chain users who enhance the overall privacy of namada participants follow namada on Twitter @ namada for more information and join the community on Discord discord.gg namada Alo is a new layer one blockchain that achieves the programmability of
ethereum the privacy of zcash and the scalability of a rollup driven by a mission for a truly secure internet Alo has interwoven zer knowledge proofs into every facet of their stack resulting in a vertically integrated layer one blockchain that's unparalleled in its approach Alo is ZK by Design dive into their programming language Leo and see what permissionless development looks like offering boundless opportunities for developers and innovators to build ZK apps this is an invitation to be part of a transformational ZK Journey dive deeper and discover more about Alo at al.org and now here's our episode today we are here with Ben Fish
co-founder and CEO of espresso systems welcome to the show Ben thank you it's good to be back Anna and we have Brendan today as the guest co-host welcome Brendan thanks Anna so Ben I was looking back at our last episode it was over two years ago that you came on the show and you did introduce espresso but what we talked about back then and the product and everything is changed so much I'm very excited to get a chance to kind of catch up and learn about what's changed what's happening I also am very excited to get a chance to dive into shared sequencers this is like something that I think tun and I especially those episodes we've mentioned it a bunch of times but we've never actually covered it on the show yeah let's go so the first part I really do want to
understand the shift from what we talked about last time to working on shared sequencers like what was it in your journey kind of with this project that caused that pivot when we started out working on systems we were building a privacy product so it was quite different we started out with the system that we were developing was called Cape configurable asset privacy and it was all about balancing you know the need for regulatory oversight and disclosures with with the need for privacy and so that that was what Cape was about and we found that it was a uh you know it was a compelling product but it was very difficult to find product Market fit uh at least at the time I don't know if the
times have shifted by now but we found it to be quite difficult and at the same time as we were working on on this privacy product we were also building infrastructure that would increase efficiency and a cape was actually supposed to be deployed as a layer 2 application so we were getting familiar with the layer 2 landscape and what it you know meant to run applications on the layer two and something that was very top of mind for us was the fact that if we ran Cape as a payment platform on top of other Layer Two it would be quite isolated from the rest of of the ecosystem and so we we were quite worried about that because if we ran Cape as a smart contract on ethereum then people could use it in any D
protocol Etc whereas if you deployed it on a layer 2 whether it was an app chain or on top of a specific layer 2 we would have to make a choice about you know which subset of applications we were integrating with it would feel a lot more like we're deploying on a specific layer 2 ecosystem rather than on ethereum uh and so that's actually what what kickstarted this whole thinking about how do we increase interoperability between layer 2s on top of ethereum and that's what ultimately led us down to completely repurposing a lot of the infrastructure that we were building to actually facilitate an interoperability layer for layer twos uh and that that's what brought us to Shared sequencing for me it was like I think the espresso project and team like
that was that was the first time I even heard of the concept of Shar sequencers was it your idea or was there some work happening anywhere else in the ecosystem that you were kind of like drawing on it was our idea at least independently we um came up with this idea after bota so it was Devcon in in bota and we were talking to a lot of teams there and that's where we came up with the idea but I think that there were you know other teams talking about this too ultimately realized that you know teams like optimism with the super chain were also using similar language to describe shared
sequencing um around the time that we actually announced the New Direction it was in March 2022 I think must have been 23 because you were on the show in 22 yeah yes no it was March 2023 it was not not this past March but the March before wow I can't believe how how time flies so it was March 23 and at that time Astria also started talking about shared sequencing already as well okay and Flash Bots with Suave also was using similar language describe what is a little bit different from what we're doing with shared sequencing but the term shared sequencing was certainly floating around and that's actually to some degree what led to a little bit of confusion around the term because people were using it in different ways to
describe different things so why don't we kind of Define how you see shared sequencers or like how the term is now used yes and basically what you guys are building well the way that I see it a shared sequencer describes a ephemeral role of some server node whatever we want to call it that for a given time window determines or proposes the next sequence of transactions for two different chains so that's what I call a shared sequencer for two different chains this doesn't need to be a fixed role it doesn't mean that there's one party that or protocol that's always producing the next sequence of transactions for these two different uh chains but simply that there's one party
that's playing uh what we would generally call the role of a leader in a consensus protocol uh and so that's also different from the process of actually finalizing or agreeing on what was proposed that is what I call a shared finality Gadget um or a consensus protocol I use the term shared sequencer specifically to describe the the role of a leader that gets to uh Act you know have autonomy over over proposing during a certain time window for for multiple chains at once yeah I think one of the things that I didn't understand when like the discussion around Shar sequencing first emerged was like that privilege to to have a
proposer that's shared between multiple rollups it's you know revocable like it doesn't need to like you're not sort of like as a roll up like perpetually giving up sequencing rights to a proposer this is like something that exists for a discret period of time and then yes I think like yeah so I'll leave with that and it's a lot more like the interaction between proposers and Builders um on ethereum where whereas the relationship between a builder and a proposer is a little bit different because the proposer ultimately has the right to propose whatever it wants for ethereum and and there's this outof band um you know a fair exchange protocol that's happening between a builder and a proposer and maybe it's facilitated by a
relay that is not part of the you know the core infrastructure of ethereum uh but a proposer will at the very last minute basically auction off the you know the block and and is essentially looking for suggestions from a builder market and and and make some kind of credible commitment to builders that whatever they propose it will actually respect you know the shared sequencer idea is to auction off the rights to actually be the proposer in the first place and if you have some party that ends up with the right to be the proposer for multiple chains for a given period of time uh that party can then do things you know an individual proposer for a chain might not be able to do wow this
is so like I've been actually wondering about the connection between me and shared sequencers because I mean I think I saw you guys at this event focused on meev and you were speaking there and I like this is really helpful actually to see where it's really tapping into kind of that space before we dive even deeper into this though I realized that we should probably Define what is sequencing today what is the current landscape how is this currently being done because then I think we'll understand even better what this change looks like the sequencer in layer 2 is today mostly a centralized uh node that uh plays several different roles it collects transactions those transactions in most
rollups aren't posted immediately to ethereum this helps with compression so it collects transactions and builds up a buffer of transactions um and so it's acting as a temporary uh da layer in fact because it's persisting those those transactions it's persisting the data before it's ultimately posted to ethereum and it then compresses those transactions either if it's a ZK proof system sometimes the sequencer Ro is sort of combined with the proofer role but those are logically separate so it could Outsource the job of constructing a proof to approver and at some point it then posts the transaction data to eum compressed usually that's before the proof is posted if it's a ZK rollup and the the second role that it does in addition to persisting this
transaction data is it acts as well first of all it gets to determine the order in which these transactions actually appear by virtue of you know playing that role yeah it of course May Outsource that job to a builder Market that doesn't happen so much today on layer Toth but it totally could um and finally the last thing that it does is it acts as a certain um you know trusted finality gadget for the rollup pre ethereum finality so this is sometimes called pre-confirmation or soft confirmations if you as a user trust the sequencer for your rollup then once you send your transaction to the sequencer you can you know feel like your transaction is done and confirmed and
you don't have to wait for ethereum to finalize the transaction which would be another you know 13 minutes conservatively nor do you necessarily have to wait for a proof to appear on ethereum if you trust the sequencer for the L2 who runs the sequencer today generally speaking the foundations or projects behind various l2s have some default sequencer I think every project out there has a you know long-term plan to decentralize that whether through external infrastructure or infrastructure that they're building in house but typically it's it's run by by the foundation or or by the company behind
the project there are also rollup as a service companies that well this is more relevant not for the the main chains of the various you know L2 Stacks but but rather the the app chains of those Stacks there are companies like conduit that actually run sequencers for projects when you talk about like running the sequencer a centralized sequencer is it on one machine are they also Central like is it at least redundant or something I'm assuming so this yeah I like this question because I think it touches on something about decentralization that is often glossed over you know we think of web 2 as centralized uh infrastructure but web to infrastructure is still very much
distributed it's just the term that we use there is distributed rather than decentralized yes and and the reason is that usually for decentralization it's more of a distinction between who's logically participating if you you know Google were to run a fault tolerant distributed system on a thousand machines we wouldn't call that a decentralized system decentralization is you know connected to uh more of a permissionless concept but even in a permission system any permission blockchain is going out and trying to find you know many different entities that are contributing and those entities are logically separated they're run by different organizations different people uh and that's what distinguishes decentralized systems from just a fall
tolerant distributed system if you're going to run a centralized sequencer um of course you know the state-ofthe-art thing to do is to run some kind of fall tolerant distributed system I think that's a really important point because I I think that people mistake the fact that you can have something that's like fault tolerant and has like very very high uptime and reliability guarantees without it being decentralized and like decentralization at least in my mind is much more about avoiding rent seeking and like sort of creating a market structure where you you don't have the possibility of capture by a single entity but I think that mistake gets made a lot when people talk about sequencers I want to also understand sort of the economics of the sequencer like fees are somehow being incurred by
the sequencers I understand it but what are those are they from the protocol are they actually like gas like yeah where are they coming from great question so today when we talk about sequencer you know Revenue so to say it encapsulates a lot of different types of revenue streams that will ultimately be separated when we move away from single you know sequencers or centralized sequencers so the first stream of revenue for roll of ecosystem is the gas fees that are being paid but those are being paid inside the protocol today that might be encoded as a payment to an address that happens to be uh owned by the same entity that's running the
sequencer but there's no fundamental reason why that needs to be the case so even even if we you know were to do away with a sequencer run by the foundation of a rollup ecosystem and this was a more distributed or outsourced role the primary source of revenue for the rollup which is the gas fees being paid there being logically paid as a part of every transaction inside the rollup and it could go to uh you could go to a dow address it could could be burned it could be distributed to token holders in that rollup ecosystem it could go to uh an address that is controlled by the foundation and then used for whatever uh the foundation might use it for some communities are excited about talking
about you know public goods funding others are talking about it in a different way whatever is the case the sequencing Revenue that's generated or the execution Revenue so the execution fees are in my view separate from any additional Revenue that comes from the right to sequence itself because of the way that's set up like is there a motivation for these entities that are running this sequencer to actually give that to a more decentralized pot like is there any motivation for them to switch right so what I was just saying is that the fees that are coming from the gas fees that are being paid that's going to if if a rollup were to Outsource
sequencing somewhere else it would still collect the revenue from you know gas fees so so then we come to the next question which is well what additional revenue does a sequencer and only a sequencer make and that has entirely to do with what is collo called me right so anything that goes beyond the uh execution fees the gas fees that people are paying uh any other Revenue stream is generally you know thrown under this umbrella term me and that could be you know from people paying priority fees to order their transactions in a certain way um it could be from selling it's a special case of that it could be it could be from selling Arbitrage opport unities it could also be for things that
people don't classically associate with me but is really under the term me which is any form of pre-confirmation so if a sequencer says to a user um you know the next time that I have the opportunity to to sequence I promise you that I'll do this for you you know the user won't pay for failed transactions it could be promising that the user if this sequencer controls multiple chains it could be promising that the um sequencer will try to do some kind of atomic interaction across multiple chains let's say the user wants to attempt to do a a bridge transaction to buy an nft but doesn't want to do anything unless it actually successfully purchases the nft that's another type of promise it could make all these promises you know users May pay tips for and that again becomes
additional Revenue that's outside of the just the gas fee that are being paid and and that that is all under sequencing you know intrinsic sequencing Revenue so so then you ask if the rollup ecosystems are running their own sequencers today and and this additional Revenue could be quite significant why would they give it away and I don't think they would give it away which is why espresso is is building a Marketplace through which they can sell it cool okay so let's come back to the shared sequencer I think this has been really helpful to understand how it is today the shared sequencer lives as far as I understand sort of as this like middle layer kind of between the rollup and the main chain is that correct in thinking of it that way yeah it's hard to say it's hard to
put it into to because the rollup itself is a it's a virtual machine similar to how the you know the evm is a virtual machine I mean some of these rollups actually run the evm U others run special purpose VMS and the layers that we use to describe things so layers are are generally you know used to describe infrastructure that's actually you know processing and persisting data and it's not generally used to describe the VM itself although application layer is something that we describe on top of ethereum so the way that I look at it the layer two is sort of synonymous with the application layer it is a it is a very much enriched application layer on
top of ethereum yeah and so sequencing is more of a yeah but it's more of a layer on top of ethereum or Now with uh with Bas sequencing it sort of blurs the lines between those but I would say that it is infrastructure it is it is a a layer above ethereum in the cases that it's used today similar to external da layers external da systems I wouldn't necessarily say that it's a layer in between the L1 and the L2 but I have in the past described it as layer 1.5 I'm I'm sort of going back on that description I'm not sure it's appropriate okay well we overload the term layer right because like we use it
to refer to things like the da layer and the execution layer and the application layer and those don't really have like a hierarchical relation ship to one another exactly I think that's a good way to describe it right yeah but but but like the L1 and the L2 we relate those hierarchically because the L2 settles to the L1 my understanding is the sh sequencing is much more in the former category because like like there's no like settlement relationship between yes like L2 to L 1.5 to L1 that's right it is a layer it is an infrastructural layer just like an execution layer or da layer but it's not necessarily hierarchically situated between what we generally referred to as layer one and Layer Two you mentioned that the sequencer in the current state does hold da in a way like it it holds
that place for I guess a shorter period of time would a shared sequencer then have some sort of Da component or are you kind of ignoring that for now like leaving that to the DA layers yeah so sort of fundamentally one of the roles of a sequencer today is to persist Data before it gets posted to the L1 right now some sequencers in the future may not operate like that and they would just ingest data that's already been posted to the L1 but rollups that are looking to take advantage of the ability to compress data you know before it's posted to the L1 Forda and primarily driven by the reason for this is is cost um and the fact that ethereum da is even post 444 is still
you know more expensive than what external systems can do that of course may change MH but I do see da at least temporary da as an important job of a sequencer and so at espresso that is a DA system is a part of our infrastructure so we do provide a DA system that's very similar in nature to Igan da okay but rollups may choose to use alternative da systems if they so choose the connection to me I know you just described it before but can you actually cover that again because I think I feel I have a little bit more context now yeah like the Builder proposer I mean we've done episodes on
this in the past so like we do have material we can link to and stuff but it might be good to kind of like revisit that idea and say exactly what they're doing in the case of a shared sequencer yeah so the Builder's job typically is it comes through a just in time auction that the proposers run right before they build a block uh and typically at this point all the information is known although Builders may have private order flow uh of transactions as well that that is not known to the proposer but but typically the the job of the Builder is to uh figure out like Optimal orderings of of transactions and it does this and and whoever is able to pit the most because by virtue of finding the
optimal ordering they can make the most Surplus value typically wins this Builder Ro I mean that's how how it works with proposer Builder Separation on ethereum today and this is all on the L1 so this is like on ethereum proper right well that's how it works on the L1 uh but the same exact thing could happen on the L2 with sequencers so sequencers propose blocks and uh sequencers could right before they propose a block use the same type of interaction like run Mev boost or something like that where they would uh Outsource the job of building this block to a builder market now some sequencers prefer to have a sort of a first come first serve experience and so that leaves less room for this kind of interaction and so that
may not actually happen all of this is related to Shared sequencing but quite different because with shared sequencing sequencing marketplaces as I like to call it the rollups are selling future rights to occupy time slots right so they're selling off the right to be the proposer and the proposer can always just in time before it actually builds a block during that time slide it could choose to to work with a builder Market as well whether it could effectively do that or not may be determined by features of of that rollup so rollups that have a very fast block time and may not leave enough time for a proposer to really Outsource that job rollups that prefer to
threshold encrypt transactions and then have some threshold decryption Also may not leave as much room for a proposer to Outsource that job there are other ways that you know occupying this proposed or time slot may bring you additional Revenue beyond the gas fees that are being paid in the rollup which is why I would say that you know me goes beyond the classical ways in which we think uh you know me is generated today in Builder auctions and I gave an example so one example would be if I if I'm the proposer for some time slot in the future I could make a promise to a user that I'll do something when it's my turn I'll do something like ensure that their transaction goes through I'll try to do
some kind of atomic Interac action across different chains for them and only and ensure that they don't pay for failed transactions unless the whole thing goes through automically those are not typical examples that we give with proposers and builders on ethereum today because it doesn't you know make as much sense but it is something that would be um potentially a significant stream of revenue for shared sequencers that are sequencing for multiple chains on top of the L1 and when you say multiple chains these are multiple l2s multiple rollups yeah yeah okay Ben do you think it's fair to say that like PBS especially for rollups allows us to kind of like have our cake and eat it too in the sense that we can have like a decentralized like proposer selection mechanism and decentralized consensus where Hardware
requirements are very low but Builders actually can be like heavily centralized they can be extremely sophisticated actors that are able to run execution clients across a bunch of different rollups is that like a fair characterization of the relationship yeah I think that's a fair characterization I would break it down one more step which is that you can first determine who is going to actually act as the leader in so any type of decentralization ends up looking like a consensus protocol and in consensus protocols there may be you know thousands of nodes participating but at any given time there's some node that actually has the job of proposing the list of transactions this is called the leader in ethereum L1 we just rotate
randomly among the nodes participating and that's how we determine leader that may not be the best way to determine a leader because if you just select a random node to be the leader that that node may you know not be very powerful and that's why proposer Builder separation is so important on ethereum today because these weak nodes end up Outsourcing the job to much more sophisticated actors of actually proposing the list of transactions uh the idea here is to say let's not select a leader at random we have other mechanisms for achieving censorship resistance and neutrality which is the the main reason to select a leader random but let's actually um you know involve some kind of Market mechanism in determining who's going to be the leader
it could be an auction it could be a lottery we're actually running it as a lottery the ethereum foundation is exploring similar ideas with execution tickets so we may actually see the L1 transition in this direction as well sometime in the future and so this ensures that you keep the node requirements very low for like the 12,000 or more nodes that are participating and contributing to security the nodes that actually end up acting as leaders are more sophisticated actors that have acquired that right through some kind of auction mechanism they may still choose at the very last minute to re-auction that right to builders because the sophistication that's required to to to act as a leader and to act as a just in time Builder may be
different right but you know with that with that additional sort of color I I do agree though with your characterization Brendon I think it raises a really interesting point because so the Builder ecosystem uh like participating as a builder is permissionless right so so anyone can like join and start building and submitting blocks and if they're able to do so competitively then they can make money and I think like from conversations with others in the role of ecosystem there there's sort of like um maybe a discomfort with this because people look at at the Builder ecosystem and they say well like there there might be uh thousands of notes that are providing security for the L1 but there
are like fairly few Builders and so you know what what are we doing if if we end up with this like relatively centralized Builder ecosystem but it sort of misses the point because like we need a lot of nodes at the L1 for security like exactly as you said so so it's really important to have um like a very diverse set of nodes but if we have permissionless at the Builder level and Builders are B to give us like really really good ux especially I'm sure we'll we'll talk later about cross rollup transactions and atomicity and and these like really cool guarantees that we're able to get from Builders given as you said that we have censorship resistance like elsewhere in the protocol do you think that it's necessarily a problem if
we have like relatively few like I justess put another way do we need a thousand builders that are like actively participating at any one time or is it fine to have like still a diverse set of builders but like sort of a much smaller set than the total number of nodes that are providing consensus Security on L1 yeah though u i I think the the latter uh I tend to look at this problem by looking at what are we trying to solve for I don't see decentralization as the the end goal decentralization is a means to some other set of goals and um you know one of those is higher security making sure that once things are finalized they can't be un finalized or
um you know it would require the mass collusion of many many actors and uh a lot of economic value that would be lost to do so right so that's the security piece then there are other goals like avoiding uh you know censorship or um you know making things as in credibly neutral as possible and um you know anti- monopolization so trying to make sure that prices remain low and those can be achieved even if we have only a few Builders participating but they're sufficiently competitive with each other and if we have additional mechanisms for achieving you know censorship persistance so one thing that you might
consider is well there doesn't necessarily need to be one proposer you could have one randomly elected proposer that's in charge for just making sure that certain things get included and then other proposers that are actually in charge of you know how things get ordered I want to understand though and when you talk about the proposers and the Builders those are outside of the shared sequencer like itself right or are they a shared sequencer is a proposer oh it is a proposer okay is a proposer yeah so the role of sequencers today in rollups is to act as a proposer is to act as a temporary da system and it's to act as a temporary finality Gadget so when we move towards this world of um you know more decentralized open sequencing those
those roles get separated and the shared sequencer specifically a node that ends up proposing acting as a leader for multiple rollups at once okay and rollups can can sell this time slot right so a rollup could provide a default proposer that will that will act as the sequencer for that rollup or it can sell this right you know for future time slots using some open market mechanism and in that market mechanism is what espresso is building interesting this actually follows there's another question that I had going back to your like the leader creating the list of transactions I sort of wondered like the L2 rollup itself has a list of
transactions but then if you're shared sequencing you actually have these lists from different rollups right when you push them through when they go through the shared sequencer does it stay is it like you assign one proposer to do one rollups transactions or is there any sort of mixing so first of all we don't assign anything okay but but when many rollups participate in an open market mechanism for you know selling time slots to propose yeah then organically we predict that we will end up in a situation where there are a few proposers that are acting as simultaneously as proposers for multiple
M chains and the reason is that if you are the proposer for two chains at once two rollups at once you can create some Surplus value and that's going to make put you in a better position to win the right because you'll be able to pay more than other people will for that right um so something that we haven't touched on yet is actually so I've given examples of you know facilitating Atomic interaction so I think it it would be great to get into this conversation because we have Brendan here but agir so agair is a great example of this because it is something that enables you know fast message passing between uh roll s that are ZK enabled and yet there needs to be some coordinator that's
actually constructing the blocks for for the two rollups and proposing these blocks at the same time and coordinating the message passing and while that could be you know done asynchronously you know there's a lot of advantages to having some nodes to synchronously build the two blocks at the same time and pass these messages between them giving them the feel as being part of one chain at least for a time slot so the opportunity to play that role is is yet another reason to bid for the right to be the sequencer for for several rollups at once yeah I I think this is like a really interesting point and I I really like the way that you framed it where like if you're a single sequencer for a single rollup no matter like how sophisticated you are no matter how good you are at building blocks you will only
be able to capture a certain amount of value and it will necessarily be less than someone that's able to propose blocks across multiple rollups because for users there will always be Surplus value that's gained by the ability to do things across chains and to do arbs and like I mean even from a ux perspective like users will have a better experience if they're able to interact across multiple chains and so I I think like for me when I first heard the the Shar sequencing concept and didn't really get it it was difficult but it clicked when I sort of like grasped this that that like what you're fundamentally doing is like achieving Surplus value for users interesting that wasn't really like a question but I don't know is that is
that like the right way to look at it or no definitely yeah okay yeah yeah in that example Ben where you had the proposer actually like having two lists I'm assuming that they stay as like a concrete thing what I'm trying to figure out is like could you have individual transactions on different rollups being mixed together in that list like I Envision rollup list of transactions sequencer proposes that list to the main chain I don't actually know what that looks like so maybe I'm mixing it up because I think of it as like a list that's compressed and then written on chain but if you have two lists could you like mix those lists of things and then write them to chain yeah so think
about like two different applications on ethereum think about Unis Swap and I don't know think about a or something okay then like there's a list of transactions that are affecting the state of Unis swap there a list of transactions that are affecting the state of a if these were l2s which are just applications super applications that may host other applications MH they still have like independent lists and there's no advantage of like in or leaving those lists but on the other hand if what's happening is like a user does a deposit into Unis Swap and then takes something out of Unis Swap and then does some in action and you know gets a loan from a or something like that then there is something that's happening on a level Beyond just independently a and Unis
swop that have to do with what's happening you know on on the two of them together and then on the L1 as well so it's not that these like transactions for the different rollups are are being interleaved but what's actually happening on you know one and the other I I can make sure that something happens here and something happens here at the same time kind of yeah ah but and this like isn't really practical if if those two rollups don't share a builder for that time slot I guess to to go back into like the historical sharding literature part of what didn't work was like like if you have two shards or two distinct execution environments uh like you could create a system where like you're taking a lock like part of a state on one Shard and then you're like
you know submitting that in a decentralized way to the consensus set of another Shard and and it turns out that like my my understanding is that this is actually very very expensive because like locking that state it's risky because you're not able to accept transactions or or like confirm transactions for a certain period of time and I think that if you want to do synchronous composability like Ben do do you think that sh like in in my mind sharing a builder is really the only way to do that in a practical way is that like a fair characterization for synchronous composability yes definitely yeah I think you know even even from from from an asynchronous perspective just making interactions happen faster or making sure that things are Atomic which isn't quite synchronous
composability but just ensuring atomicity of actions across two different rollups having a shared not even shared Builder but like a shared proposer that can pass on those requirements and restrictions to whoever is involved in building the block is important I think it might be helpful and so with this question about the two lists it might be helpful to talk about like an example imagine that you had you know usdc deployed to both of these rollups okay and so usdc has something called cross-chain transfer protocol where if you burn usdc in a contract on you know one chain then you can mint usdc
natively on the other chain oh cool and so this is a great example of a bridge but so imagine if there's a uh you know the blocks on these two different rollups are being constructed at the same time yeah so if you were to also have something like agay which allows for um you know message passing between chains so that a chain on one side can verify that something happened on the other side as well then now you still have an dependent list of transactions for this chain one I'm calling TR chains and rollups using um synonymously because even though it's an imprecise ter that's what the industry uses so this chain one it has a list of transactions there's some you know usdc burn transactions along with other
things that are being done now there's this chain too that also has its own independent list of transactions including a usdc mint transaction but this usdc mint transaction is happening you know at the same time in the same time period as this usdc burn trans transaction and it's only valid because of the fact that this burn transaction happened on the other chain mhm right so it's it's receiving some evidence on the side that this it's aware that this burn transaction happened on on chain one these transaction lists are still independent right they don't need to be there's no advantage of mixing them together and and like you know compressing them together or anything like that but the fact that they're happening at the same time and that and that this chain to was sort of aware that something happened on chain one
namely that the usdc was burned and therefore this mint transaction is valid that's the point here and the shared you know proposer that we're calling shared sequencer is what is enabling all this to happen at the same time interesting we've now mentioned the AG layer a couple times maybe we should Define what that is Brandon maybe you can take the lead on that one yeah so I would call it a decentralized protocol that provides cryptographic guarantees of of safety for the type of cross-chain interaction that Ben's describing and it also allows chains to share to safely share a native Bridge so if you have two chains that share a proposer and they're doing a bunch of
stuff that's happening cross chain you can think about just like moving native L1 native assets or L2 native assets seamlessly between those chains instead of having to like mint a WRA synthetic and then swap back into the native representation of of that asset so yeah with the aglar would you call it like a settlement kind of cross chain thing like you're actually moving tokens no it so so the the problem which which Ben alluded to earlier is that if you want to do things cross chain and you want to Route those cross chain interactions through ethereum then you have to wait for ethereum to finalize and so that takes a long time it's like 12 to 19 minutes to to finalize BLX in ethereum and so part of the motivation with the
agir is like okay we're we're not going to wait for that it's just totally impractical From ux perspective so given that we want to do things across chains in a much much lower latency way like how do we do that safely and how do we guarantee that chains like can't settle to ethereum with inconsistent state or uh like chains can't rug each other on the native Bridge or like even an unsound improver on one chain can't drain the shared Bridge of funds that's sort of the motivation but as as Ben said it's like it's not a shared sequencer it's not a coordination layer coordination infrastructure protocol and so it can only work in conjunction with chains coordinating via shared
sequencers or yeah I mean I think shared sequencers are probably like the best candidate for making this this kind of vision work in in a very good ux way cool when I first heard about it I actually thought it was competition I thought it was like the polygon shared sequencer proposal but it's quite different it's like a different layer it sounds like yeah so so I think at like various iterations like it might have seemed more like a shared sequencer but it was sort of like liberating I think in like conversations with Ben and with Justin Drake to like understand where the concept for shared sequencing was and like to understand that we actually had zero interest in like building or like competing with shared sequencers
and in fact it was like much much better that polygon was not a shared sequencer and the realization that it could be like fully complimentary with kind of the vision for espresso and and for Sher sequencing in general was I I think a really powerful thing are some of the other networks like ZK sync or optimism like are they looking to build their own kind of shared sequencers because in a way they have now lots of rollups built on their stack that will need to kind of interact and they currently I guess all have these centralized sequencers do you know of any work there I mean I know Ben you'd probably recommend they use the espresso shared sequencer instead but are they sometimes thinking of building their own
that sort of like really just caters to their ecosystem or Federation as we've been referring to it yeah on the contrary and I actually don't view what espresso is doing as at all competitive with what ZK sync or optimism might be doing within their own ecosystems um and this sort of comes back to the understanding of espresso as a Marketplace so if you view espresso as a Marketplace then clusters may form where certain rollups always choose to be sequenced together right so the of a marketplace where everyone has their own you know sovereignty to sell their to sell their sequencing rights that may be on a level outside of rollup ecosystems
but rollup ecosystems like the optimism super chain may not necessarily have individual chains within the super chain selling independently their sequencing rights through a market mechanism like espresso but the super chain as a whole could participate of course could use it um and so and so there's value in in sort of imposing infrastructure on a marketplace where you're not allowing like every individual you know free-for-all like sell your because there's advantages to making sure that you having the confidence that you'll always be sequenced together right and and that's the way that I view uh things like the super chain or or hyper chains although to be honest I I really can't
tell you because I I don't I don't know specifically what the super chain is going to do or or hyper chains are going to do these are uh sort of more Concepts that are you know described at a high level right now but I I don't think there's a ton of concrete detail on them yet what I can say is that if the super chain were to be a collection of rollups that are all being sequenced together then it could still participate as a unit in a Marketplace mechanism like espressa interesting Ben uh can can I ask a spicier question yeah so um so so given what we were discussing earlier around sort of surplus value in shared sequencing and in particular I
think like Network effects that will grow among ecosystems that can interoperate and that can share proposers and can Share Builders do you think that there will be this Dynamic where if you're using a shared sequencer you will always be able to deliver more value to your users than if you were to not use a shared sequencer and so it might be the case that like you know fight it run from it like shared sequencing will come inevitably or will come all the same like do do you think that's like maybe in the end State like a fair characterization or is that too too spicy I don't think it's spicy um I I think in general you know it's it's hard
to argue with the idea of allowing yourself to participate in a marketplace right I think that the the vision of this is a Marketplace play sort of highlights this that okay the market will determine whether this is valuable or not if you are a rollup why wouldn't you integrate with a marketplace where you have the option to sell the rights to sequence for your rollups to third parties if they're able to clear whatever price you set and and this and this applies to you know even super chains as well like why wouldn't the super chain as a whole sell I mean my my understanding as well from Super chain is it's not necessarily a shared sequencer in the sense that there's one sequencer for the whole super chain and we can make this more General since like it's not specific to to optimism I think
it's a general Paradigm a lot of rollup ecosystems may want to have some form of a super chain as a meta concept and that doesn't necessarily look like having one sequencer it's it's actually a nice selling point to say to rollups within your ecosystem that they can have their own sequencers and that they can have their own sovereignty over block space over sequencing rights and they can participate individually in external mechanisms like espresso if they so choose this super chain may be something more about you know some kind of shared Bridge infrastructure or something else that facilitates greater Unity among chains within that ecosystem so anyway sorry that's not the most direct answer to your somewhat spicy question Brendan but I I think that the the to summarize
looking at this as an open market mechanism that chains can decide to participate in it very much highlights the fact that if it's valuable then it's inevitable right there's no downside to integrating an open market mechanism it only expands your opportunities cool well well especially I'm not sure if you've mentioned it explicitly but like there's an implied Reserve set for every like auction from from every uh rollup for its proposal rights which is like the value that right that rollup would gain from just you know yes sequencing transactions itself and so like like like literally it's very difficult to find a downside in that I really like talking about these different layers and
how they're interacting a layer these hyper chains but I know ethereum itself is doing something around sequencers and I think it's called this based sequencer concept can you explain what that is and how espresso would work with that yes so ethereum itself is not doing anything but but but is base sequencing is this idea that the ethereum L1 can function as a shared sequencer so maybe let me first describe the the or original version of Bas sequencing uh which was actually the original concept of rollups like in the in the original ideas that were described which was that there's no external sequencer you just use a Smart contract on the L1 to implement some
kind of inbox that collects transactions but doesn't execute them right and then periodically the nodes that are on the layer 2 whether it's optimistic or ZK we'll execute the transactions that are in the Inbox and we'll sort of post the result of what uh with the the state is and if it's a ZK rollup it will be a proof that is the original concept of a rollup there's no external sequencers external sequencers were introduced um for various advantages one being the ability to compress Data before it gets posted to the L1 another being you know soft finality confirmation so if you trust the external sequencer then it can give you a confirmation about what the state is before it's actually finalized on
ethereum and Justin Drake sort of resurfaced the idea of Base sequencing after people started talking about shared sequencing and was pointing out well the original concept of of rollups actually had ethereum as a shared sequencer implicitly so we could move back to that if there are advantages to Shared sequencing the problem is that people have gotten very you know accustomed to these advantages that external sequencers have the data compression you know faster finality so the the the idea of Base sequencing has sort of evolved D to look a little bit less like Bas sequencing was originally described where it's more about and and what I love about this is that it's
focusing on what is the core advantage of evolving ethereum well the core advantage of evolving ethereum is that the proposers that are building blocks for ethereum can also act as the proposers for layer 2 Chains right well that's possible without just giving away completely giving away the right to L1 proposers which has all kinds of downsides like leaking sequencing Revenue to the L1 and not capturing it at the at the L2 which most rollups I think are are sort of uncomfortable with and the realization is that well Market mechanisms like espresso actually capture this too because they allow rollups to sell sequencing rights to L1 proposers L1 proposers can participate
in this market mechanism if you're going to be the proposer and you find this out about 32 slots in advance on ethereum um if you're going to be the proposer for the next ethereum block you could also bid for the right to be the proposer for for multiple L2 chains at the same time now this becomes particularly advantageous from an economic perspective for rollups that choose to be synchronous with the L1 meaning that their blocks are sort of synchronized with the L1 and they're building off the very latest L1 State uh a lot of rups choose not to do that because it impacts their finality so some rollups delay any transaction that happens on ethereum like a bridge
transaction to the rollup for a long period of time to make sure that that transaction on ethereum is final before it's recognized in the rollup uh but rollups that choose to sort of just allow whatever happens on ethereum to immediately be recognized in the rollup they by selling the right to beat the sequencer to L1 proposers will now get sort of a greater synchronous interoperability with the L1 and that's the concept of Base sequencing it has some caveats but it has some you know clear economic advantages and so some rups may choose to do this if you are selling the right through this Marketplace does the proposer who's participating in that do they have to be
running something in the espresso format like is it just exactly what they're doing right now and they can just participate in this Marketplace or do they have to actually like be running something else to participate one proposers that decide to sequence for you know for layer twos through a mechanism like this will have to run additional software yeah in general that that's like a feature rather than a bug because even with the original concept of of Base sequencing if you just have some L1 proposer that is unknowingly sequencing L2 transactions because it's including it in its in its block but it doesn't it's not really aware of it and it's not doing anything to you know special to support it what will end up
happening is then those L1 proposers by virtue of not sort of being sophisticated to what's happening on the L2 will need to Outsource you know sort of the the job of actually figuring out what transactions should be proposed on the L2 to some kind of Builder market and so you kind of push the problem there uh otherwise you will sort of miss out on a lot of the you know advantages of you know more sophisticated what more sophisticated proposers can do for RO LTS somehow I still don't fully get what the based sequencer is though based sequencing just means that the proposer for ethereum is also acting as the proposer for the rollup at the same time
okay okay that's that part so I see yeah so so like rather than uh some like proposer that's participating in the espresso Marketplace you're just including the L1 proposer which is known ahead of time um on ethereum as sort of the proposer that can bid on L2 proposer rates would that be implemented into the L1 in some way or isn't that more like the flash Bots team would build this no neither actually okay vanilla based sequencing is just you can use the L1 proposer on ethereum today and you give away the right to sequence to the L1 proposer by just implementing some inbox in the smart contract that's running on ethereum right that's vanill based
sequencing or what I like to call original rollup design right and the idea that that I'm describing here get back a lot of the advantages that we've gotten you know from moving away from original rollup design while still involving the L1 proposer or a L1 proposer that is sophisticated and choosing to participate by allowing the L1 proposer to bid for the right to sequence for rollups so this would be an L1 proposer that is also running additional software yeah okay just like MAV Boost's additional software right so it's also running additional software and just like proposers choose to participate in in Mev boost auctions they can choose to participate in a
rollup sequencer auctions and they will be in a position to create even more Surplus value because of the fact that they are the sequencer for ethereum right they're the proposer for ethereum so now they can do shared sequencing between ethereum and L2 roll all right so in this case the based sequencer it's a concept it's like an action it's not like a product it's a concept and it's a okay it's a label that could be bestowed upon rollups that make certain choices when deciding how to uh you know integrate with a market mechanism like espresso I see I see cool I have one more question about the list of transactions this is sort of throwing
back to earlier in the in the episode itself but I realized as we were speaking that where we kind of left it with the shared sequencer is like it's a Marketplace and you're the proposer but I've always had this idea of the sequencer as really the thing that makes the list not that's proposing the list in the shared sequencer model is the proposer creating that list as well or is it relying on some other agent that's actually putting together the list and then bidding to propose it proposers are making a list whether they choose to Outsource that job to builders or not is sort of their own prerogative but
proposers are making a list and unless something goes horribly wrong that list will be finalized I'm talking about the list of transactions on the L2 I am too oh you are too okay so the the reason why we're using these terms proposer right is to highlight the fact that what a sequencer does is really the job of a proposer within a consensus protocol okay so we're unifying sort of the terminology that's used on ethereum L1 with the terminology that's been introduced by the ethereum L2 and so when we look at decentralized sequencing or or more open market mechanisms for sort of giving sequencing rights then we highlight the separation between what is finalizing the list of transactions on
the L2 which is some form of shared uh finality and ethereum provides that shared finality ultimately from the act of actually proposing what is the list of transactions to be executed on the L2 that's a job that that sequencers play today but that could be opened up through a market mechanism to involve other proposers yes I see the entire flow though because you talk about the proposers is kind of on both sides like on the L1 and the L2 is it almost like proposer on the rollup Builder on the rollup shared sequencer proposer Builder okay yeah I mean I regret that maybe I use the term posers and sequencers are the same thing I sort of regret the the fact that I introduced this additional term I think what's causing the
confusion is that so like when I started out I was saying that basically the the if the centralized sequencer for rollup it's playing several different roles it's proposing the list of transactions it's also finalizing the list of transactions based on trust in that yes in that centralized sequencer so it's providing this soft finality yes right and is also acting as a DA system and so the reason why I introduce these separate terms finality Gadget proposer uh da separately is that when we look at opening up this centralized role then now these are these three different actions that sequencers do today can be separated so espresso as a Marketplace is sort of auctioning off the right to
be the proposer but then there's also some form of shared finality that once some shared proposer proposes two list of transactions for two different chains then all the other nodes that are participating in the sort of espresso uh finality Gadget which is uh you know which is sort of a decentralized consensus protocol and it's uh you know being run through ethereum that can provide some shared finality rups could choose not to use that shared finality of course and just wait for ethereum finality um or introduce their own mechanisms whatever may be the case I just wanted to separate out this action of actually proposing list of transactions which is where the shared sequence is really coming in versus the
act of uh like finalizing and agreeing on what was proposed that's really helpful thank you so much for for letting me ask that last one and we should have asked it earlier unfortunately yeah I feel like I've been obsessed with this like list of transactions and who does what to this list of transactions but yeah I think that really helps to clarify it so that wraps up our episode thank you so much ben for coming on the show and sharing with us the work that espresso has been doing on shared sequencing what exactly a shared sequencer is this has been so helpful thanks thank you it was really fun being here and thanks Brendan for co-hosting yeah of course thanks all right I want
to say thank you to the podcast team Rachel Henrik yonas and Tanya and to our listeners thanks for listening