Right of Audience: a case for FOCIL | Sina Mahmoodi (Berlin Ethereum Day, June 2026)
Berlin Ethereum Meetup·Wed, Sep 9, 2026, 12:00 AM
Ethereum was built to be neutral. Yet, at its peak, 79% of Ethereum blocks were committed to censoring valid transactions after Tornado Cash was added to the OFAC list. Today, a handful of builders and relays still carry the vast majority of inclusion decisions, while 900,000 validators have no real say over the blocks they sign. This talk makes the case that censorship resistance has to be a property of the protocol, not a market outcome. Sina Mahmoodi (Ethereum Foundation) walked through FOCIL (EIP-7805): how a randomly selected committee of validators per slot can force-include transactions, why a 1-of-N honesty assumption is enough, and how the fork-choice rule enforces it. Every valid transaction has a right of audience, because every validator has a voice. The Berlin Ethereum Day was a one-day event held on June 15, 2026 during the Berlin Blockchain Week. The full-day program brought together speakers from the Ethereum Foundation and the broader FOSS, privacy, and security ecosystems to explore the future of Ethereum and self-sovereign technologies - from technical direction and core values to the challenges and opportunities ahead. Future Meetups and Events: https://www.meetup.com/berlin-ethereum-meetup/ More information on the speakers and the agenda: https://berlinethereumday.com/
Transcript
Yeah, there you go. So, there's no presentation without technical issues and clicker works perfect, right? Um, so yeah, as I said, uh just going to share about this EIP that I care about and why it matters to me. And I'm going to start with a little uh personal story. I was uh 14 in a little town in uh southeast Iran.
Uh when my friend and I we got together and made this website, it was nothing serious. Uh it was just our little of uh the internet, little corner of the internet. Um and one day when things were going particularly good and we were getting a lot of uh impressions so we were you know kind of excited we were checking the analytics website all the time to see uh the number of visitors that we were getting um and uh suddenly we open the website and we see uh this page right here and for those of you who don't speak Farsy uh it says basically dear visitor uh The access to this website has been restricted. Our website was censored by the government. They were kind enough to leave a little email there for complaints.
Uh but we could never restore access to to the website. So it was as a like teenager it was kind of devastating for us. Um, internet censorship in Iran has a long history. It started in 2003 when the first batch of filters went live and this was 15,000 websites. Um, and the reasoning by the government was basically we are censoring immoral content.
It is for safety reasons. It's to protect children. Well, yeah, that was how it started. Um, by 2008, uh, during the green movement, roughly 50%, so that's half of all Farsy speaking websites were censored. Um, in 2018, Telegram, which is the main communication channel for Iranians, got blocked.
Later on uh 2022 during the Masamini protests, WhatsApp and Instagram fell. So the scope for censorship only grew. Um why am I telling you this? Don't I wasn't using uh why why am I telling you this? Because I if and if I and if there's something that I'd like you to take away from this talk is that basically once the mechanism for censorship is in place then the scope of it never shrinks.
It doesn't go away. It only ever expands. And this is this has been my personal experience living under this system. And I think it applies universally. It's not limited to Iran.
So what attracted me to Ethereum in the first place was that it was a global phenomena. It was um beyond borders. It was beyond oppression. It was truly free. And I think among others there's a principle that makes it that kind of place.
And the principle is that every valid transaction has a right of audience. It has a right to be considered. It has a right to be heard by the network. And now I'm going to tell you about a time when that principle almost broke. At its peak, 79% of Ethereum blocks were committed to censoring transactions.
This is in uh November 2022 after the OFAC designation of tornado cache. That's four out of five blocks. And it wasn't theoretical. It wasn't somewhere else. It was here.
It was happening. Luckily, since then, the situation has improved a lot and it stands right now at roughly 26%. But the fact that it can spike so quickly tells me that there is a structural issue that we need to fix. To get to the bottom of this issue, I need to tell you about the builder ecosystem. Maybe a quick show of hands.
Who here knows uh how the builder ecosystem in Ethereum works? All right, we got a few people here. Um just to tell you a bit about it like how blocks are constructed on Ethereum um is that there are a few a handful of specialized entities called builders and relays that order transactions. They make sure that valuable transactions are included and they route the transactions through the network. This is their job.
They are needed and they are good at their job. What is not part of their job though or at least they didn't think it was was to do sanction screening. They were not set up to do this kind of thing. They were not money transmitters. They are not holding accounts for users but overnight they were scrambling to figure out what is of what they have to do to basically screen these transactions.
It was not their choice. It was uh imposed on them. It landed on them. Now let's take a sh look at the shape of the Ethereum network. So on the right side you have uh the builders and you can see that the top three builders uh construct 90% of Ethereum blocks today.
And on the left side you have the validator set that's 900,000 keys. It is a globally distributed network. It is independent. It is truly diverse. I would say it is the most diverse uh validator set in any major network.
The issue is that the blocks are built by the right side and the left side what they can do is only sign off on it. So when um when turning the cash happened basically uh the validators they had no choice. So they were getting the blocks from the builders and they were just signing off on it and it was accepted and essentially they had two options. One was to accept the blocks or self build and leave money on the table which is I would argue not much of a choice. And the ratio that we see here I believe is the root cause of the issue and this is what we have to tackle.
um the internal policy of a handful of entities should not be imposed on the whole of the network. So again going back to the principle um every transaction should have a right of audience and how we're going to tackle it is by giving voice to every validator and the way we're going to do this is by a mechanism called fossil. Now I'm grateful to the researchers who worked on this, came up with the idea um so that I can come here and yap about it. Um but when it comes to fossil I want to I want you to take away three concepts. Um that's how it uses three mechanisms to to tackle the issue that I mentioned.
The first is the committee. So every slots uh committee of 16 individual val validators will be selected randomly and you can see that every slot is going to be different. So over a long span of time everyone will be selected everyone will have a voice. Then each of these committee members at the start of the block they will look at their view of the public mele and they will pick the transactions that they think should be included. Then they're going to essentially broadcast this set of transactions individually each of them.
When it's the turn of the proposer to propose the next block, they will have to consider the what's called the inclusion lists that were proposed by these committee members. So the uh so each each proposer will have 16 inclusion lists coming in from the network and they're going to have to make their best effort to include the transactions that were encoded in them. And each inclusion list has a limit of roughly 8 kilobytes. When you consider that a transaction is on average a few hundred bytes, let's say 200, 500, that gives you let's say 20, 30, 40 transactions each. And um the the fact that the proposals have to include the the these uh transactions is enforced by the fork choice.
So if the attesters see that a transaction is being skipped for no good reason and I underline this then they will not vote for that block. But there are good reasons why a transaction might not go into a block. One of them is that the transaction might not be valid by the time that uh the proposer is building it or ba based on essentially the location in the block that they they pick for it. The other is that the block might have been already full. Uh so the transaction might not fit in there.
So apart from these uh valid reasons the builder or relay cannot opt out. And the the third concept is one is enough. So out of this committee of 16 or over the long term out of the whole set of validators only one is enough to consider a transaction for it to have a right of audience. So the network's neutrality comes from its diversity. it you we don't force every validator to be a certain way or to act a certain way.
We give them the choice and because they are globally diverse and distributed and independent, they will make choices based on their views um that kind of balance each other out. One aspect of this is that I feel like is under discussed is so when the validator will make or build the inclusion list. What strategy can they choose? Essentially they have to look at the public mele and they will have to somehow pick transactions that fit this 80 8 kilobyte cap and there there are two strategies that are mentioned in in the EIP and the most obvious one is let's just say let's pick the highest paying transactions that exists in the in a mele, right? This is what builders do.
I think that it makes less sense in this context because that the fee remember does not go to the committee members. Uh committee members are totally altruistic. They do not receive any fees. So when they are proposing the inclusion list, the fee of those transactions goes to the builder and to the proposer. The other point is that the builders are going to likely anyway include a transaction that pay the highest fee.
So the strategy will be duplicates. The other strategy that one could take is say let me just take a look at the mele and see which are the transactions that have not been included for the longest time. So essentially take the oldest pending transactions and I think there's some this is uh this is interesting because well there there there are transactions that are obviously being ignored by the network and um the the committee members can act as the backdrop to to capture them and and bring them to the network with one caveat. Um because some of these transactions that are are old, it might be because they're not willing to pay any fees. Um and they they might be that they are just low value spam transactions and we don't want to fill our blocks with that.
Right? So um this is a small caveat although I think it's not necessarily bad to include low fee transactions because in the end there are there are things that are maybe not economically valuable but are they that still matter to people. there might be some things that I want to do that don't have a huge uh economic value for me but I still care about them and I and if I don't care about when they are included then fossil can be a good mechanism to kind of capture that transaction and bring it into the network but I think generally it might make sense to introduce this like minimum uh fee it would be a way to weed out the spam transactions and still be able to cap capture the transactions that have been left out uh and kind of ignored by the network. And I think that's exactly the the the type that that we would want. But one important note is that remember we want to empower the validators.
want to give them voice and amplify their voice and they should have a say into what goes into the blocks right and what doesn't go into the block um we should enable them to express their view and opinion into this uh so I think it's it's uh it's important um to give them also the option to let's say exclude some things if they don't want it um so Again, we don't want to force it on them to say we want to include everything. But because it's so globally diverse, then we get that neutrality from this diverse set of opinions. We don't take take their choice away. We give them the choice. And in the end, um it shouldn't be the case that every client and every validator chooses the same strategy.
We will win again if we have diversity here. If uh every valid if every client offers multiple options of strategies and validators actually go with those different set of strategies then we can cover the most uh widespread set of use cases. So what's the status? Um uh fossil is EIP7805. You can read the details.
I would also like to shout out to meetfossil.e.limo. Um it is currently scheduled for inclusion in Hagota. So that's the hard fork after glamadam and it's going to happen sometime in 20ou uh next year 2027 timeline TVD.
Um so again remember builders will still be there to do their job. They will still order blocks. They will still optimize and make sure the blocks are efficient. they will still earn their fees. But then we use Fossil as a mechanism to give every validator a chance a turn at determining what goes into the block and give them essentially this voice and yeah just have to figure out exactly uh how in the clients we can implement these kind of strategies for the validators.
That was my last slide. Thank you.
Automatic transcript — names and jargon may be misspelled.