Hello,

I have a question about the 2 proofs.

I used to develop IBC(inter-blockchain) protocol for substrate and started learning zkrollup recently.

Both zkrollup and IBC are trustless cross-chain solution.

Zk proof and IBC proof

IBC proof: as per ics-002-client-semantics, IBC proof is proofs of inclusion or non-inclusion of particular values at particular paths in the state of the remote state machine at particular Heights. As for substrate, it’s MPT proof of specific storage existence on the remote chain. You may refer to the full verification steps here: `height.increment()` not needed for Beefy · Issue #1845 · informalsystems/hermes · GitHub

ZK proof: validity proof is a cryptographic assurance that the state-change proposed by the rollup is really the result of executing the given batch of transactions(on layer 2).

As a zkproof newbie so apologies if this is a common question, the 2 kinds of proof are somewhat similar, but zkproof is more complex and computationally expensive, and most zk-rollup layer2 don’t support private computation natively. So my question is:

is it possible to replace zkproof in zkrollup with the proof solution of IBC? Any pros and cons?

Thank you