[Consultation] zk-SNARKs Module in Cosmos SDK

introduction and purpose

I am a student of Information Engineering in Japan.

For my one of graduation research, I am planning to implement a secrecy module using zk-SNARKs on Cosmos SDK.


As a new module for Cosmos SDK, I am thinking of using zk-SNARKs as a secret proof-verification scheme. This is becauseI believe that there is a need for hiding and proving the existence of information in the Cosmos multi-chain space, just like Ethereum, ZCash and Filecoin. We believe that this module will create more use cases and help to expand the Cosmos ecosystem.

For example

・Confidentiality and transmission of highly sensitive information
・Proof of existence of data via IBC

Use cases

・We believe that it is possible to verify whether the data and physical information associated with NFT actually exists or not via IBC.


  1. Is this kind of functionality already implemented in the existing Module, Cosmos and Tendermint specifications?

  2. If you want to integrate a secrecy module into Cosmos SDK, you can use TEE like SecretNetwork or minblewimble, but when you compare these technology with zk-SNARKs, which technology would you choose?

If you have any comments on the utility or reproducibility of this module, please let us know!

AFAIK there aren’t any actively maintained modules that use zkp tech and focus on secrecy,
but I found that there was some research done (i.e. penumbra.zone )

Are you specifically thinking about proof of existence for NFTs (or digital assets) ?

Thanks for the info on the other projects.
I don’t Precisely know what is penumbra, but this project’s overview is close to my idea.

You’re right, I’m thinking in terms of achieving proof of existence of NFTs and distributed data (like IPFS and Filecoin). The ideology may be different from penumbra for such functions.

Previously, we created a simple module related to zk.

The go package is required to integrate with tendermint.

gnark provides go-zk.

I implemented the zk app using gnark.

I benchmarked zk-sync.

1 Like