1/ 曼塔太平洋

Manta Pacific 是专为 ZK 应用设计的以太坊 Layer 2 解决方案,是建立在以太坊上的模块化 Layer 2,已获得 Polychain、币安实验室、CoinFund、SevenX Ventures 等机构超过 6000 万美元的融资。

Manta Pacific 目前基于 Caldera 定制的 OP Stack 架构,几乎与以太坊 EVM 100% 兼容。这使得以太坊生态系统中的现有开发人员可以无缝地将其应用程序迁移到 Manta Pacific。

Manta Pacific 将数据可用性层从以太坊移至 Celestia,使其成为第一个使用 Celestia 作为数据可用性层的 Layer 2。

Manta 还将 ZK 电路整合到 Manta Pacific 中,开发者可以通过 SDK 和 API 以几行代码轻松调用 ZK 函数,从而实现 ZK 与现有 DApp 的集成,或者开发新的 ZK 应用。

2/ 模块化

模块化是指在 Web2 和传统行业中普遍存在的一种产品设计和架构思维,比如智能手机厂商选择屏幕、芯片、WiFi、蓝牙等供应商,然后通过合约制造商进行组装,大大提高效率、降低成本,而不是自己生产所有零部件。

通常,区块链可以分为共识层、结算层、数据可用性层和执行层。

以太坊主网承担最终共识和结算职责,数据可用性层项目包括 Celestia、EigenDA、Polygon Avail 等,常见的以太坊 Layer 2 为执行层项目。

  1. 模块化意味着定制化和更强的可组合性,项目方可以根据自身需求进行权衡,比如将安全交给以太坊主网,同时追求低 Gas 费,甚至零 Gas 费和超高交易速度。

  2. 模块化允许项目基于经过验证的技术堆栈(如 Polygon CDK 或 OP Stack)构建其链,而无需从头开始构建所有基础设施。

3/ Manta Pacific 的模块化

Manta 的模块化设计包含两个方面:

  1. Manta Pacific 使用 OP Stack 和 Polygon CDK 等成熟的技术栈来实现其模块化架构。

与其他第 2 层解决方案不同,Manta Pacific 并未从头开始构建其基础设施,而是使用了现有成熟的 OP Stack 技术堆栈。

如果Manta是一个新成立的智能手机品牌,那么使用OP Stack就好比直接使用iPhone的供应链和技术架构。

这样的做法的好处是,Optimism 是一个经过熊市考验的项目,其技术栈 OP Stack 也经过了长期的市场考验,非常成熟。Manta Pacific 可以直接站在巨人的肩膀上,很大程度上继承了 OP Stack 已有的安全和技术优势。

此外,它实现了完全的 EVM 兼容性,让开发者可以轻松将现有的 DApp 迁移到 Manta Pacific。更重要的是,Manta 可以更加专注于生态建设和项目拓展。截至目前,Manta Pacific 已在其链上验证了超过 810 个智能合约,拥有超过 200 个生态项目。

  1. Manta Pacific 使用 Celestia 作为其数据可用性层,这意味着其数据可用性安全性部分由以太坊主网和 Celestia 共同保证。如果序列化节点发布真实的数据,则可以在以太坊主网和 Celestia 上找到相应的数据。

Manta Pacific 的排序器指定将 blob 发布到以太坊的区块高度。如果 blob 不存在于该高度,则交易无效。

排序器发布数据:将交易发布到收件箱,分为三部分编码:版本号(0x02)、区块高度(0xa4aa0500000000000)和 blob 承诺(剩余部分)。通过指定高度,节点知道在哪里查找。

例如,0xa4aa050000000000 是区块高度的小端编码,转换为区块 371364。您可以在 https://celenium.io/block/371364 找到相同的区块。

该区块包含 Manta Pacific 命名空间中的一个区块。完整数据可以在这里找到:

如果排序器发布伪造的数据,节点将无法在指定的区块高度找到承诺。

  1. Manta 自身的 ZK 电路采用模块化设计,将 ZK 功能内置于 Manta Pacific 中。开发者可以在 Manta Pacific 中完整调用和实现 ZK 功能和特性,这与其他 ZK Rollups 或 zkEVM 有所区别。开发者还可以轻松调用 ZK 电路,将 ZK 功能与应用程序结合起来。

在 ZK Rollup 交互中,用户在 ZK Rollup 内部进行交易,Rollup 的排序器作为证明者,对用户交易进行排序、压缩、打包,生成 ZK 证明。以太坊主网智能合约作为验证者,验证 ZK 证明的正确性,从而验证其所代表的交易的正确性。

主网智能合约无需对ZK Rollup交易进行复杂的验证,一次ZK证明可以代表更多交易信息的正确性,实现了可扩展性,提高了以太坊主网的交易确认能力。

