介绍

Manta Pacific 是一款专为 ZK 应用设计的以太坊模块化 Layer 2,已获得 Polychain、币安实验室、CoinFund 和 SevenX Ventures 等知名机构超过 6000 万美元融资。Manta Pacific 将 ZK 电路集成到其 Layer 2 架构中,为 DApp 提供高度模块化的设计和多种 ZK 功能模块。开发人员只需使用 SDK 和 API 编写几行代码即可轻松调用 ZK 功能。

Manta 的方法允许在第 2 层环境中完全实现 ZK 功能,从而能够将 ZK 正确性和交易压缩无缝集成到现有应用程序中,或部署针对 ZK 功能量身定制的新应用程序。这是 Manta Pacific 的独特功能。

零知识证明 (ZKP) 是一个通用概念,适用于任何 NP 问题。它们的理论发展和实际应用已成为密码学研究的主要焦点。Manta 使用的主要密码学原语是一种特定类型的非交互式零知识证明,称为零知识简洁非交互式知识论证 (zkSNARK)。该系统允许验证复杂的计算结果,而无需重复整个计算。

zkSNARK 框架

概述

zkSNARK 由三个多项式时间算法组成:KeyGen、Prove 和 Verify。这​​些算法有助于通过算术电路生成、证明和验证零知识证明。

  1. KeyGen(1^λ, C) -> (pk, vk):

    • 给定一个安全参数λ(例如 128 位)和一个算术电路 C,KeyGen 算法会生成一个证明密钥 pk 和一个验证密钥 vk。这些密钥是公开的,可以重复用于证明和验证电路 C 定义的语言的成员资格。

  2. 证明(pk, x, a) -> π:

    • 使用证明密钥 pk 和输入 (x, a),其中 x 是公共输入,a 是见证,证明算法输出非交互式证明 π。此证明断言存在见证 a,使得 C(x, a) = 0。

  3. 验证(vk,x,π)->;{0,1}:

    • Verify 算法使用验证密钥 vk、公共输入 x 和证明 π 来确定 x 是否确实是 C 定义的语言的成员。如果证明有效,则输出 1,否则输出 0。

数学表示

考虑一个有限域 F 和一个在 F 上定义的算术电路 C。对于输入 x ∈ F^n 和见证 a ∈ F^h,电路 C(x, a) 输出 F 中的值。目标是证明对于给定的 x,存在一个见证 a 使得 C(x, a) = 0。

比喻

零知识证明可以比作一场魔术表演,其中爱丽丝(证明者)使用一系列巧妙的技巧(数学计算)向鲍勃(验证者)展示线索(证明),使他相信秘密确实在盒子里。鲍勃无需看到秘密本身就被说服了。爱丽丝使用一个特殊的“魔法钥匙”(公共验证密钥 vk),任何人都可以使用它来验证线索。这场“魔术表演”可以在不同地点和不同观众面前重复上演。

Manta 中的其他加密原语

非互动承诺计划 (COMM)

非交互式承诺方案可确保信息的一致性。给定一条消息 m 和一个随机种子 r,可以通过揭示 r 和 m 来验证承诺 c := COMMIT_r(m)。此方案具有约束力,这意味着一旦做出承诺,就无法更改已提交的消息。

伪随机函数 (PRF)

PRF 会根据固定输入生成看似随机的输出。它们可用于生成地址、随机数值和公钥。在加密应用中,即使不同的 PRF 具有相同的核心功能,不同的标签也会区分不同的 PRF。

加密累加器

累加器可对大型数据集进行高效的零知识成员证明。它们可以将大量数据点聚合为一个小的固定大小的值,从而便于高效验证数据包含情况,而无需提供整个数据集。这在区块链中特别有用,可以改善数据存储和验证过程。

椭圆曲线集成加密方案(ECIES)

ECIES 基于椭圆曲线 Diffie-Hellman 密钥交换,允许在非安全通道上进行安全的信息交换。发送者使用接收者的公钥加密消息,只有拥有相应私钥的接收者才能解密。此方案通常与 AES 等分组密码一起使用,以提供强大的加密保护。

Manta ZK Circuit 交易

Manta ZK 电路交易遵循 UTXO 模型,其中交易消耗来自一个或多个输入的旧币并生成新币。铸造操作创建新的 UTXO,而交易操作消耗现有的 UTXO。该过程涉及:

  1. 设置:使用 NIZK 系统参数初始化系统。

  2. GenMint:生成铸币交易,选择一个UTXO作为输入,指定新的硬币值,并生成证明。

  3. 铸造:证明验证成功后,网络验证并记录新的UTXO。

  4. GenTransfer:生成转账交易,指定当前账本状态、要转账的货币、以及收款人的公钥,并生成证明。

  5. 转账:验证者执行转账交易,在证明验证成功后更新账本状态。

  6. GenReclaim:生成回收交易以从 UTXO 中恢复未使用的余额。

  7. 回收:验证者执行回收交易,在证明验证成功后更新账本状态。

安全证明框架

模拟器构建

为了证明 zkSNARK 方案的零知识特性,构建了一个模拟器来生成与真实对手 (Real adv) 无法区分的视图。通过证明在承诺方案和 PRF 假设下,无法区分模拟器生成的视图和真实对手的视图,可以证明这一点。

混合论证

通过逐步替换真实 adv 视图中的元素直至达到理想 adv 视图,构建了一系列中间视图。该论证的前提是,能够区分两个连续中间视图的对手也可以区分初始真实 adv 视图和最终理想 adv 视图。证明表明,对手在区分这些视图方面的优势是多项式有界的,从而肯定了 zkSNARK 方案的安全性。

结论

这些系统的安全性证明通常需要构建两个实验:一个用于实际协议运行(真实),另一个用于理想协议运行(理想),其中模拟器模仿真实对手的行为。如果这些实验的输出无法区分,则认为该协议是安全的。理想/真实安全模型是零知识证明中的一个常见概念,可确保验证者(或系统)能够确信某些陈述的真实性,同时保持对潜在攻击者的安全性。

这一详细的探索强调了 Manta 的 ZK 电路所蕴含的严谨数学原理和加密机制,强调了其创新方法和安全保障。