1 https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8434214
2 https://eprint.iacr.org/2018/953.pdf
3 https://github.com/flashbots/mev-research/issues/34
4 https://eprint.iacr.org/2016/612.pdf
ORE is a cryptographic primitive that enables range queries over encrypted ciphertexts. Its main application is in the database world, where it's used to enable queries over encrypted databases to provide assurances in the case of data breaches.
For each of exposition, we will be simply providing a high-level definition.
ORE schemes are defined as follows:
ORE provides us with a way to efficiently encrypt transactions such that miners can still compare gas-related fields without actually revealing those fields. Using the
In more details, users will each usehave their own
and encrypt their transactions. Then they will send these ORE encrypted transactions to miners who will then be able to compare different ORE encrypted transactions using
However, as described, there are a few immediate problems with this approach. The first one is that miners still need to be able to execute transactions after they have verified that the transaction satisfies some gas related constraint. But, using ORE, the user will now need to decrypt their transactions in order for this to be possible, losing all of the benefits of using ORE.
How can this problem be potentially be resolved?
Let's consider a variant of ORE called multi-client ORE that is better suited for multi-client interaction. A slightly modified version of how we can provide mempool privacy is as follows:
Now, we have more problems. In this multi-client ORE scheme, we now have a trusted manager, multiple more keys to distributed and more comparison functions to handle.
TODO: Compare and contrast solutions
Solution | MEV Security | Execution Delay | Consensus Time Speed | Requires hard fork? |
---|---|---|---|---|
SGX | ||||
Timelock Encryption | ||||
Threshold Decryption | ||||
Order-Revealing Encryption |