cosmos / sp1-ics07-tendermint

This is a zero knowledge IBC tendermint light client written using SP1 and ibc-rs (WIP)
MIT License
23 stars 5 forks source link

Could you explain what is ZKP about this? #102

Closed danwt closed 3 months ago

danwt commented 3 months ago

I couldn't understand from the README.

Thanks

crodriguezvega commented 3 months ago

If I understood correctly from a conversation with Succinct, the SP1 proofs are currently not zero knowledge, but it should be possible for them to make them truly ZK. If you want to get more details about it I would recommend to check out SP1's repo and documentation.

I hope this helps!

gjermundgaraba commented 3 months ago

Just to add to that, the main feature of the ZK proofs we are leveraging are not the zero-knowledge part, but the succinctness properties. In particular, this is needed because tendermint light client operations would be very expensive (infeasibly so) on EVM. So what is instead happening is that we generate proofs of light client operations (such as verifying client updates, membership/non-membership proofs) off-chain (using the Succinct SP1 prover network) and submit the proof on-chain. And here is where the succinctness property comes into play: the proof is small enough to submit on-chain and cheap enough to verify on the EVM for feasible operations.

So in the end, the light client on the EVM side mostly takes in proofs, verifies them and updates/responds based on ZK proof public values (which includes the input, so there is very little zero-knowledge happening in any case :))

danwt commented 3 months ago

I see, thank you very much!