-
If you really want strong MEV protection you may need to look at MPC/Blinder etc…
-
For a lightweight solution, using a bit of synchrony:
A. Proposers commit by sending the hash of their proposal (or via VDF if you have one)
B. Then a randomness beacon (threshold signature on block number for example or VDF) outputs a fresh public value
C. Then each proposer can use the beacon value and her commitment and compute a VRF rank (say deterministic signature on commit+public rand or the reveal proof of the VDF and hash of public randomness)
D. If your VRF has low rank then you try to propose (if more time passes more try)
E. The validators wait and then attest to the lowest rank VRF for which they have data availability of the proposal (attests only once like FFG)
Maybe minor diff is here you do not know ahead of time if you are going to win, only after you commit and then see the public rand, may be an advantage for MEV?