P

Provable Multiparty Delay Encryption

Provable MDE a novel solution for MEV

P

Provable Multiparty Delay Encryption

Provable MDE a novel solution for MEV

The problem Provable Multiparty Delay Encryption solves

Proof for exponent range check is being used in some important cryptographic primitives as a critical component. For examply, multiparty delay encryption makes use of it as a way to prove a private key is well-constructed without revealing any information.
Due to being able to describe an ordering statement within the context of field and groups, the most efficient way to achieve this is via general purpose proving machinaries such as SNARKs. For this hackathon, we tried multiple different proving systems with unique approaches to efficiently implement an exponent range proof check. One of the most important application of our construction is can be used in a mempool privacy scheme for elimination of censorship and toxic MEV from Ethereum.

Challenges we ran into

Every proving system that we used had it's own challanges and for each we came up with a dedicated solution.
Risc0: We had very little issues risc0
Novanet: Any inputs other than u64 did not work, we had to hardcode these into the circuit
Plonky3: Even though playing with AIR enables us with to have so much flexibility, using it as it is is not possible. This is because lots of basic building blocks are yet not added to the library such as big-num or basic comparison circuits. We developed a new circuit to way around all of those issues.

Tracks Applied (8)

Prizes for Top 3, Hackers' Choice & Chewing Glass

Writing our solution in plonky3 was extremely difficult and felt like chewing glass :)

Get plonky with Polygon Plonky3

Solving this problem in Plonky3 what we spent a large amount of our time and energy on.

Polygon

Privacy

Our solution allows the prover to hide their private key while proving that it is a valid private key.

NovaNet

Local Verifiable Compute

We were able to port our solution and prove it using novanet.

NovaNet

Grand prize

While building our solution we found a limitation where strings can't be used as an input. We found that this is a featu...Read More

NovaNet

Best application that uses zkVerify to verify ZK proofs

We submitted our risczero proof to the aligned network

zkVerify

🤩 Best zkVM Application

We used the risczero zkVM to solve our problem and utilized external BigInt crates.

RISC Zero

👪 Integrations Bounty

We submitted the proof to zkVerify

RISC Zero

Discussion