# Rocket Pool Censoring Relay Status and Developments *Written by haurog, improved with suggestion by austonst (March 2023)* ## Background Since the merge, the burden of block proposals falls on the shoulder of validators. They make a decision how much they want to interfere with block production. In other words, a node operator chooses what kind of block production methods are ethical in their view. MEV relays generally give a higher reward than local block production. Almost 90% of blocks are relayed through an MEV relay, and choosing a relay influences what kind of transactions end up on chain and how they are ordered. Some relays censor certain transactions, whereas other relays allow any transactions in blocks they produce. The focus is mostly on OFAC compliant transactions, which, to the best of my knowledge, only concerns Tornado Cash transactions. In the last few days (end of February beginning of March 2023) there have only been about a dozens tornado cash transactions per day which had been delayed more than 3 blocks. [Ultrasound money mentions](https://twitter.com/ultrasoundmoney/status/1631191902484672514) about 1200 OFAC transactions per week and a third of them being censored (subject to delay). Censorship therefore affects a small portion of all transactions on the Ethereum main chain only. Shortly after the merge, Flashbots was the biggest relay, many of the newer non OFAC compliant relays had to prove themselves first in production. Flashbots also promised the highest rewards at the beginning. This is why at the beginning if MEV Boost was enabled it was mainly Flashbots which was used. Now, there is a multitude of different relays for a user to choose from. It also needs to be mentioned that, to the best of my knowledge there is no clear law that node operators have to censor certain transaction in any of the large jurisdictions. Nevertheless, some node operators want to be on the save side and choose an OFAC compliant relay. ## Looking at proposed blocks from censoring relays (MEVWatch) The easiest way to look at censoring on the blockchain is by analyzing from which relays blocks have been proposed. If a block comes from an OFAC compliant relayer, count this block as censoring block, regardless of any actual censored transaction in the mempool. This approach is used by [MEV Watch](https://www.mevwatch.info/) and [rated.network](https://www.rated.network/?network=mainnet&view=pool&timeWindow=1d&page=1). The advantage of this approach is that it is simple to implement and also to interpret, although it can be misinterpreted pretty easily as well. The disadvantage is that a block proposed from a censored relay does not mean that any censoring has actually taken place, which exaggerates the problem. Additionally, this approach neglects the problem that a censoring block can be relayed through non-censoring relays, meaning that anyone subscribing to MEV relays could contribute to transaction censoring on the base layer, even through non OFAC compliant relays. However, this approach can be used to roughly estimate how different pools interact with the core protocol. ![](https://i.imgur.com/J9Ag3Wf.png =500x) *MEV watch set to a 1 day time frame. Shows Rocket Pool in somewhere in the middle as about half of the proposed blocks from Rocket Pool nodes are from censoring relays.* The screenshot above from MEV watch shows Rocket Pool to be in the middle with about half the block proposals coming from censoring relays. It is worth noting that all staking pools larger than rocket pool, with the exception of Binance, have fewer block proposals from censoring relays. The lowest number for large pools is achieved by Bitcoin Suisse, with only 10% block proposals from censoring relays. This figure above is often brought up in discussions about rocket pool being surprisingly censor friendly. It cannot be argued that the percentage of published blocks from censoring relays is the same as the percentage of blocks have censored transactions. Actual transactions which could be censored are just few and far between, so for most blocks, it does not matter if they are taken from a OFAC compliant relayer or not. However, it can be argued that the relative percentage of blocks from censoring relays and actual censoring between different pools (e.g. Lido versus Binance vs Rocket Pool) will probably be roughly consistent. In other words, pools which propose more blocks from censoring relays could potentially censor more. ## Looking at delayed transaction inclusion: actual censoring (Valitraitors) The drawback of the MEV watch approach has led other groups to analyze transaction inclusion delays directly. This is a more involved analysis and by nature more difficult to interpret. [Valitraitors](https://valitraitors.info/) is one such an approach. They look at transactions with more than three blocks of inclusion delays, check for base fee, tips, and some other reasons why a transaction might not have been included, and then attribute an inclusion delay to all the validators which did not include that transaction. They also consider the subjectivity of the mempool by querying several nodes and only consider transactions to be censored three blocks (36 seconds) after they first appear. This should be enough time for a transaction to propagate through the network. A more detailed explanation of the methodology is on [their github repository.](https://github.com/ethereum-censorship-monitor/ethereum-censorship-monitor) The key parameter they look at is the number of weighted misses. The higher that number, the more a pool has been found to participate in on-chain inclusion delays for certain transaction (i.e. censoring). ![](https://i.imgur.com/tiz9WID.png =500x) *Valitraitors screenshot. Shows Rocket Pool to be the second best, but pretty close to Staked.us and Lido.* In the screenshot above, Rocket Pool has the second lowest number of weighted misses but is pretty much on par with Lido and staked.us, somewhere in the middle between the more extreme cases. Some outliers are Kraken which here appear to be responsible for more missed inclusions than Binance, and also Bitcoin Suisse which in this figure belongs to the worst offenders. A possible explanation for this could be the inherent noisiness of the mempool and the small number of actual censored transactions which enhance the noise, especially for smaller pools with only a dozen or so misses. The Valitraitors screenshot does not agree too well with the figure from MEV Watch from before. A large part of this discrepancy is the different time scale. Valitraitors looks at a time horizon of several days, the exact number is not given, whereas the MEV Watch screenshot was done for a 1-day time frame. If the MEV Watch data is switched to a 30 days time frame (see below), it agrees better with the Valitraitors figure above, at least for Rocket Pool, Lido, and Coinbase. ![](https://i.imgur.com/kAKY1ye.png =250x) *MEV watch set to a 30 day time frame to agree better with the Valitraitors screenshot above.* In conclusion, Valitraitors uses a much better metric to compare different pool operators, but is limited by the low number of censored transactions in the pool, which enhances the noise for small pools. Perhaps [ultrasound.money](https://discord.com/channels/405159462932971535/704196071881965589/1060212845884751902) will release its censoring monitor soon, so we get additional data points from them. ## Other staking pools and their measures There are more and less decentralized staking pools. In general, the more centralized ones are at the extremes in the statistics, with close to 100% censoring or 0% censoring. The more decentralized pools have many different actors, which lead to a wide range of outcomes in choices of MEV relayers. For example, Lido never was the most extreme censoring pool (top was around 80% or so), the same with Rocket Pool, even though they consistently had lower number of blocks from censoring relayers until recently when Lido [added more non censoring relayers](https://twitter.com/IsdrsP/status/1624072920652816385?s=20&t=3CV98uOk_42h75epRI8VrA), and the Lido stats on MEV watch improved massively. ![](https://i.imgur.com/409U9wb.png =600x) *Changes in percentage of blocks from censoring relayers by pool. Rocket Pool is ahead of other large pools on the 30 day time frame, but gets left behind on the 1 day time frame as other pools took various measures to reduce proposing blocks from censoring relayers.* In the last few weeks many large staking pools started to also use other relayers, which can be seen when switching the MEV watch time frame from 1 day to 30 days. Therefore, I expect the numbers weighted misses numbers in the Valitraitors analysis to come down in the coming weeks for Lido and other pools as well. This will probably make rocket pool lose its position of being the second to lowest in Valitraitors. Rocket Pools numbers will also come down, but probably not as fast as the ones from large pools as there was no strong push to include and activate non censoring relays. ## Current state and Possible Improvements By all measures, Rocket Pool does not show itself to be the most censoring nor the most non-censoring pool. This is not surprising, as there is no top-down control over individual choices, and therefore Rocket Pool will never be at the extreme edges of the censoring vs non-censoring space. Nevertheless, Rocket Pool needs to decide if they want to appear like one of the most Ethereum-aligned pools, or if the current state is sufficient. It would be nice if Ethereum itself would have the means to be censorship resistant, but at the moment it does not (cue PBS), so it falls to the Layer 0 to decide and take action if they want to change it. Possible goal and measures: **Current state is sufficient:** This allows the user a lot of freedom, but leads to a lot of negative press and easy attack vectors which apparently show that the Rocket Pool community is just another profit driven entity which hides behind lofty goals (my own exaggeration). This will probably lead to a lot of unnecessary discussions with outside actors and results in fewer people being interested in using Rocket Pool, especially if other the pools fare much better in some of these rankings. In the long run if we assume that people mostly activate all MEV relays, the Rocket Pool stats will improve as the non-censoring relays should at least theoretically be slightly more competitive than OFAC compliant ones. **Improve our stats:** If we want to have the goal of improving, we could have a positive effect not only for the Ethereum protocol, but would also show Rocket Pool to take these challenges seriously. We could approach this from various sides: 1. Include more non censoring relays: Neither [Agnostic Relay](https://agnostic-relay.net/) nor [Aestus Relay](https://aestus.live/) are currently in the list of relays nor are they considered in the 1.9 release. 2. Better documentation: Improve the documentation and make it more clear what subscribing to a censoring relay means for the network. This might lead to fewer new users to choose censoring relays. 3. Clearer wording (warning?) in the TUI: This might be the most effective place to make users aware about the censorship on the main chain. At the moment the smartnode calls non-censoring relays 'unregulated' and censoring ones as 'regulated'. The word 'unregulated' sounds negative to me. A better name ('open' vs 'censoring') for these two types or relays might improve the perception on what is happening. We could also make it clear in the short description that 'regulated' means censoring. These two measures will help to convince people to stay with the non-censoring relays: ![](https://i.imgur.com/vOsk2DF.png) 4. When enabling MEV in the wizard, we could enable the non-censoring relays by default. A user could still set it to their preference in the configuration, but only in a submenu. We could even allow the user to enable/disable on a per-relay basis in this submenu. This will reduce censoring for new node operators and also will enable users to better fine tune the smartnode settigns to their liking. 5. All of the points above would improve our stats for new node operators. But what about the existing ones? We could create more awareness in our community by discussing pros and cons of relayer induced censoring on Ethereum. 6. A stronger measure could be to incentivize node operators to switch to non censoring relays. We could for example send out a POAP to non censoring nodes at a pre-specified time. Or even do it every 6 months as long as the node is not subscribed to OFAC compliant relays. 7. [Rocketscan](https://rocketscan.io/nodes) could indicate non-censoring nodes by giving them a slightly different colour. Nodes not subscribed to censoring relays could be shown with an orange background because everyone knows orange means higher status. 8. A more extreme measure could be to increase the RPL rewards ever so slightly for non-censoring node operators. I am pretty sure even a minimal change in RPL APY would have a massive effect. I guess this would be possible in the future as node operators will have to be checked for proper MEV relays anyway at least for nodes in the smoothing pool. ## Conclusion Censoring on the Ethereum main chain is a reality. It is not a chain breaking issue, but something which regularly comes up in discussions. Rocket Pool is neither a paragon of virtue nor the worst offender in this censoring metric. However, the high number of Rocket Pool node operators relaying blocks from OFAC compliant relayers leads to [repeated discussions](https://www.reddit.com/r/rocketpool/comments/11fatp8/censorship_offenders_leaderboard_looks_terrible/) about freedom of choice, profit oriented actors, and what virtues the Rocket Pool community actually stands for. These discussions are both tiring and do not show the Rocket Pool community in their best light (my own opinion). In the coming weeks/months I expect other large staking pools to overtake Rocket Pool in these metrics. This leads to the question: should we, as a community, try and reduce censoring on the base protocol through Rocket Pool? I listed 8 different measures with which we could reduce censoring on the base chain through Rocket Pool nodes and create more awareness about the issue. Some of them could be easily implemented while the more extreme measures would definitely need a majority of the community to agree to be implemented and even then would take months. ## Links https://eth.neutralitywatch.com https://valitraitors.info/ https://github.com/ethereum-censorship-monitor/ethereum-censorship-monitor https://www.ethereum-censorship-monitor.org/d/SYQJOuKVk/misses?orgId=1&from=now-24h&to=now https://www.mevwatch.info/ https://www.rated.network/?network=mainnet&view=pool&timeWindow=1d&page=1 https://www.reddit.com/r/rocketpool/comments/11fatp8/censorship_offenders_leaderboard_looks_terrible/ ## Discussion on Rocket Pool Discord: https://discord.com/channels/405159462932971535/857072928155762718/1082283337135165550 Summary: https://discord.com/channels/405159462932971535/857072928155762718/1082355488706015292 ``` So to summarise: - Measure 1: Adding more relays is generally good. I think to remember someone from the team mentioning they have to make sure a relay prevents MEV theft so there is some assessment which needs to be done by the team. - Measure 2: How about improving documentation? Is there a consensus here to try to do it or not? - Measure 3: Trying to find new words for regulated vs unregulated is a bit harder, but most people are open to change it if we would find a good one. - Measure 4: Setting defaults for MEV relays is off the table for most here. - Measure 5: is something we are doing at the moment, I think, so that is good. - Measure 6: the POAP had lukewarm reception. - Measure 7: is for @peteris to decide and most here dont have a strong opinion on it, right? - Measure 8: we have not even started discussing this one, but is definitely not something even I would want to steel man. Did I capture most opinions with this summary? ``` ## Further Developments: A few days after the first screenshot from valitraitors, Rocket Pool has already been overtaken by Lido and staked.us. At least for staked.us it might be due to the low number of datapoints, whereas for Lido it might be actual improvements on their side showing in the data. ![](https://i.imgur.com/0XJAniQ.png =400x) *Screenshot from the 6th of March 2023. Screenshot in the main text might be from the 2nd of March 2023* ![](https://i.imgur.com/MghpCrZ.png =400x) *9th of March. Data really is noisy. The 3 lowest ones were stable over the last few days.* ![](https://i.imgur.com/c7rbBbx.png =400x) *13th of March. A lot more Tornado cash transactions happened in the last few days. This figure might therefore be less noisy than the ones above. Pretty much all large pools are better in this metric than Rocket Pool.*