通常,在zk-SNARK中,我们需要生成两个公钥:一个用于prover,一个用于verifier。但是,这个生成器算法的输入参数必须是秘密的,这意味着它必须对prover和verifier都隐藏。
正因为如此,这些公共世代的过程是由一个可信赖的第三方完成的。
由于对分散块链来说,使用可信的第三方是不可取的,所以我正在寻找那些公钥生成的分散方法。有吗?还是不可能有一个分散的zk-SNARK?
关于zk-SNARK的更多信息可以在这里找到:https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b
发布于 2018-08-28 13:15:21
是的,可以使用多方计算(MPC)计算验证密钥。在这个设置中,n用户参与构建,每个人独立而随机地生成秘密输入。该系统的设置使得只要至少有一个参与者放弃他们的秘密,那么产生的密钥是安全的。
您可以在这里找到有关原始ZCash密钥生成“典礼”的详细信息:
发布于 2018-08-28 14:41:24
您还可能需要查看以下资源。
荷兰国际集团区块链小组已经提交了他们的提案,为有效的ZKP's到以太。这不是咆哮,而是距离证明。
https://github.com/ing-bank/zkrangeproof
也有Zokrate,但价格高出10倍。
发布于 2019-01-05 23:39:07
ZK正在解决ZK中可信设置的问题。Vitalik有一篇关于这个主题的博客文章:
https://vitalik.ca/general/2017/11/09/starks_零件_1.html
希望到目前为止,许多人已经听说过ZK-SNARKs,这是一种通用的、简洁的零知识证明技术,可以用于各种用途,从可验证的计算到保护隐私的加密货币。你可能不知道的是,有一个新的,更闪亮的表亲:。由于T代表“透明”,ZK解决了ZK的主要弱点之一,它依赖于“可信的设置”。它们还提供了更简单的密码假设,避免了椭圆曲线、配对和指数知识假设的需要,而仅仅依靠散列和信息论;这也意味着,即使使用量子计算机,它们也是安全的。
https://ethereum.stackexchange.com/questions/57602
复制相似问题