ZKP for Everyone: Apply ZKP to Your Ethereum Transactions in a Few Clicks
EthCC[8] · 2 Jul 2025 · 12:15
Jehyuk Jang demonstrates converting Ethereum transaction or block hashes into zero-knowledge circuits. The presentation presents a compiler and lightweight proving backend intended to work on a laptop without specialized hardware.
Speakers
Topics
From EthCC[8], hosted by Ethereum France.
Transcript
Oh uh hello, good afternoon. Uh I'm glad to be here and thank you for coming having your time for me. And yeah, today I'd like to talk about uh TK TKP for everyone and which is more about uh how to apply a TKP to your Ethereum transactions in a few click and I'm JHawk Jang or Jake Jang and I'm from the tokong network. Let's get started. So uh the question would be I'd like to ask uh if I want to just want if I want uh just want to apply GKP to my Ethereum
transactions then do I need to build my own circuits or do I need some specialized hardware or uh cloud infrastructures or do I need to understand all the mess behind and I would say like no here uh Today I want to propose some new approach to the to the GKP system and I which is called tokax GKP and uh it is very easy to use so you don't need to build any circuits on your own and and even you don't need to program at all and uh the proof generation could be very quickly done uh with your home
hardwares. For example, uh with your desktop, desk desktop or laptop with tens of gigabyte memories, you can run your uh GK GK proofs in within just a few minutes and your proof can be verified onchain very uh at at cheaper cost. Yeah, cheaper fees. Okay. So I here prepare a demo video about how to apply your GKP uh the our GKP to your uh Etherum transactions.
Yeah. So first we provide a simple graphic user interface. So here you can uh do some compilation and commitment. Here you can follow the steps. We have two compilers here. So we we we are running the first compiler and we are committing to the result. Yeah. And the second compilation this requires the input transaction. Actually you can just put your hash of the transaction of your interest. So we are now running the second compiler synthesizer. Yeah.
Then again we need to commit to the result the sec the result of the second compilation. Yeah. Then now we are ready to run the generate the zero knowledge proof. This is about the correctness of your transaction. Now your pro proof was uh ready to be verified. You can run the verify if you want to check your transaction is valid or not. Yeah. And if you want to try another transaction, you can just put another transition hash uh at the second compiler. Yeah. Then everything went the same.
Yeah. You can try this app uh by downloading downloading using the that that QR code. Yeah. So uh I I I'd like to talk about the efficiency. So how efficient is it? Uh if you want to generate a proof for that that involves like one to eight transactions. Uh we think we you you need to you need a circuit of size like two to the 17 powers or two to the 20s.
uh and in that case the proof size will be fixed to 2 kilobytes and this this proof size is constant and which will be independent independent of your circuit size and the proof generation time this is the more important thing and uh for the the for generating the the the proof for the eight transactions this proof generation will be done within uh within 10 minutes and I I did I conducted this test with my uh my home laptop and desktop. And here for the for the CPU test, I just used my MacBook with 14 cores.
And for the GPU test, I used my gaming desktop which has RTX uh 330 70. You can buy it like approximately€300. Yeah. So you can run you can run your uh proof generation on your home. So how the how what makes this efficiency? Uh I'd like to compare to explain this I'd like to compare with the previous approaches for example uh the scroll CK EVM this which is very famil maybe known to use and in their approach they compile the e the
whole EVM e virtual machine uh and generate a EVM circuit. So here the EBM circuit would multiplex all possible execution paths for future uncertain and unpredictable uh inputs. So that's why this EBM circuit is very large and the proof generation takes very long time like few hours with in your home computer. Uh and here's the next approach like which is more recent one. uh uh for example the sins uh SP1 uh and their approach they use risk risk five virtual machine and they compile it
and to to generate a risk five virtual machine circuit at the same time they fix one etherum program for example this etorium program can be the the block validation and which can be written in Rust And you need to compile this to generate a risk of a binary code that can be run on the risk virtual machine. And as a result uh like the Jetk EVM this approach multiplexes the the resulting circuit multiplexes or execution pass for unpredictable inputs. But here the point is the risk risk five five virtual
machine is much smaller than the ethering virtual machine. So the resulting circuit can be uh smaller than the check GTK EVM. Yeah. So uh it's time for our approach. uh we would like to call our approach like two-step compilation and this is to reduce the uncertainty or reduce or or uh completely eliminate the uncertainty in the reg resulting circuit.
So uh we have two steps for the first step we first uh compile the static part of the EVM into small sub circuits. So once is they are prepared and then we fix some contracts and the contract methods uh that we are going to uh be interested I mean we are going to turn into the GK CKP. So given these methods we we run the compilation again and so that we will find the combination combination and the wiring of the subcircuits that can perfectly completely reser represent the given
computation. So this is the key how we uh achieve the efficiency and there's a trade-off as well. So we did use we did we do use more more compilers and coming on. So this can be the potential uh security uh disadvantage security secretive roles. Yeah because the security of the compile and commit is not covered by the fundamental theory of eio sorry jet jet kp.
Yeah. So we need to rely more more rely on the trust trust in the compilers and commitment scheme. Yeah. Then how do we relax the trust assumptions in the compiler and commit? So it we uh it depends on I I would answer this with it depends on the application. So let me introduce our uh potential application. So suppose suppose there are users who want to open a layer 2 channel to execute only predefined contract methods.
So and suppose that there there's a commitment to the EVM which was generated onchain and which is given and then the users the users uh will fix the contract methods and we'll post their commandments on the on chain on the either main main network and then they open a layer to channel. Yeah. Then given those the the the two compilation results and the coming months they can run transactions on the layer two and they can generate generate the their knowledge proof on their own and they can aggregate the result and
they report the result the aggregate proof back to the layer one. Then the yeah then the aggregate proof can be verified on chain. All right. Then the users can close their channel. That's all. Again, if they want to open a new channel, then they can rerun the second compilation. Uh and then yeah, that's all. Yeah, thank you. Right. Uh I'd like to uh conclude my talk with these key takeaways and this just are the summariz summarization. So
uh my point is that you can't take everything all snarks or or starks have the trade-off between the efficiency and the compiler dependency. So we more focused on the efficiency. So KP is easier to use and faster and lighter through two-step compilation. And our next move will be uh provide to provide a DIY DIY tool for to that enables the users to launch and operate method specific state channels or rolloffs for privacy on their own. Yeah, thank you. Yeah, thank you for [Applause]
uh do you have any questions? I would like to be happy to take any questions. Yeah. Yeah. All right. Yeah. All right. Thank you. [Music] [Applause] [Music]