Normally, in zk-SNARK
, we need to generate two public keys: one for prover
and one for verifier
. However, the input parameter of this generator algorithm must be secret, meaning that it must be hidden for both prover
and verifier
.
And because of this, the process of those public generation is done by a trusted third party.
Since using a trusted third party is not desirable for decentralized blockchain, I am looking for a decentralized approach of those public key generation. Is there ? or it's impossible to have a decentralized zk-SNARK
?
P.S. More information about zk-SNARK
is found here: https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b