Ferveo: Threshold Decryption for Mempool Privacy in BFT networks - https://eprint.iacr.org/2022/898
This paper describes some methods to encrypt transactions when in mempool and decrypt on inclusion in blocks. Is any of these methods possible for bitcoin? If possible, who will decrypt the transactions? Miners or Full nodes?
Ferveo: Ferveo is an efficient distributed key generation and threshold public key encryption protocol for Tendermint-based Proof of Stake blockchains with minimal assumptions over those used to achieve consensus. The threshold decryption approach used requires high amounts of bandwidth overhead. Namely, every validator must gossip a unique piece of data for every encrypted transaction.
I am assuming Ferveo cannot be used because its mentioned in the paper that using threshold decryption on a Proof of Work blockchain can be quite difficult to simultaneously guarantee mempool privacy protections and the consensus properties of the blockchain.
Timelock Encryption: Forms of time-lock encryption, typically based on Verifiable Delay Functions (VDFs) [4, 27, 23] can be used to encrypt transactions such that 4 they require T sequential timesteps to decrypt.
TEE Encryption: The idea of TEE (Trusted Execution Environment) encryption for mempool privacy is to have every node in the network have a TEE (i.e. Intel SGX), and for them to all share an encryption key. Then all transactions are encrypted to the enclaves. They get decrypted and executed once they are in a finalized block on-chain.
Witness Encryption: Witness encryption  essentially enables the same functionality as TEE Encryption, but solely using cryptographic assumptions. Namely, creating an encrypted tx that can only be decrypted upon presenting inclusion of its hash into a finalized block.
The other 3 encryption methods could still be used and question isn't limited to these methods. If someone knows any other encryption that could improve privacy in mempool that would be helpful.