相比之下,Manta Pacific 用户充当证明者,在提交交易时在本地生成 ZK 证明。链上收集者充当验证者,验证 ZK 证明。然后,经过验证的交易由排序器压缩并提交到以太坊主网。在第 2 层中,Manta Pacific 完成 ZK 生成和验证,完全实现 ZK 功能。

4/ 堆栈上

OP Stack 是 Optimism 团队推出的模块化开源区块链技术栈,旨在提供高度可扩展、高度可互操作的区块链解决方案。OP Stack 采用模块化设计,每个模块实现堆栈的特定层并通过定义良好的 API 进行连接。这使开发人员可以轻松修改现有模块或创建新模块,从而支持不同类型的区块链应用和创新。

OP Stack 的目标是超越传统的单链或多链模型,并推广一种由高度集成的链组成的结构,即超级链。超级链通过共享消息格式,允许不同的链轻松通信,而无需为每条链定制适配器。它还支持原子跨链可组合性,其中多个 op 链共享一个序列器集,确保链之间的原子级交互。

5/ 数据可用性层(DA 层)

数据可用性层确保区块链网络中的所有数据(尤其是第 2 层数据)都可以公开访问和验证。数据可用性层允许任何参与者检索这些数据以验证网络的状态和交易的有效性,为区块链的透明度和安全性提供重要保障。

6/ 塞拉斯蒂亚

Celestia 提供可插入的数据可用性和共识层,基于 Cosmos Tendermint 共识和 Cosmos SDK 构建,与 EVM 链和 Cosmos 应用链兼容。这些链可以直接使用 Celestia 作为其数据可用性层,并通过 Celestia 存储、访问和验证区块数据。Celestia 还支持原生 Rollups,允许在其上构建第 2 层,但不支持智能合约。

Rollups 通过运行 Celestia 节点与 Celestia 集成。Celestia 接收 Rollup 交易信息,通过 Tendermint 共识对交易进行排序,但不执行或验证交易的正确性。它打包、排序、广播交易,并通过擦除编码和数据可用性采样 (DAS) 确保数据的安全性和可用性。

7/ ZK 电路

在零知识证明中,“电路”是一种表示复杂算法和函数的方式。这里的电路不是指传统的电子电路,而是指数学或逻辑结构。

在零知识证明的背景下,电路通常用于描述或定义特定的问题或陈述。

电路的主要功能:

  1. 问题描述:电路可以描述或定义特定问题或陈述。例如,证明者可能想要证明他们知道满足特定电路的输入。

  2. 细节的隐私:通过使用电路,证明者可以证明他们知道满足电路条件的信息,而无需透露该信息的具体内容。

  3. 可验证性:电路为验证者提供了一种方法,无需知道证明者使用的具体输入即可检查证明的正确性。

  4. 通用性和可重用性:一旦定义,电路便可用于各种问题和场景。这就是为什么一些 ZKP 框架支持所谓的“通用”电路,能够描述和解决各种问题。

总之,零知识证明中的电路充当桥梁,将证明者想要证明的语句与验证者需要验证的语句连接起来,而不会透露语句本身以外的任何信息。电路用于定义要证明的计算。每个特定的应用程序都需要自己的电路。不同的服务(例如 zkEVM、ZKML、ZK Oracle、ZK Bridge 以及各种共识和状态证明)需要不同的电路。

8/ Manta Pacific 的 Universal ZK Circuits

Manta Pacific 是专为 ZK(零知识)应用设计的 Layer 2 解决方案,几乎完全兼容以太坊 EVM(以太坊虚拟机)环境和 Solidity 编程语言。最近,Manta Pacific 推出了 Universal ZK Circuits 2.0,这是一个面向开发人员的 ZK 库,只需几行代码即可将支持 ZK 的合约集成到现有的 Solidity 智能合约和 dApp 中。

通用 ZK 电路为 Solidity 开发人员提供 ZK 即服务。目前,它包括 Manta Network 现有的 MantaPay 电路、zkShuffle 电路和来自以太坊基金会 Semaphore 项目的 ZK 电路。

使用 Manta Pacific 上的通用电路,开发人员可以轻松部署 EVM 原生的 ZK 应用程序。他们还可以通过高级 API 为现有的 Solidity 智能合约和 dApp 调用支持 ZK 的合约。

例如,创建链上纸牌游戏应用程序的开发人员可以使用 zkShuffle 电路实现去中心化的洗牌和发牌。使用 Manta 通用电路简化 ZK 应用程序开发的一个实际示例是 zkHoldem。

在通用电路推出之前,构建 zkShuffle 和类似的 ZK 应用需要手动构建电路,并在 Rust 和 Solidity 等编程语言之间进行转换。然而,随着 Manta 通用电路的推出,这种复杂性已大大降低。

借助 Manta Pacific 的通用电路,构建 ZK 应用程序变得更加直接和高效。