MiMC 是一个“零知识友好”的哈希函数,可以生成有效的零知识证明 (ZKP)。
之前,我们讨论了通过zk-SNARK,零知识证明可以应用于任何数学函数。在内部,需要将函数转换为电路,电路中只允许进行加法和乘法运算。虽然理论上所有函数都可以转换,但实际上某些函数的电路更小,并且它们的 ZKP 成本低于其他函数。例如,SHA256 需要大量位操作,因此在电路大小方面是最昂贵的。
MiMC 散列函数专门设计用于通过仅使用加法和乘法来最小化电路大小,从而最小化 ZKP 成本。同时确保反向工程散列的原像的难度不会降低。
哈希函数可以在许多应用中找到,例如承诺方案、签名和默克尔树。当需要高效的 ZKP 时,MiMC 是一个很好的候选哈希函数。
算法
为了散列单个数字 x,我们计算以下函数:

r 是轮数,Fᵢ 是第 i 轮的轮函数,k 是密钥。 ∘ 是函数组合。
cᵢ 是圆形常数,c₀=0。

MiMC是一种特别设计的哈希函数,旨在减少零知识证明(ZKP)中的电路大小和成本。它仅使用加法和乘法操作,适合于需要高效ZKP的场景,如承诺方案、签名和默克尔树。MiMC通过最小化涉及位操作的SHA256等函数的电路复杂性,提高了ZKP的效率。

754

被折叠的 条评论
为什么被折叠?



