Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Is The Future of Ethereum Centralised and Censored?

Episode Date: February 1, 2026

In this episode, host Friederike Ernst is joined by Thomas Thiery, a researcher at the Ethereum Foundation, to discuss EIP-7805 and the implementation of FOCIL (Fork-Choice Enforced Inclusion Lists). ...Thomas explains how the rise of MEV (Maximal Extractable Value) has created a centralized builder market where a few actors now control over 85% of Ethereum's block production, creating a dangerous bottleneck for censorship. FOCIL addresses this by empowering a decentralized committee of 16 validators to mandate transaction inclusion, making any block that ignores these lists invalid. They explore the "Tornado Cash" moment and the risks of "silent censorship" for competitive or regulatory reasons. Thomas explains why FOCIL intentionally prioritizes the public mempool over MEV-heavy transactions to prevent the system from being co-opted. Finally, the conversation looks at the future of the Ethereum roadmap, including the Osaka fork and the technical trade-offs between inclusion lists and long-term privacy solutions like encrypted mempools. Topics00:00 Intro & FOCIL04:15 MEV & Centralization09:30 The Builder-Searcher Pipeline15:00 Silent Censorship Risks21:45 FOCIL Architecture & Committees27:10 Validity Rules for Attestors35:20 Spam Protection & Invalid TXs42:15 FOCIL vs. Encrypted Mempools49:00 EIP-7805 Status & Fork Timelines55:30 Future: PQC & ZK EVMLinksThomas Thiery on X: https://x.com/soispoke Ethereum Foundation: https://ethereum.foundation/ EIP-7805 (FOCIL): https://eips.ethereum.org/EIPS/eip-7805 Gnosis: https://gnosis.io/Sponsors: Gnosis: Gnosis has been building core decentralized infrastructure for the Ethereum ecosystem since 2015. With the launch of Gnosis Pay last year, we introduced the world's first Decentralized Payment Network. Start leveraging its power today at http://gnosis.io

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Epicenter, the show which talks about the technologies, projects and people driving decentralization in the blockchain revolution. I'm Frederica Anz, and today I'm speaking with Toma Tieri, who is a researcher at the Ethereum Foundation. I think being very careful that Ethereum preserves the permissionlessness and censorship resistance properties that it has is very important to me. Every slot, you select 16 validators randomly, and these validators are just, just have to look at the public mempool, basically, and make lists of transactions. The attesters will basically see the inclusion list, they take the union of all transactions in it, and then they check whether the builder block includes these transactions or not. And if it doesn't, based on what they saw,
Starting point is 00:00:40 just don't vote for the block. And the blog never makes it on train, basically. So it's sort of a valid condition for the block. There was also a very meaningful intent in the design of fossil not to involve MIV. The whole fossil design was like, okay, if we want this to be forced censorship resistance, we have to prevent it from being crowded out by MEP transactions.
Starting point is 00:01:08 I'm Frederica Ernst, and today I'm speaking with Toma Tieri, who is a researcher at the Ethereum Foundation, and one of the authors of EIP 7805, which is folk choice-enforced inclusionists, abbreviated to Fossil. Fossil makes censorship stop working by letting validators flag transactions that must be included, so blocks that leave them out simply don't get included into the chain. Toma, it's so good to have you on. Hello, thanks for having me. Nice to bring you. Cool.
Starting point is 00:01:39 Maybe we'll dive right in. So if you had to summarize Fossil in one sentence for people who are familiar with the Ethereum Coal Protocol, how would you characterize it? Yeah, very briefly, I think Fossil helps to drastically improve inclusion guarantees for public transactions by letting multiple validators that are like selected randomly basically to force include lists into Ethereum blocks so each validator is selecting randomly and they are going to make lists of transactions and these transactions basically have to go in the block otherwise the block is not made canonical so it just like won't be voted on by attestals and and so by
Starting point is 00:02:33 using this sort of like mechanism, you ensure that transactions that are like basically pending in the MAMPOO are included, which is very good for improving transaction inclusion guarantees, I guess, and just reduce vectors of censorship. This episode is brought you by NOSUS, building the open internet one block at a time. NOSIS was founded in 2015, and it's grown from one of Ethereum's earliest projects into a powerful ecosystem for open user-owned finance. NOSIS is also the team behind products that had become core to my business and that are so many others like SAFE and CowSwap. At the center is NOSIS chain. It's a low fee layer one with zero downtime in seven years and is secured by over 300,000 validators.
Starting point is 00:03:19 It's the foundation for real-world financial applications like NOSIS pay and circles. All this is governed by NOSISDAO, a community-run organization where anyone with a GNO token can vote on updates, fund new projects, and even run a validator from home. So if you're building in Web 3, or you're just curious about what financial freedom can look like, start exploring at nosis.io. What made you passionate about this topic in particular? And how big a problem do you think censorship is today on Ethereum? So what made me passionate about it is, I feel like that's one of the core, very sort of like central properties of what blockchains are made for. Before MEV basically came into the scene, we like validators were all doing everything.
Starting point is 00:04:09 Like they were building blocks, proposing blocks, attesting like all the sort of like duties a validator is supposed to do. Then there was MEV and basically there was a big centralization force caused by MEV. And so we were basically worried that validators that were decentralized would sort of like centralized because of that force. The solution to this was PBS, so proposer-builder's operations. You have like, you separate sort of like the validating validator role from the builder role.
Starting point is 00:04:40 And that was good for so many reasons, but like one of the reasons that was not anticipated maybe enough is that like builders were actually very centralized. I feel like we lost a bit of this property because now you have very dominant builders building most of the blocks on Ethereum, There are like no checks and balances to make sure these builders don't censor. They can basically censor 3D without like any checks and balances, which is sort of like not exactly what blockchains are for.
Starting point is 00:05:10 Yeah, I think sort of like being very careful that Ethereum preserves the permissionlessness, censorship resistance properties that it has is very important to me. Let's talk about centralizing force through MEV first. So kind of MEV at a high level is just the cost. context a transaction is placed in on the Ethereum block. So kind of not only kind of the ordering of existing transactions, but you could also kind of create new transactions and insert them before, after this transaction and so on.
Starting point is 00:05:45 This is often quite valuable. So this extractable value, it dwarves the transactions themselves. Years ago, kind of it was estimated to be around 1% of the transaction. volume of a block. Building these opportunities for MEV or kind of building an efficient way of extracting the MEV that is there is technically sophisticated. Can you talk about the people who search for MEV do to extract this value? There are many size of this and you actually have different actors. So you have the searchers and those entities are just like very sophisticated because they need to find these opportunities
Starting point is 00:06:27 and those can be arbitrages, sandwiches, arbitrages between the unchain price and the centralization price, for example. And so you need to have like algorithms that are like searching for these opportunities and trying to get to them first and sort of like price them accordingly so they can win the right to actually take advantage
Starting point is 00:06:51 of that opportunity. And the space is quite competitive. You have many searchers that are like all fighting for the same opportunities. So you have to be very fast. You have to adjust your risk and everything. So it is quite sophisticated. There is the builder role, which is, so these searchers will basically construct what we call bundles. So it's like transactions that are like all bundled together in sort of like an atomic unit that you can't like sort of like unpack. And they would send those bundles to builders.
Starting point is 00:07:22 And what the builders basically do is like you take all the mundals plus like transactions coming from other sources like the public mainpool and everything and you construct like a full block. And so that's also where the barrier blurs sometimes because you have builders that are also searchers. And builders have to also be sort of like sophisticated technically because they need to build blocks very fast. They also need to compete in an auction. We can talk about that later. There's a whole dynamic that around like private order flow or like exclusive order flow, which means. sometimes you have deals between builders and searchers, so you have searchers that only send their bundles,
Starting point is 00:07:59 like valuable bundles, to a certain set of builders, and that creates economic barriers to entries. You know, it's also bdy, basically. Like, it's not only, like, algorithms and, like, technical infrastructure that is sophisticated. It's also, like, having access to the right people that send you the valuable data that you can then leverage
Starting point is 00:08:18 to actually win more blocks and everything. So it's a whole sort of, like, ecosystem. Okay, so we talked about the builder and the searcher, and often they are the same people, right? So kind of, and these are the people who kind of build the blocks. What then happens? Because they are not the validators. How are these blocks or these constructed blocks committed on chain? Right. So yeah, if you start from the beginning, you have transactions that are, let's say, submitted by users.
Starting point is 00:08:49 And then they can either be submitted, via the public mempool and then everyone sees them and searchers can oftentimes like take advantage of these transactions when they are in the public mempool because everything is in the wild and they can you know place a transaction before after and construct this sort of like valuable bundles and once the searchers have done that they send the bundles to the builder the difference between the searcher and a builder is like the builder actually construct full blocks so it takes like all these bundles and all the transactions and construct like full blocks and then Then there's an actual auction that is run by the proposer or like the validator.
Starting point is 00:09:28 So a proposer is just a validator in the Ethereum network that has been selected to propose a block to the rest of the network at a particular slot. And so that auction is mediated via a relay. And so every slot basically you have builders that build full blocks and that bid to compete in that auction. And all the proposer has to do is to watch the blocks and their associated beads and choose the block with the maximum bid. And then it will take that block and it will propose it to the rest of the network.
Starting point is 00:10:04 So all the sort of like sophisticated builder, searcher or sort of like ecosystem is done by those entities and the proposer can stay completely unsophisticated because all they have to do is like just watch the beads, watch the blocks that are already built, take them and propose. and to the rest of the network. And maybe like a last thing that is worth mentioning is like the sort of auction is now mediated by a relay. So the option between the proposer and a builder has to go through a relay to make sure, you know,
Starting point is 00:10:37 the builder doesn't send his blog and then the proposer takes it, but like doesn't pay him for it. So it's just like a very sort of like fair exchange problem. So you trust a relay between the proposer and the builder and the relay is supposed to mediate the relationship. That will actually change very, very soon with EPVS, so in the next Ethereum hard fork, that sort of like trusted relay doesn't
Starting point is 00:10:58 need to be used. It can basically be replaced by a commit and revealed scheme that allow the proposer and the builder to communicate trustlessly. Okay, so kind of in the status quo, the relayer is there to basically allow the proposer to just select a price, basically. What it does from kind of it takes the builder's blocks and abstracts away all the details that would allow the proposer to kind of siphon off the MEV itself and kind of steal that from the builder. It just reveals the different price points that the proposer could get and then the proposer can take whichever one he wants but realistically will always take the most expensive one, right? Yes, yeah, exactly.
Starting point is 00:11:46 Talk me through where exactly this MED. extraction happens in this scheme? Well, it can happen at many levels, but generally happens mostly at the searchal level. So the ones that are actually constructing the valuable bundles are usually the ones that are like extracting some MEV. But then, you know, like they usually bid against each other to get their bundles included in a builder's block. So they might give a bit of that value to the builder for them to accept.
Starting point is 00:12:18 their bundles. The builder bids its value away to the proposer because they all again like they compete by having these bids and associated with their blocks but it's quite competitive so they have to outbid each other so most of the value is actually given to the proposer. Yeah that's sort of like the chain of events that you have multiple auctions happening but in the end the sort of like actor that has the most power in a way is the proposer because it's his role to propose the blog to the rest of the network. So yeah, there is quite a lot of value that goes to the proposer. There are, like, you know, some apps that are like capturing the value before it even gets leaked.
Starting point is 00:13:01 So it can be captured at like many levels. We also have, you know, order for auctions that are like redistributed some of the value that are captured from users to the users before like going to searchers or builders. So it can happen in many different ways and that value is sort of like redistributed to the proposer or to the builder or to the users. But it's evolving quite fast and I think we are like trending towards a world in which hopefully quite a lot of value
Starting point is 00:13:34 is actually redirected to the users because their transactions are actually the ones creating the MEP in the first place. So it would be nice to get it back to them. If you kind of look at MEP that extractable, that usually comes from the public mempool. So kind of if you connect to a regular RPC endpoint and kind of send your transactions there, kind of your transactions float around in public for a bit.
Starting point is 00:14:00 Kind of there are actually quite a lot of transactions that never see the light of the public mempool. I think it's between 30 and 40% of transactions and in excess of 50% of block value that never actually see the public mempool. So these transactions go directly to the builders. It comes from kind of like,
Starting point is 00:14:25 I mean, sure, kind of like the MEV searches that we just talked about, because kind of they also insert transactions, obviously. I mean, obviously they don't go to the to the mempool first. But also structural private order flow from applications with intent-based execution
Starting point is 00:14:41 like how swap wallets and RPC providers that protect you from being sandwich, so MEP blocker, flashbots, protect and so on. And then there's also kind of like white glove services that directly relay transactions from larger traders and institutions. These kind of remain private until the moment they're included in the block. With all the downsides that's sending a transaction to the public mempool there are, why are 70 to 60% of transactions still send that way? Because you could just connect to M.AV blocker or flashbots protect RPC endpoint, right?
Starting point is 00:15:28 Yes. I mean, the big downside of connecting to a private auction, for example, compared to the public mempool, it is the trusted part of it. You need to actually send it to someone that guarantees that your transaction is. going to be it's going to stay private and it's not going to be sandwich and everything but you still have to trust that the party whereas the public mempool is actually seen and watched by every node for me so it's like gossiped publicly and every node will actually look at the public mempool and so transactions can be included via the public mempool in a very trustless way so that's the
Starting point is 00:16:07 sort of like big difference i think it's like trusted versus untrusted but then Right now, if you want to do it in a trustless way, yes, if your transaction carries a M-EV, it will be seen by everyone. And that means they can take advantage of some, you know, sleepage you have in it or stuff like this. Maybe let's go to kind of how lucrative it is again. So kind of if you look at the builder role, in principle, it's a lot of power, but kind of it gets squeezed from both ends, right? So kind of it gets squeezed from the proposer and it gets squeezed from the, from the, from the searcher. And do you have any idea of how much money builders make today?
Starting point is 00:16:48 So I don't think it's public information, but I can tell you they do get squeezed. It's a bit weird. Like very dominant builders like can make a bit of money because they do have like very exclusive flow. So sometimes they have they can build blocks that are way more valuable than the competition because they have access to like a particular opportunity that will only get shared with them. So they can just bid a bit higher than their competitors, but they know they have this sort of leeway, and they can actually keep that for then status.
Starting point is 00:17:22 So that happens. But even with the main end builders, like the competition is actually quite fierce. I don't think like the builder is in like a super great position because as you say, like it, if you just build like it is very non-profitable. Like I would say if you have some exclusive order flow, then it becomes more profitable.
Starting point is 00:17:40 And if you do some searching yourself, which basically is exclusive order flow because it comes from you, then it can be actually profitable. But like it really depends, like, who you are. And right now I would say one of the big problems is like it's very hard for new builders to come in because they have to get access to order flow
Starting point is 00:17:57 or like search themselves, but then it becomes actually very, very sophisticated and hard. And it's kind of a chicken and egg problem because if you come in, you don't have access to order flow so you don't have a lot of builder market share. and if you don't have, you know, if you don't propose a block in a significant portion of the blocks that actually get to the network, then people will not send you their flow because they are like, well, it doesn't, it is not worth. So it's very hard to sort of like spin up new builders and the barriers of, barriers of entry are very high.
Starting point is 00:18:30 I mean, you probably also need a trusted relationship because if I'm a searcher and kind of like you're a new builder, kind of like what assurances do I have that you're actually trying to build a block and you're not just passing on the opportunities that I found to another builder, right? Exactly. Yeah, so that comes with like, it's very trusted. It's like that comes with reputation, basically, that you haven't done this in the past and like other people trust you. But like when you come in and you're new, like no one really knows, right?
Starting point is 00:19:00 So yeah. So give us an idea of how concentrated block building is in practice. Yeah, it's pretty concentrated. I would say, okay, so now you have a third one, but like it's, for a while it was mostly two, very dominant builders that you had like two builders that would be built more than 80% of the blocks of the network. Now you have Quasar that came in that is now, I think, around 10 to 15% of the network. So you have three that make up for like 85, 80, 85% of the network. It's worth saying you have like initiatives, for example, builder. that is like trying to go towards decentralizing block building, but it's hard and it's sort of like
Starting point is 00:19:44 it's the project in a way. And so, you know, they are having different nodes controlled by different people, but they share some infrastructure and everything. So it's not, we're not like there yet in terms of like decentralized block building. It's worse actually saying that there are like a lot of efforts to go towards this. But like right now it's we say, yeah, basically. basically three builders that are like building more than 80, 85% of the both. What about relayers? How centralizes that ecosystem? And is it fair to see them as just kind of like a pretty mechanical gate or do they have agency?
Starting point is 00:20:22 That's a good question. I think they were thought of as a very mechanical gate. But then, I mean, the incentives question actually popped up as well because like you're still like at the end of the day like running infrastructure and like providing service. So it's like if you make absolutely zero revenues, then it's a bit hard for people to expect that there will be many relays just like doing this electristically, I guess. So some of them do run like some kind of auctions of their own to sort of like extract some value just to fund themselves. I don't think it's very profitable, but like they have this sort of like auction mechanics as well. And they are quite centralized. I think I don't have the numbers in mind exactly for relays right now, but yeah, most of them go through, I would say, three, two, three relays.
Starting point is 00:21:12 Most of the, they are the most performant. They are the ones like that everyone knows. The thing maybe to note though is like not, they can censor as well because they can like not propagate a given block, for example. But they don't get really the right to pick and choose and exclude. given like some transactions over others. It's more at the block level. They can just like choose not to send the blog, but they can't really like manipulate the transactions themselves because the blocks are supposed to be built by the builders.
Starting point is 00:21:45 So maybe let's move into kind of this entire censorship topic. I think kind of like we understand kind of like how in principle blocks kind of become formed and end up on chain. So in this PBS pipeline, so builders, relays, proposes, who actually has the power to censor transactions? Yeah, all of them. All of them in very different ways in a way. So I think it's important to basically say that
Starting point is 00:22:12 when a block or a transaction goes through multiple steps, which is sort of like always the case, like basically at every step it can be censored, right? Because like the sort of like entity processing it can just be like, well, I'm not going to include this transaction or this block. Right now, yeah, builders. have quite a lot of power because they are the ones choosing transactions. So they can basically build blocks that are like profitable and everything without like
Starting point is 00:22:39 including some very specific transactions. Proposers can always do anything they want. Like, because proposers are, you know, in charge of, they can, first they can build their own blocks if they want to. They are just, they just choose to delegate to sophisticated builders because they get more MEV out of it, but they could and sometimes do build. their own blocks. And they can always, you know, choose not to propose a block at all and miss their stats, in which case the block just like won't make it on chain. And again, the relay can
Starting point is 00:23:11 choose to forward the block or not from the builder to the proposer. It can be like, no, this one, I'm not going to do it. So yeah, you do have like quite a few points of censorship along the way. The best way to think about is like every, everyone that processes your transaction will probably have a say on whether it makes it through or not. If we look at censorship in practice, where do transactions actually get cut out? So kind of I understand that in principle, kind of like it's possible at each of these gate points. But what happens in practice?
Starting point is 00:23:46 So it's worth mentioning like censorship right now on Ethereum is quite low. Like there is not much censorship like going on right now. It was a bit there was a bit more in the past. look like now is pretty much it's quite yet it's not a huge concern but when censorship like when people are censoring they do it at like all the levels I mentioned it is worth saying that right now proposers have always acted as this sort of like fallback to include transactions that were not included by for example dominant builders and so you know you had transactions at some point, for example, like Tornado Cash transactions that were sort of like censored from some
Starting point is 00:24:32 very dominant builders. So like they wouldn't make it on chain or they had to basically wait a way longer time than other transactions until they made it on chain. And you had these proposals that were locally building their blocks with all the transactions that were basically censored. So they could actually eventually make it on chain. So and it's still the case today. Like some proposals altruistically still build their blocks so that all transactions that are like pending in the main pool and waiting to be included are actually included. So and you know, I think something worth mentioning is like, and that actually matters a lot, is like the set of proposals is much more distributed and decentralized than the few builders
Starting point is 00:25:21 and the few relays. So at the end you have like much more preference. that are expressed through the set of proposals than you have through the set of builders in a way, which makes a very big difference for transaction inclusion and censorship resistance. If we kind of think back to the tornado cash moment that you kind of just talked about,
Starting point is 00:25:41 what actually happened was that FlashB Boost started not including transactions that touched upon these addresses. Remind me why kind of the censorship then happened at the builder level? Was it because there were just so much fewer entities there that kind of getting one of them would be kind of the way that law enforcement would go?
Starting point is 00:26:09 I think it's a good question for them. I don't think, at this, I'm not aware of like any actual laws or regulations passing at the time that prompted them to start it. So I think it was like an anticipation of maybe getting into some trouble if they did something. I don't know if I have no idea exactly the reasons why they actually started
Starting point is 00:26:30 this, but what was true is that they, I think a lot of the other like dominant builders followed and sort of like saw this and basically had the same thoughts, I guess. And so what was very important there is like since there was
Starting point is 00:26:46 very, very few builders and relays like you just need like the two dominant builders to start censoring transactions for those transactions to be censored for a very long time until they are included by like another entity. So and that's basically what, you know, fossil will talk about it is all about. But it's like if like two builders are like dominating the block production and are making 90% of the blocks, those two builders can have a huge impact on on some transactions for any reason.
Starting point is 00:27:15 Turned out it was it was totally occasion and all fact. But like it can be a lot of different reasons that we can also maybe get into because it's interesting. And then you have a huge impact on the network. And suddenly the sort of censorship resistance properties of Ethereum are like eroded quite a lot. Just because a few actors decided to, you know, exclude some transactions, basically. Do you have a sense of how many transactions are delayed by multiple blocks because of these policies? And I would be super interested to kind of hear what exactly kind of they are censored for. So you said that tornado is no longer a big driving force, but what else are we censoring for these days?
Starting point is 00:27:59 No, so I think that's basically it. That's like the one use case. I think like some people are like still censoring OFAC or tornado cash transactions, for example. It's just like there is way less as well because like people are not using tornado cash a lot these days. So it's like relatively off of the OFAC list. So kind of... Yeah, yes, but you know, there was a big hit
Starting point is 00:28:27 in sort of like tornado cache usage after the sanctions and everything and it never really recovered. So the amount of transactions that are actually going through because tornadoesch, for example, is still like very low. So there are like very few transactions that actually get censored
Starting point is 00:28:44 just because like few transactions that are like submitted and that would be censored in the first place. Okay, so there's, there's not a lot of things that actually currently get censored, but in principle they could. Okay. Exactly. Yeah.
Starting point is 00:28:56 And just maybe worth mentioning that, again, like, that was one use case, but I feel like it's sometimes forgotten about that you can censor like very easily for very different reasons. For example, just like pure competition. If you have a competitor that does exactly the same thing as you or like the same service, for example, and you know you can just like literally. get a deal with like two builders and you slow down their ux by 10x it's very tempting like it's like a counterparty risk basically and and that's and it's very real and there and like i think people are quite aligned right now like we haven't really seen a lot of it and but it's i think it's a bit naive to expect this won't ever happen so yeah so i think kind of the social norms not enough.
Starting point is 00:29:47 No, I mean, I mean, the whole thesis of blockchain is like we shouldn't rely on social norms to enforce these things. So yeah. Cool. Then tell us how fossil works and how it addresses this concern. Yeah. So basically, again, you have the builders on one side that are very centralized, like, centralized and quite sophisticated.
Starting point is 00:30:07 And then you have the proposers that are like part of the validator set that is much more decentralized. And so the ID is like every slot, you select 16 validators randomly. And these validators are just, just have to look at the public mempool basically and make lists of transactions. So up to a certain limit. So there are like small lists of transactions, basically, from the public mempool. And they do that like, it's hard coded in the client. So they just like include transactions in their list.
Starting point is 00:30:39 And any transactions that they see or kind of what, what, okay. I mean, you have. like some heuristics like you usually maybe want to like take the transactions that pay the most priority fees or that have been pending in the mainpool for the longest just like rough heuristic but like there's no actual preference of like i like these transactions or not basically and so they build these lists each of the 16 lists are like sent around so everyone can can see them and then the proposer and the builder have to build their blocks after having seen these lists and they need to include all the transactions that were contained across all these lists.
Starting point is 00:31:16 So basically they take the union of transactions across all the inclusion lists. And they have to include these transactions in their blocks if they want it to be valid. So that constraints the builders basically on the transactions it needs to include in its block. Otherwise, when attestell's vote for it, they see that they are not compliant to the sort of like transactions that were in inclusion list. and they just don't vote for it. So that means you have multiple basically proposals contributing to what needs to be included in a block, and you have this for every slot.
Starting point is 00:31:57 And in a way, it's like leveraging the sort of like decentralized validator set to impose constraints on the much more centralized builder set. It's just like a way to enforce some constraints to make sure they comply and they actually include the transactions that are like pending in the main pool, just based on protocol rules and not arbitrary preferences or compliance reasons. How are the validators who are on this inclusion list committee chosen? Is it the same way that kind of we choose the attestation committee?
Starting point is 00:32:34 Yeah, it's random. It's random. So kind of in principle, then transactions could still be censored if these six, 16 people or entities kind of colluded and decided to kind of leave off one transaction for sure. Because it's kind of like it's only censored if it's in none of the lists, right? Because kind of you're looking at the union. Exactly. So if all like are colluding, then yes, then it will be censored.
Starting point is 00:33:01 You have two kind of cool things. So first, you know, to consistently censor a given transaction, you have to do it over multiple slots. And every slot you have like a new random committee that's selected of 16. So like the chances like all of them collude all the time like to keep your transaction out are like very low. Unless like, you know, the whole attester set is colludes. And then you don't, I mean, they can have like 51% attacks. They can do a lot of like different things that are much more, much easier to just like sort of like try to to try to keep a transaction out. And then yeah, the one kind of cool thing is exactly related to what you said.
Starting point is 00:33:42 is like if only one of the 16 proposers decides to include in transaction, that transaction needs to be included. So you have a sort of like one out of end, we call it like minority assumption, which is quite strong because it's a pretty good guarantee. Okay, you just need one honest list producer and you're good, right? Exactly. So now I'm a builder and for some reason I kind of, I don't include one of the transactions that was on the inclusion list.
Starting point is 00:34:09 What, what happens? So kind of I sell that block to a proposal. and the proposer proposes the block and then? And then the attestors, so, you know, you have a block proposal and then attestors need to vote for that block in order for it to make it part of the canonical chain. And the attestals will basically, they will have seen the inclusion list. So they will have done the exact same thing.
Starting point is 00:34:31 They see the inclusion list. They take the union of all transactions in it. And then they check whether the builder block includes these transactions or not. And if it doesn't, based on what they saw. so based on their local view of what they saw, just don't vote for the block. And the blog never makes it on chain, basically. So it's sort of a valid condition for the block.
Starting point is 00:34:52 At thesters are like, yeah, I saw the inclusion list myself and I saw there was like transactions in there that actually didn't make it in the block you propose, so I'm not going to vote for it. Okay. So we already said that kind of as an inclusion list producer, I have no particular obligation to kind of choose any particular transaction. But what happens if I'm offline or lazy?
Starting point is 00:35:19 Do I get penalized for not producing an inclusionist? No. So offline, yes, you just like don't propose an inclusion list, but there's not much consequences. There will just be 15 inclusion lists enforced for that slot, and that's totally fine. And you don't get penalized. And then lazy can't really happen.
Starting point is 00:35:37 in all of this is basically hard-coded in the client, right? So it's not like we are asking validators to choose every time what transactions they want. Like you run a valetor like automatically it's basically going to do this and choose transactions from the mainpool
Starting point is 00:35:55 and build these lists and send them to the network. So there is no active sort of like tasks that they need to do. In practice, you just run a node and sometimes you get selected to do to perform this additional. duty. Okay. So kind of these are the inclusionists say they only include visible transactions so kind of transactions that come from the MAMPOOL but we just talked about the
Starting point is 00:36:20 fact that kind of a large percentage of the order flow is actually private. What influence does that that have one on censorship? Yeah so very very clearly for Seoul does not really like cover the MIV transactions use cases and an is missing like a lot of transactions because like a lot of transactions do contain MV but there is a bit of an incompatibility here because if you include your transaction in in an include like via an inclusion list that means it came from the public mainpool and you know imagine even even if you are like an includeer for example and you want to include your private transaction in an inclusion list you can do that but that will also need to become public
Starting point is 00:37:02 after the fact when you send your inclusion list it also has like all the transactions so they become public, public anyways. And MEV and public doesn't really go super well together. Like it's, if you are extracting MV by definition, you basically don't want people to be able to see it and modify it before the block is sort of like
Starting point is 00:37:23 finalized and sort of and set in stone. There are like ways to to sort of like build on top of fossil to accommodate for MEP transactions. And we can maybe get into encrypted memples later because it's one of the very obvious option. But for now,
Starting point is 00:37:41 a fossil is made for public transactions. So not for transactions, you want to keep private for MEV reasons, basically. So the mempool is a pretty ephemeral thing, right? So kind of there's no objective mempool because kind of like it relies on gossip. What prevents me from being an evil inclusion list, a producer,
Starting point is 00:38:03 and just inventing a transaction that no one else has seen, because I made it up. And then no block can be produced because obviously no one can include that transaction. So imagine you include the transaction in your inclusion list. That transaction will be revealed when you send your inclusion list around, right? And so then there are like two scenarios, basically. Either your transaction is valid, but then you have to pay for it.
Starting point is 00:38:30 So it has a cost, basically. You could, you know, fill your inclusion list with transactions that are only yours, If they are valid, you have to basically pay for it. Or you can just like submit an inclusion list with like invalid transactions, but then everyone will see that they are invalid. And so they won't penalize the builder for having proposed, for not having included them, basically. So you see the list of transactions,
Starting point is 00:38:56 but like as an attestor, you actually execute them and you see they are not valid or like they couldn't be validly appended to the blog, basically. And then when you see the builder's block, that doesn't include these transactions, because he also saw that it wasn't valid. You completely accept his block and you don't penalize him for it because transactions were not valid. Okay.
Starting point is 00:39:14 The transaction, it's not just a transaction idea. It's kind of the entire transaction that would be sufficient to kind of include it. Even if you don't see the transaction itself on the MAM pool, you can still include it. Okay, perfect. Exactly. Yeah, the inclusion list contains the full transactions. Okay. Are there any any of these strategies?
Starting point is 00:39:36 that are affected by forced inclusion? I mean, you could think of, like, use cases, for example, for liquidations. If someone, for example, doesn't want a liquidation to happen and wants to censor, like, a particular transaction that will liquidate someone, like, you could, like, submit that to the public mempool. And by doing that, if it's included with force, you have, like, a, you can do, like, force people's hands in a way. So that, that actually works quite well.
Starting point is 00:40:03 but other than this, just like, again, like, I think most AMIV strategies are like are centered around like not leaking any sort of like valuable data, which would be the case through FOSOLs. So, so no, I don't think it affects. There was also a very meaningful intent in the design of FOSOL not to involve MIV because if it involves MED transactions and you don't have like a, encrypted transactions, then all the inclusion list will be filled with MEP transactions, right? Like it's you can like recreate a MFbooth market basically where inclusionists become collusion vehicles to build very valuable stuff that will need to be included in the block. So the whole fossil design was like, okay, if we want this to be for censorship resistance, we have to prevent it from
Starting point is 00:41:00 being crowded out by MIV transactions, basically. And so we want to design it especially so it's ill-suited to include transactions that are extracting M-EV. Otherwise, it's just going to get co-opted just like the block was. And you're going to have like the builders that are going to be building extremely valuable inclusion list, and you are back to square one. So it was very intentional not to make it suitable for M-EV. One other direction that kind of we've talked about in the community for censorship resistance is MAMPOOL encryption. You already talked about it in Partsing earlier. Kind of MAMPU encryption just means that kind of before I send my transaction to a public MAMPUL, I encrypted and it's only decrypted once it's committed.
Starting point is 00:41:48 What does that solve that fossil does not? And vice versa, what does fossil solve that the encrypted mempool doesn't? not. So I think they are very complementary, like they just address very different things. The sort of like constraining builders using the decentralized proposer set to force include transactions is just like done very well by fossil, whether like you have encrypted transactions or not. The fact that you, it's more like I think encrypted mempools give you a protection against MEV basically. Because it's important to reiterate that encrypted memples mean you encrypt your transaction until it's, but then it's later decrypted, right?
Starting point is 00:42:30 And then, so it's not like privacy over like a long duration. It's really like sort of like temporary privacy. And so it's really useful to sort of like make sure a transaction, for example, go through fossil without revealing any sort of like crucial information. And that now means that basically sensitive transactions like MV transactions can be encrypted, go through fossil, be force included in the block. And then later you reveal their contents, which will actually protect you against MIV. And that's sort of like, is one of the very crucial steps to make MIV transactions,
Starting point is 00:43:08 to give like better inclusion guarantees or better the censorship resistance for MV transactions. So why doesn't encryption alone guarantee censorship resistance? Because someone could just say, look, I have no idea what this says, I'm not going to include it? Or one? Yeah. Okay. I mean, yeah. You could have builders that are like, yeah, I'm not including encrypted transactions at all.
Starting point is 00:43:31 And they could completely do so if you don't have something like forso. There is nothing that forces them to include any transactions and including all the encrypted ones. So yeah, I can see that happening. Okay. I recently did a podcast with Peter Van Bakenberg from Coin Center. And he very interestingly argued that networks must be actually blind, not just willfully blind to resist censorship mandates and remain credibly neutral. Do you agree?
Starting point is 00:44:04 Yes, I actually agree. I think if you never see any transactions content and you participate in a network, which means and you have validators and the whole network is like basically functional, then you have the best censorship resistance properties you could imagine. maybe one caveat is like it's even if you don't have like good censorship basis and properties you can't know right like so it's a bit like you you don't really have access onto anything so if you try to it then you know yes exactly but like no one not in the public mempool sense like no one can tell outside of you same like if you mint an infinite amount of tokens and like in theory like no one can actually
Starting point is 00:44:49 know but yeah no if you have total privacy, you have like extremely good censorship resistance properties, which is also important to note, like, because now we are talking about like permanent privacy, like, networks like, I don't know, like Z-cash or like that gives you actual privacy in a sort of like long-term sense of the, yeah, long-term. If you have like temporary privacy with encrypted memples, then you have like more censorship resistance, but less than you will have with like longer term privacy and if you have like full transparency you have less. So it's like a sort of like spectrum, right?
Starting point is 00:45:25 I do I do think there is like a very sort of like strong relationship between privacy and social resistance. I think the bottlenecks, if your next question where it's going to be like, why don't we have like better like privacy solutions, either like encrypted memples or or longer term privacy on Ethereum for example, it's just because it's, technically very difficult to implement and you need to make extremely complicated trade-offs even just for encrypted memples i feel like the you have to make design decisions that are like slowing things down or like that are not not always completely trustless or that ask more from user also like you need to
Starting point is 00:46:09 make trade-offs everywhere and yeah if we really want you to go full on privacy for everything you need to like re-architect some parts of the protocol quite deeply. And it is being like considered. People, for example, at DEF, like are working on this quite a lot. But I would say it's more focused on like what use cases do we want to enable privacy for rather than allowing everything to be private because, yeah, maybe another point is like, For example, Zicash only allows transfers. If you don't want to make everything that's possible in Ethereum private,
Starting point is 00:46:51 it's much more complicated because it's programmable and you can actually do a bunch of stuff other than just like transferring value. So it would be quite hard. Like Aztec is a bit of example of a network that tried this. But yeah. The current version of Aztec does actually make everything private. So kind of like it used to be that kind of there were only certain transactions that were private, but kind of in the, I forget what the current versions
Starting point is 00:47:19 hold, but kind of like it's actually fully private. Obviously kind of like it's no longer, it's not an EVM chain now, but I mean, it also was an EVM chain before. But yeah, so in principle, it's possible. Oh, no, no, for sure. No, so I was saying Aztec in the current version. I was just saying, if you want Ethereum to become like Aztec, then you need a complete rearchitecture of the protocol.
Starting point is 00:47:42 like it's it looks like a very different sort of like a protocol it's kind of it's also fine to kind of have private parts of the chain and non-private parts right as long as you kind of like if you want privacy you can go to the private parts as it obviously kind of this is okay um so tell us about the i mean we talked about foster the erp for a long time now so it kind of you you propose it probably like two years ago or so. What's the current status of the EIP? When are we going to see this live? Yeah.
Starting point is 00:48:23 So I proposed it for Glamsterdam, which is going to be the very next fork. But the scope has already been finalized and Fossol was not included in Glamsterdam. And then the reasons were really around four scope. Like basically we couldn't fit fossil in with what was already sort of like included in the fork, including EPBS, which is a very cool but like very big feature. So it's hard to pack it all in. And now we have a whole new process with headliner.
Starting point is 00:48:56 So we need to pick, you know, big sort of like EAPs. We are willing to delay the fork for each fork. And so you can't have like that many big EAPs included. It's not as big as the PBS at all, but it's still like an EIP that touches both layers and everything, so it needs a bit of space. And so what happened is like we couldn't include it in Glamsterdam and the decision was to automatically sort of like consider it for inclusion in the next fork after that. So, he gota. Now, I think next week, the headliner proposal period closes. then there's going to be a month of governance to decide what is going to be the headliner
Starting point is 00:49:42 and then after this we'll know if if also is selected as the headliner or not so of course I like reproosed it and it was already sort of like cified or like considered for inclusion for herewitha automatically but it's it's very hard to tell before governance actually happens but there are no open technical questions for inclusion right No, it's been a while now and there are no technical limitations, which is a very good sign. There are like tradeoffs and limitations that we already mentioned. For example, it doesn't cover MIVU transactions, but there are no incompatibilities or like we made sure it's actually very compatible with existing, you know, the existing protocol, but also the forks after. So it's, yeah, it's been worked on quite a lot.
Starting point is 00:50:35 If Faso were to be included tomorrow, is there a failure mode that would keep you up at night? That's a good question. Yeah, I don't know. It's also fine as an answer. Yeah, yeah, I don't think so. I don't think there is a failure mode that we just need to implement it very carefully, like every sort of fork because it touches fork choice. It's like another sort of thing.
Starting point is 00:51:02 All attesters have to do each block. So we need to be extremely careful about that part, but nothing like we haven't done before. And then not really because I do see fossil as like the first. It's a big step in terms of primitive, like a set of parties, sort of like constraining others. Like it hasn't really been done before in the protocol. So that's like, but but that's why we kept it very, very minimal as well.
Starting point is 00:51:29 We can try to add so many things on top of fossil. You can have like block futures. you can have encrypted mempools, you can have a lot of different things. You can have what I call ZK Fossil to sort of like break the link between who does, who proposes the inclusion list and the content of the inclusion list. You can actually do super cool things. But the version we want to shoot now is the primitive and it's very simple. And so I think I don't see like a big failure case right now at least.
Starting point is 00:52:00 Okay, then maybe let me kind of make the question somewhere. what milder. What's the strongest argument against Fossil that you've heard from someone we respect? I think that it doesn't do enough. Like it doesn't include MU transactions and doesn't include blob transactions. That's just a good argument because it's true. And so we are working very hard on having blob transactions. So sensory resistance for blobs. I don't think it should be part of Foss's just because it needs other things. Like, for example, you need to determine the availability of a blob because now we have PRDAS and so it's not the case for regular transactions it's you need like extra stuff so you can't really like put it all in fossil but
Starting point is 00:52:45 that is a very good argument because we actually need it very much and we are working on it and if as I said is a bit more tricky like you need encrypted mempours and I'm I'm let's sure we have enough confidence on the design for it to be enshrined on Ethereum right now but it's also like quite an active sort of like research topic. Yeah, I feel like the, no, the actual pushback I've heard the most. Aside from like it doesn't do enough is we don't need it right now because censorship is quite low right now. So that's been an actual pushback from people I respect as well.
Starting point is 00:53:23 There I'm like pretty strongly opinionated that we shouldn't wait for it to be bad to include something. I'm having a hard time sort of like seeing the argument. Like, yes, maybe, you know, maybe we'll be fine for years to come, like, but maybe not. And so I feel like for me, the fact that the risk exists and that it's, you know, if there is like a massive censorship event on Ethereum and we are not prepared for it, I do think like a lot of like the sort of like properties that Ethereum has and people care about are like around security, resilience, robustness up to. time, so sort of like all these things. So I don't want to expose the protocol to something that
Starting point is 00:54:08 will actually erode these values and sort of like properties that everyone deeply cares about. So I hear the argument. Like I agree there is not much censorship, but it's it's hard for me to sort of like think the same, I guess. So if this gets included in Hegota, what's next for you? What will you be concentrating on? Will it be improving on fossil or doing something altogether, no? Yeah. So on the fossil part, I am a researcher.
Starting point is 00:54:44 So I feel like I've pushed already quite far by, you know, like with the help of Ji-Hun, by the way, like coming up with like dev nets and implementations and sort of like preparing everything. So it will actually be very ready for being included in the forefront. But of course I'll still like monitor and sort of like make things make sure like everything is going fine if it's included right Just because from when it's included to when it actually ships on mainnet there is a lot of activity and There's are like trying to ship it and you need to be there to to support them But no generally there is a Quite a big effort at the F right now to support things around security more generally
Starting point is 00:55:29 So there is a quite a lot of work on transition to post-quantum, for example, network resilience, P2P networking resilience, hardening client code, preparing the transition to ZKVM in a safe way because it's early and it's new tech, so we need to sort of like make sure it's okay. Handling, stay good. If you want to scale, we also need to also make sure like that's okay for the network and we can handle it and not have nodes have to start. or like too much data all the time. Then there is like extensions of fossil.
Starting point is 00:56:05 I talked about like blobs is a very obvious one. And then you have like ZK fossil or like making it more accessible. Like everyone can become an included now. You know, you don't need to become a validate to be a validator, for example. You do have quite a lot of things going when it comes to making sure the network is more secure. Both on sort of like the very sort of like technical way, you know, engineering way in a way, like just like making the things more robust. But also in terms of, yeah, what are the failure, like the points of failure?
Starting point is 00:56:38 What are like the sort of like parts of the network that are like very concentrated and like one given actor could actually have like sort of like outside influence on on what happens in the network? And and you don't just have builders. Like you have like different cases. For example, RPCs is a quite obvious one. It's quite concentrated and centralized as well. So I think there is a big effort in the coming year to work on this and fix it and dedicate more resources as a as an orb to fixing this. Cool. Thank you so much for coming on, Toma. Thank you. Thanks for having me.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.