Replies: 6 comments 2 replies
-
From my perspective as a searcher, the ideal outcome would be some kind of guaranteed, reserved capacity. I'd be happy with a system where I pay $X/day to be guaranteed the ability to submit K bundles/block even at the most congested moment. You could use that $X to provision enough capacity to always handle my requests. From the same perspective, I hate the reputation idea because it adds yet another dimension of risk, uncertainty, and opacity. You'll have a never-ending cat-and-mouse game developing countermeasures to manipulation attempts, and these countermeasures will invariably snare honest, hard-working searchers. You will be tempted to withhold explanations of why a searcher has a low reputation out of fear that transparency will help the manipulators. Just the example given, where a "good" reputation requires landing bundles within the last 24 hours, eliminates an entire class of very-high-value searchers (liquidators) who may see weeks go by without an opportunity. Please observe Amazon and eBay's endless labors over the past 20 years and consider whether that is how you want to spend your time. |
Beta Was this translation helpful? Give feedback.
-
I have some ideas about the scaling, some of them I discussed in discord, but probably it's better to discuss it here. Here's the steps that, in my opinion, can prevent such attack:
|
Beta Was this translation helpful? Give feedback.
-
And the other approach that came to my mind recently, that will probably help to scale the relay, is to oblige searchers to include the stateDiff of their bundle, simulated on their side. If will help relay to sort bundles by profit, filter duplicates and intersecting bundles, etc., without an actual execution of a bundle on the relay. The best solution probably is to generate some zk proof for the execution result, but I don't really know if it's possible in such case. |
Beta Was this translation helpful? Give feedback.
-
the lack of any sort of flashbots provided data metrics makes the task of improving the reputation system difficult. e.g. without knowing uptime information its hard to gauge the amount of DDoS attacks and therefore how much weight can be given to issues such as the one @SebyakinAndrei has described |
Beta Was this translation helpful? Give feedback.
-
Relay scaling proposal (v3)
This proposal aims to discuss various approaches to improving scaling of the relay during periods of heavy load.
context
The constant growth in usage of the flashbots relay has resulted in intermittent service degradation during periods of heavy load. We've observed an increasing rate of DOS attempts aiming to take down the relay during time periods with significant MEV opportunities. As such, it is time to introduce options to improve relay reliability and scaling.
design goals
It's ok if less valuable bundles (measured by bundle score) get dropped during high load as long as the system still functions for some good users.
Hosting costs should scale (at most) linearly with real demand - don't want to allow costs to scale infinitely for prolonged periods of time. If we align fees such that the bundles pay/burn as much as our costs, then that's probably ok as well.
Avoid barrier to entry for new searchers as much as possible / avoid sustained advantage to a subset of searchers.
proposals
Searcher Reputation
Users continue to use signing address, and we come up with some threshold for moving good users into a high priority queue. This queue operates in parallel to the current simulation/miner relay. We just need to make sure that the initial step which sorts users into high/low priority queues never goes down, which should be very doable. The relay has access to historical bundle data, inclusion rate, and miner payment which can be used to identify good users.
pros/cons
concrete example
Account Quotas
Users sign up for an account. They will either need to pay for the account, provide proof of work, stake in a contract, and/or wait some amount of time. This can be done implicitly in the relay without an explicit sign up step, but we need to associate some cost with the account creation for this to work.
pros/cons
Micro-Fee
Each bundle includes a separate fee transaction that we either burn or send along to the miner. Could be either l2/state channel, we just need to make sure whatever we use is protected against double spend/replay.
pros/cons
concrete example
Beta Was this translation helpful? Give feedback.
All reactions