Curve + zkSync L2:以太坊的ZK Rollup智能合约

Curve 和 Matter Labs 团队很高兴宣布以安全且去中心化的方式向以太坊扩展迈出了一大步:今天,我们和 Curve Finance 一起发布了第一个常驻 dapp 的 zkSync L2 智能合约测试网。

>> **演示 demo!**[3] <<

在 Zinc 上的 Curve 合约[4]

Zinc 文档[5]

为什么选择 ZK Rollup ?

ZK Rollup (ZKR)是现有的两种 Rollup[7] 版本之一,另一种是 Optimistic Rollup (简写:OR)[8]。两种方法都有其取舍(参见详细比较[9])。这是主要的实际差异:

安全 — 即使使用单个验证者,ZK Rollup 也非常安全,因为它们依靠纯数学,而不是进行持续的经济激励活动来确保资金安全。除了密码学假设外,ZKR 与基础 L1 一样安全。这对于处理资产总值高的协议尤其重要。与 ZKR 相比, Optimistic Rollup 具有强大的反网络效应:其安全性与锁定价值成比例地降低。实际上,需要控制资本上限(数千万美元的范围内),才能安全地放如在单个 Optimistic Rollup 中,才能保持对对 L1 的高度合理攻击的抵抗[10]. 只要以太坊仍然是 PoW 链,就无法缓解。

最终确定性。ZK Rollup 的最终确定性时间(分钟)短,因此支持资本快速退回到 L1(L1:第一层,即以太坊自身网络)。相反, Optimistic Rollup 被迫在快速退出和资本效率退出之间进行选择[11],但不能两者兼有。大多数研究人员认为,OR 至少需要一个星期的争议延迟时间。这对于与 L1 上的合约(至少将在最初)继续在生态系统中发挥重要作用的合约的互操作性非常重要。

可编程性 — 通过 Optimistic Rollup 支持完全的 EVM 兼容性更加容易。通常认为 OR 方法是将现有以太坊智能合约引入 L2 (L2 :二层网络)的唯一可行方法。但是,这种情况即将改变。

ZK Rollup 中的智能合约?

Zinc VM 如何工作?

  • Zinc 虚拟机的字节码。
  • 合约的 SNARK 验证密钥。

Zinc VM 字节码+验证密钥可以完全无许可的方式部署到 zkSync 网络。合约将在 L2 中被分配一个新地址。每当用户与该合约进行交互时,zkSync 的验证程序将执行 Zinc VM 操作码并产生对交易有效性的零知识证明 — 友好的 SNARK Zinc VM 的特殊设计使其成为可能。然后将由 Rollup 块电路针对已部署的验证密钥来递归验证该证明。然后,以太坊上的 zkSync 智能合约验证区块证明,以授权状态转换,所有交易状态转换可以在一个区块快速的验证。

因此,zkSync 上的 Zinc 智能合约继承了有效性证明的严格安全保证。

如何为 zkSync 编写智能合约?

Zinc 目前处于封闭开发 Beta 版。如果你有兴趣为你的项目尝试,请与我们联系[15].

Zinc 与 Solidity/Vyper 有何不同?我可以移植现有的源代码吗?

由于 Zinc 在结构体上与 Solidity 相同,因此可以轻松地将现有的 Solidity 代码转换为 Zinc。主要的挑战是 Zinc 目前尚未完全图灵完备。这意味着:禁止递归和无限循环(有限循环是 OK 的)。

第二受欢迎的 ETH 智能合约语言 Vyper 也不是图灵完备的。因此,今天任何 Vyper 程序都可以同构转换为 Zinc。这正是 zkSync 上 Curve 的工作方式:Matter Labs 帮助 Curve 团队将现有的 Curve 合约重写为 Zinc 版本。它几乎逐行与原始来源相同。

尽管 Zinc 本身不是图灵完备的,但实际上任何在 Solidity 可以完成的工作而只需进行很少的修改即可在 Zinc 中完成,部分是因为大多数 Defi 应用程序的代码很少需要循环或递归,部分是因为图灵完整组件可以通过利用交易级别的递归来重新实现,即合约通过外部调用来调用自己的公共方法(在 zkSync 中仍然可以实现)。

此外我们还有更多的好消息:Matter Labs 正在努力在不久的将来使 Zinc 图灵完备。在此之前,我们很乐意为你的团队提供支持,以使现有的 Solidity 代码可移植。请联系[16].

可组合性如何?

如何管理用户密钥?

即使 zkSync 网站被黑,我们的方法也需要通过以太坊钱包另外签名每条消息的方式进行 2 次验证。目前,该签名已由我们的服务器验证,尽管递归 PLONK 证明现在使我们可以将其直接集成到我们的 ZKP 电路中,而无需太多开销。

同时,我们正在与其他团队合作开发通用的以太坊 L2 签名标准,这将使围绕 L2 合约进行交互的用户体验更加令人愉悦。

Zinc Alef 的局限性是什么?

但是,在此阶段,Zinc VM 尚未集成到 zkSync 核心中。Zinc 编程语言中的一些重要功能也可能会丢失。我们将根据社区的要求优先开发功能。

阅读更多比特币相关新闻资讯

区块链新闻,比特币行情,比特币价格分析,数字货币新闻资讯

区块链新闻,比特币行情,比特币价格分析,数字货币新闻资讯