Toggle navigation
=nil;
Foundation
Mina Protocol
In-EVM Mina State Verification
Blog
About
Timeline
Solutions
Contact
Alright. Let's walk you through the Mina state proof in-EVM verification process.
Y
Okay.
First of all, we need Mina's state proof and it's verification key.
When Chainsafe finish their
Mina protocol implementation
,
it will be possible to retrieve it automatically right in browser.
But for now we got the sample of it for you in here already.
Y
Alright. Next.
Now, state proof needs to be preprocessed.
Wait a minute, while auxiliary proof generator wraps Kimchi proof verification
into auxiliary proof.
The waiting time depends on a particular machine's performance.
Y
Ready. Next step.
N
I gotta change the state proof.
Now it is time to submit the preprocessed proof to
Ethereum's Ropsten
or
Polygon's Mumbai
.
Proof verification is going to cost about 2.5m gas.
You can get some rETH with some of these faucets:
https://faucet.metamask.io/
https://faucet.egorfine.com/
Polygon's Mumbai test MATIC tokens can be received from Polygon Technology's faucet:
https://faucet.polygon.technology/
Connect Metamask.
Y
Okay.
N
I want to re-generate the proof
Alright, let's see the result.
So, what does that mean?
We've just verified a part of Mina's state proof on Ethereum's Ropsten or Polygon's Mumbai (depending on what you've picked).
It means that a part of Mina's state is now known to be valid on Ethereum's Ropsten or Polygon's Mumbai. We still don't have the actual Mina's data on EVM, but now we can verify it's validity.
Y
So what?
N
I want to verify a different proof
That means every time someone tries to put some Mina's actual state data on EVM, we can:
1. Request a Mina's state Merkle tree Poseidon hash.
2. Verify the Kimchi state proof using it as a public assignment.
3. If the verification was successful, put the data through the Ouroboros's chain selection rule to make sure replication packet was finalized on Mina's side.
4. If all those checks passed, we can use this new Mina's state data on EVM side as plaintext one - to request some account's balance for example.
Y
Cool! When?
What there is left regarding this:
1. Finalize the in-EVM verification part.
2. Work with the auditors.
3. Implement the in-EVM Ouroboros chain selection rule so Mina's plaintext data could be put on EVM.
Meanwhile, stay tuned on
Twitter
and keep track of progress in
Github repository
.